HOME > Detail View

Detail View

파이썬 네트워킹 마스터 : 파이썬으로 하는 네트워크 자동화, 데브옵스, 테스트 주도 개발 (Loan 4 times)

Material type
단행본
Personal Author
Chou, Eric 전성빈, 역
Title Statement
파이썬 네트워킹 마스터 : 파이썬으로 하는 네트워크 자동화, 데브옵스, 테스트 주도 개발 / 에릭 추 지음 ; 전성빈 옮김
Publication, Distribution, etc
서울 :   에이콘,   2019  
Physical Medium
547 p. : 삽화 ; 24 cm
Series Statement
에이콘 네트워크 프로그래밍 시리즈
Varied Title
Mastering Python networking : your one-stop solution to using Python for network automation, DevOps, and test-driven development (2nd ed.)
ISBN
9791161753638
General Note
색인수록  
Subject Added Entry-Topical Term
Application software --Development Computer networks --Management
000 00000nam c2200205 c 4500
001 000046004719
005 20191106160444
007 ta
008 191105s2019 ulka 001c kor
020 ▼a 9791161753638 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2019z32
100 1 ▼a Chou, Eric
245 1 0 ▼a 파이썬 네트워킹 마스터 : ▼b 파이썬으로 하는 네트워크 자동화, 데브옵스, 테스트 주도 개발 / ▼d 에릭 추 지음 ; ▼e 전성빈 옮김
246 1 9 ▼a Mastering Python networking : ▼b your one-stop solution to using Python for network automation, DevOps, and test-driven development ▼g (2nd ed.)
260 ▼a 서울 : ▼b 에이콘, ▼c 2019
300 ▼a 547 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 에이콘 네트워크 프로그래밍 시리즈
500 ▼a 색인수록
630 0 0 ▼a Python (Computer program language)
650 0 ▼a Application software ▼x Development
650 0 ▼a Computer networks ▼x Management
700 1 ▼a 전성빈, ▼e
900 1 0 ▼a 추, 에릭, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.133 P999 2019z32 Accession No. 121250890 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

급격히 변화하는 네트워킹 분야에서 파이썬 등을 활용한 네트워크 관리와 엔지니어링의 중요성은 나날이 커지고 있다. 이 책은 기존 네트워크 개발자들을 대상으로 자동화, 보안, 모니터링, 테스트 등 다양한 분야에서 파이썬을 도입하는 방법을 제시한다. 또한 실무에서 사용하는 풍부한 예제를 통해 독자들이 필요한 분야에 곧바로 적용할 수 있도록 했다. 개정판은 AWS, 데브옵스 등 최신 트렌드를 반영해 더 풍부한 내용을 담았다.

★ 이 책에서 다루는 내용 ★

■ 파이썬 라이브러리를 사용한 네트워크 상호작용
■ 앤서블 2.5와 파이썬을 결합한 Cisco, Juniper, Arista eAPI 제어
■ 기존 프레임워크를 통한 고레벨 API 구축
■ AWS 클라우드에 가상 네트워크 구축
■ 젠킨스를 사용한 네트워크 변경사항 자동 배포
■ PyTest 및 Unittest를 사용한 테스트 주도 네트워크 개발

★ 이 책의 대상 독자 ★

이미 여러 종류의 네트워크 기기를 관리하고 있으며, 파이썬이나 다른 도구를 사용해 네트워크 관련 문제를 해결하고 싶어하는 IT 전문가나 실무 엔지니어를 대상으로 한다. 네트워킹과 파이썬의 기본 지식은 미리 습득해 두기를 바란다.

★ 이 책의 구성 ★

