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

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

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

에릭추

18년넘게일해온전문가다.아마존AWS와마이크로소프트애저등의기업에근무하면서업계의가장큰네트워크관리를맡아왔다.네트워크자동화와파이썬에관심이있고,기업이좀더안정된보안을구축할수있게돕고있다.파이썬및네트워크보안관련책을여러권썼고,온라인강의를제공하며,현재음성인터넷프로토콜관련특허를두개나보유하고있다.책,강의,블로그에서기술에관한이야기를나누며,유명파이썬오픈소스프로젝트에기고한다.

목차

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

__인터넷의개요
____서버,호스트,네트워크컴포넌트
____데이터센터의등장
________엔터프라이즈데이터센터
________클라우드데이터센터
________엣지데이터센터
__OSI모델
__클라이언트-서버모델
__네트워크프로토콜스위트
__TCP
________TCP의기능과특성
________TCP메시지와데이터전달
____UDP
____IP
________IPNAT과보안
________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
____기기IDAPI
__네트워크동적동작
____비동기작업
__보안
__추가리소스
__요약


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

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


11장.깃사용하기

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


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


13장.네트워크를위한TDD

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

출판사 서평

★이책에서다루는내용★
■파이썬라이브러리를사용한네트워크상호작용
■앤서블2.5와파이썬을결합한Cisco,Juniper,AristaeAPI제어
■기존프레임워크를통한고레벨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)를사용해코드를검증하는간단한테스트수행방법을알아본다.또한네트워크의도달성,지연,보안,트랜잭션등을검증하기위한테스트작성예시를살펴본다.아울러이런테스트를젠킨스와같은지속적통합도구와함께사용하는방법을제시한다.