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 |
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: :

Author Introduction
에릭 추(지은이)
16년 경력을 가진 전문가다. 아마존과 마이크로소프트 등 거대한 기업의 네트워크 관리 경력이 있으며, 네트워크 자동화와 파이썬에 관심이 많다. 파이썬 강사, 블로거로서 자신의 지식을 나누고 있으며, 몇몇 유명한 파이썬 오픈 소스 프로젝트에 활발히 기여하고 있다. 음성 인터넷 프로토콜에 대한 두 종류의 특허를 보유하고 있으며, A10 Networks의 수석 엔지니어로서 보안 분야의 제품 연구와 개발에 전념하고 있다.
전성빈(옮긴이)
연세대학교 기계공학과를 졸업하고, 동 대학원에서 이미지 프로세싱을 주제로 박사 과정을 수행 중이다. 이맥스(Emacs)를 사용하며, 웹 프로그래밍을 이용한 지식의 구조화에 꾸준한 관심을 갖고 있다.

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와 젠킨스 ____젠킨스 통합 __요약