1장, 'TCP/IP 프로토콜과 파이썬 개괄'에서는 인터넷 커뮤니케이션을 구성하는 기본 기술, OSI와 클라이언트-서버 모델에서부터 TCP, UDP, IP 프로토콜 스위트까지 다룬다. 또한 파이썬 소개와 형식, 오퍼레이터, 반복문, 함수, 패키지 등을 간단히 다룬다.
2장, '저레벨 네트워크 기기 상호작용'에서는 예시를 통해 파이썬으로 네트워크 기기에 명령을 실행시키는 방법을 알아본다. 이 결과로 CLI 기반 인터페이스를 자동화할 때의 어려움을 확인하게 될 것이다. PExpect와 Paramiko 라이브러리를 사용한다.
3장, 'API와 목적 중심 네트워킹'에서는 애플리케이션 프로그램 인터페이스 API와 고레벨 상호작용 메서드를 지원하는 최신 네트워크 기기를 다룬다. 네트워크 엔지니어가 파이썬을 통해 목적에 집중하면서 저레벨 작업을 수행하는 방법도 알아본다. 이 책에서는 많은 API 중 시스코 NX-API, 주니퍼 PyEZ, 아리스타 Pyeapi를 예시로 살펴본다.
4장, '파이썬 자동화 프레임워크 - 앤서블 기초'에서는 파이썬 기반 오픈 소스 자동화 프레임워크인 앤서블(Ansible)을 살펴본다. 앤서블은 API에서 한 단계 더 나아가 네트워크 목적과 디바이스 상호작용 구현에 초점을 맞추고 있다. 이 장에서는 앤서블의 장점, 구조, 시스코(Cisco), 주니퍼(Juniper), 아리스타(Arista) 기기 등에 적용하는 실제 예제를 알아본다.
5장, '파이썬 자동화 프레임워크 - 앤서블 심화'에서는 4장에서 다룬 내용을 토대로 앤서블의 고급 개념인 조건문, 반복문, 템플릿, 변수, 앤서블 볼트, 역할 등을 살펴본다. 사용 중인 네트워크 환경에 맞는 앤서블 모듈을 직접 작성하는 기본 방법도 알아본다.
6장, '파이썬 네트워크 보안'에서는 네트워크의 보안 강화에 사용되는 파이썬 도구를 알아본다. 스카피(Scapy)를 이용한 보안 테스팅, 앤서블을 통한 접근 목록 구축, 파이썬을 사용한 포렌식 분석 등을 살펴본다.
7장, '파이썬 네트워크 모니터링 I'에서는 다양한 도구를 사용해 네트워크를 모니터링하는 방법을 알아본다. SNMP와 PySNMP를 사용해 기기 정보부터 알아낸 다음 맷플롯립(Matplotlib)과 파이갤(Pygal)을 사용해 결과를 시각화한다. 마지막으로 칵티(Cacti) 예제를 통해 파이썬 스크립트를 입력 소스로 활용하는 방법을 살펴본다.
8장, '파이썬 네트워크 모니터링 II'에서는 더 많은 네트워크 모니터링 도구를 살펴본다. 우선 그래프비즈(Graphviz)를 통해 LLDP에서 자동으로 정보를 받아와 네트워크 그래프를 그리는 방법을 알아본다. 다음으로 넷플로우(NetFlow) 또는 유사한 기술을 사용해 푸시 기반 네트워크 모니터링을 수행한다. 또한 파이썬을 사용해 패킷 정보를 디코딩해 플로우 정보를 시각화한다. 마지막으로 일래스틱서치(Elasticsearch)를 설치해 네트워크 모니터링을 보안하는 방법을 살펴본다.
9장, '파이썬을 사용한 네트워크 웹 서비스 구축'에서는 파이썬 웹 프레임워크인 플라스크(Flask)를 사용해 네트워크 레벨에서 API를 직접 만드는 방법을 알아본다. 네트워크 레벨 API는 네트워크 환경과 무관하게 리퀘스트를 처리하거나, 원하는 대로 동작을 변경하거나, 필요한 동작만을 노출해 보안을 강화하는 장점이 있다.
10장, 'AWS 클라우드 네트워킹'에서는 AWS를 사용해 기능적이고 유연한 가상 네트워크 구축 방법을 살펴본다. 또한 CloudFormation, VPC 라우팅 테이블, 접근 목록, 일래스틱 IP, NAT 게이트웨이, 다이렉트 커넥트 등 관련 주제도 알아본다.
11장, '깃 사용하기'에서는 깃(Git)을 사용해 협업과 코드 버전 제어를 구현하는 방법에 대해 알아본다. 깃을 네트워크 작업에 사용하는 실용적인 예시를 소개한다.
12장, '젠킨스를 사용한 지속적 통합'에서는 젠킨스를 사용해 동작 파이프라인을 자동으로 생성함으로써 시간과 신뢰성을 향상시키는 방법을 알아본다.
13장, '네트워크를 위한 TDD'에서는 파이썬 유닛테스트(unittest) 및 파이테스트(PyTest)를 사용해 코드를 검증하는 간단한 테스트 수행 방법을 알아본다. 또한 네트워크의 도달성, 지연, 보안, 트랜잭션 등을 검증하기 위한 테스트 작성 예시를 살펴본다. 아울러 이런 테스트를 젠킨스와 같은 지속적 통합 도구와 함께 사용하는 방법을 제시한다.


Information Provided By: : Aladin

Author Introduction

에릭 추(지은이)

16년 경력을 가진 전문가다. 아마존과 마이크로소프트 등 거대한 기업의 네트워크 관리 경력이 있으며, 네트워크 자동화와 파이썬에 관심이 많다. 파이썬 강사, 블로거로서 자신의 지식을 나누고 있으며, 몇몇 유명한 파이썬 오픈 소스 프로젝트에 활발히 기여하고 있다. 음성 인터넷 프로토콜에 대한 두 종류의 특허를 보유하고 있으며, A10 Networks의 수석 엔지니어로서 보안 분야의 제품 연구와 개발에 전념하고 있다.

전성빈(옮긴이)

연세대학교 기계공학과를 졸업하고, 동 대학원에서 이미지 프로세싱을 주제로 박사 과정을 수행 중이다. 이맥스(Emacs)를 사용하며, 웹 프로그래밍을 이용한 지식의 구조화에 꾸준한 관심을 갖고 있다.

Information Provided By: : Aladin

Table of Contents

1장. TCP/IP 프로토콜과 파이썬 개괄

__인터넷의 개요
____서버, 호스트, 네트워크 컴포넌트
____데이터 센터의 등장
________엔터프라이즈 데이터 센터
________클라우드 데이터 센터
________엣지 데이터 센터
__OSI 모델
__클라이언트-서버 모델
__네트워크 프로토콜 스위트
__TCP
________TCP의 기능과 특성
________TCP 메시지와 데이터 전달
____UDP
____IP
________IP NAT과 보안
________IP 라우팅
__파이썬 개요
____버전
____운영 체제
____파이썬 프로그램 실행하기
____내장 자료형
________None형
________숫자형
________나열형
________매핑형
________세트형
____연산자
____제어 흐름
____함수
____클래스
____모듈과 패키지
__요약


2장. 저레벨 네트워크 기기 상호작용

__CLI의 어려움
__가상 네트워크 랩 만들기
____시스코 VIRL
________VIRL 팁
____시스코 데브넷과 디클라우드
____GNS3
__파이썬 Pexpect 라이브러리
____설치
____Pexpect 개요
____첫 번째 Pexpect 예제
____Pexpect 좀 더 살펴보기
____Pexpect와 SSH
____정리
____파이썬 Paramiko 라이브러리
____설치
____Paramiko 개요
____첫 번째 Paramico 예제
____심화 기능
________서버 관리
____정리
__논의
____Pexpect와 Paramiko 사용 시 주의할 점
________멱등 네트워크 기기 상호작용
________빠른 자동화와 오작동
__요약


3장. API와 목적 중심 네트워킹

__코드로서의 인프라스트럭처
____목적 중심 네트워킹
____스크린 스크래핑과 API 구조 출력
____데이터 모델링 인프라스트럭처 코드
__시스코 API와 ACI
____시스코 NX-API
________설치와 기기 준비
________NX-API 예제
____시스코와 YANG 모델
____시스코 ACI
__주니퍼 네트워크 파이썬 API
____주니퍼와 NETCONF
________준비 사항
________주니퍼 NETCONF 예제
____주니퍼 PyEZ
________설치와 준비 사항
________PyEZ 예제
__아리스타 파이썬 API
____아리스타 eAPI 관리 도구
________eAPI 준비
________eAPI 예제
____아리스타 Pyeapi 라이브러리
________Pyeapi 설치
________Pyeapi 예제
__범용 라이브러리
__요약


4장. 파이썬 자동화 프레임워크 - 앤서블 기초

__더 선언적인 프레임워크
__간단한 앤서블 예제
____컨트롤 노드 설치
____다른 버전의 앤서블 실행하기
____랩 셋업
____첫 번째 앤서블 플레이북
________공개 키 인증
________인벤토리 파일
________플레이북 만들기
__앤서블의 장점
____에이전트가 필요 없음
____멱등
____단순함과 확장성
____네트워크 벤더 지원
__앤서블 구조
____YAML
____인벤토리
____변수
____진자2 템플릿
__앤서블 네트워킹 모듈
____로컬 연결과 환경 변수
____제공자 매개변수
__앤서블 시스코 예제
____앤서블 2.5 연결 예제
__앤서블 주니퍼 예제
__앤서블 아리스타 예제
__요약


5장. 파이썬 자동화 프레임워크 - 앤서블 심화

__앤서블 조건문
____when 절
____앤서블 네트워크 팩트
____네트워크 모듈 조건문
__앤서블 반복문
____표준 반복문
____딕셔너리 반복문
__템플릿
____진자2 템플릿
____진자2 반복문
____진자2 조건문
__그룹과 호스트 변수
____그룹 변수
____호스트 변수
__앤서블 볼트
__앤서블 include와 역할
____앤서블 include 문
____앤서블 역할
__사용자 모듈 작성하기
____사용자 모듈: 첫 번째
____사용자 모듈: 두 번째
__요약


6장. 파이썬 네트워크 보안

__랩 설정
__파이썬 스카피
____스카피 설치
____대화형 예제
____스니핑
____TCP 포트 스캔
____핑 콜렉션
____네트워크 공격
____스카피 리소스
__접근 목록
____앤서블을 통한 접근 목록 구현
____MAC 접근 목록
__Syslog 검색
____RE 모듈 검색
__그 밖의 도구
____사설 VLAN
____UFW와 파이썬
____참고 자료
__요약


7장. 파이썬 네트워크 모니터링 I

__랩 설정
__SNMP
____설정
____PySNMP
__파이썬 데이터 시각화
____맷플롯립
________설치
________기본 예제
________맷플롯립을 통한 SNMP 결과 출력
________추가 맷플롯립 리소스
____파이갤
________설치
________기본 예제
________파이갤을 이용한 SNMP 출력
________추가 파이갤 리소스
__파이썬과 칵티
____설치
____파이썬 스크립트를 통한 데이터 입력
__요약


8장. 파이썬 네트워크 모니터링 II

__그래프비즈
____랩 설정
____설치
____그래프비즈 예제
____파이썬 그래프비즈 예제
____LLDP 이웃 그래프
________정보 취득
________파이썬 파서 스크립트
________최종 플레이북
__플로 기반 모니터링
____파이썬을 이용한 넷플로우 파싱
________파이썬 소켓과 구조체
____ntop 트래픽 모니터링
________ntop 파이썬 확장 기능
____에스플로우
________파이썬을 이용한 sFlowtool과 sFlow-RT
__일래스틱서치(ELK 스택)
____호스팅 ELK 서비스 설정
____로그스태시 형식
____로그스태시 포매팅을 위한 파이썬 헬퍼 스크립트
__요약


9장. 파이썬을 사용한 네트워크 웹 서비스 구축

__파이썬 웹 프레임워크 비교
__플라스크와 랩 설정
__플라스크 들어가기
____HTTPie 클라이언트
____URL 라우팅
____URL 변수
____URL 생성
____jsonify 반환
__네트워크 정적 콘텐츠 API
____Flask-SQLAlchemy
____네트워크 콘텐츠 API
____기기 API
____기기 ID API
__네트워크 동적 동작
____비동기 작업
__보안
__추가 리소스
__요약


10장. AWS 클라우드 네트워킹

__AWS 설치
____AWS CLI와 파이썬 SDK
__AWS 네트워크 개요
__가상 사설 클라우드
____라우팅 테이블과 라우팅 타겟
____CloudFormation을 통한 자동화
____보안 그룹과 네트워크 ACL
____탄력적 IP
____NAT 게이트웨이
__다이렉트 커넥트와 VPN
____VPN 게이트웨이
____다이렉트 커넥트
__네트워크 스케일링 서비스
____탄력적 로드 밸런싱
____라우트53 DNS 서비스
____클라우드프론트 CDN 서비스
__그 밖의 AWS 네트워크 서비스
__요약


11장. 깃 사용하기

__깃 소개
____깃의 장점
____깃 용어
____깃과 깃허브
__깃 설정
____Gitignore
__깃 사용 예제
____깃허브 예제
________풀 리퀘스트를 통한 협업
__깃과 파이썬
____GitPython
____PyGitHub
__설정 백업 자동화
__깃으로 협업하기
__요약


12장. 젠킨스를 통한 지속적 통합
__전통적인 변화 관리 프로세스
__지속적 통합의 소개
__젠킨스 설치
__젠킨스 예제
____첫 번째 작업: 파이썬 스크립트
____젠킨스 플러그인
____지속적 네트워크 통합 예제
__젠킨스와 파이썬
__지속적 네트워크 통합
__요약


13장. 네트워크를 위한 TDD

__TDD의 개요
____용어
__코드로서의 토폴로지
____파이썬 unittest 모듈
__파이썬 테스트: 심화
____pytest 예제
__네트워크 테스트 작성하기
____접근성 테스트
____네트워크 지연 테스트
____보안 검사
____트랜잭션 테스트
____네트워크 설정 테스트
____앤서블 테스트
__Pytest와 젠킨스
____젠킨스 통합
__요약

New Arrivals Books in Related Fields

Zumstein, Felix (2022)