스크랩

구간

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

에릭 추 저 | 전성빈 역 | 에이콘출판 | 2019년 10월

미리보기 북트리

정가
$70.00
판매가
$51.03 (27%↓) 최저가 보상
적립금
$1.02 (2%P)

품절된 상품입니다.

이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.

북카트 바로구매 위시리스트

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791161753638 / 548쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

이 책의 구성 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)를 사용해 코드를 검증하는 간단한 테스트 수행 방법을 알아본다. 또한 네트워크의 도달성, 지연, 보안, 트랜잭션 등을 검증하기 위한 테스트 작성 예시를 살펴본다. 아울러 이런 테스트를 젠킨스와 같은 지속적 통합 도구와 함께 사용하는 방법을 제시한다.

저자 소개

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

역자 : 전성빈
연세대학교 기계공학과를 졸업하고, 동 대학원에서 이미지 프로세싱을 주제로 박사 학위를 받았다. 이맥스를 사용하며, 웹 프로그래밍을 이용한 지식의 구조화에 꾸준한 관심을 갖고 있다.

역자 소개

  • 역자 : 전성빈


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


 

머리말

★ 지은이의 말 ★

이 책은 파이썬으로 네트워크 엔지니어링 작업을 수행한다. 파이썬은 배우기 쉬운 고레벨 프로그래밍 언어로 네트워크 엔지니어의 창의성과 문제 해결 능력을 실무에 유연하게 적용할 수 있게 한다. 파이썬은 대규모 네트워크를 구성하는 데 없어서는 안 될 언어가 되고 있다. 이 책에서는 파이썬으로 네트워크를 구성하는 데 필요한 기법도 함께 소개한다.
1판이 출간된 이후 많은 독자와 흥미롭고 깊은 대화를 나눌 수 있었다. 1판의 성공에 안주하지 않고 피드백을 적극 받아들여 2판에서는 최신 예제와 기술을 소개하려 노력했다. 예를 들어 오픈플로우(OpenFLow) SDN 관련 내용은 네트워크 데브옵스 도구로 대체했다. 이런 노력이 독자에게 더 많은 도움이 됐으면 하는 바람이다.
시대의 변화는 기술이 발전하는 중대한 기회가 찾아옴을 뜻한다. 이 책에서 소개하는 개념과 방법은 내 커리어에 중요한 비중을 차지한다. 독자에게도 도움이 되기를 바란다.

 

★ 옮긴이의 말 ★

파이썬의 장점으로 가장 많이 이야기되는 것은 범용성과 유연함이다. 파이썬은 가장 빠른 언어도 아니고, 가장 쉽게 배울 수 있는 언어도 아니며, 가장 정교하고 기능이 풍부한 언어도 아니다. 그러나 기존의 수많은 라이브러리를 적절히 사용하면 거의 모든 문제를 간단하게 해결할 수 있다는 점은 파이썬이 가진 큰 무기다. 다시 말해 파이썬은 다른 어떤 언어보다도 결과물을 만들어내는 속도에 있어서 빠르다는 장점이 있다(물론 파이썬이 그다지 느린 언어도 아니다).
그리고 네트워크 프로그래밍이 있다. 일반적으로 장고(Django)나 플라스크(Flask) 등의 웹 프레임워크가 파이썬을 네트워크 분야에 사용하는 방법으로 알려져 있지만, 파이썬의 유연함과 자동화 기능은 파이썬을 사용하는 다양한 분야에서의 응용할 수 있게 만든다. 그리고 벤더에 의해 폐쇄적으로 구축되던 네트워크 프로그래밍은 점점 개방되고 표준화되는 방향으로 급격히 변화하고 있다. 이 과정에서 파이썬은 큰 역할을 하고 있다.
저자는 실무자들이 빠른 변화에 대응할 수 있는 방법을 제시한다. 파이썬이나 네트워크 프로그래밍의 기초보다는 실제로 어떻게 네트워크를 자동화할 수 있는지에 중점을 두고 설명한다. 저자의 오랜 경험이 반영된 많은 예제는 실무에서 파이썬을 바로 적용할 수 있는 지름길 역할을 한다. 특히 2판은 가장 최신의 네트워킹 실무 트렌드를 반영하기 위해 1판이 나온 지 불과 1년밖에 되지 않았지만 클라우드 네트워킹이나 깃, 데브옵스 등 많은 내용을 고치고 덧붙였다. 이 책은 파이썬을 사용해서 지금보다 한 걸음 더 나아가고 싶은 네트워크 개발자에게 많은 도움이 될 것이다.


 

목차

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와 젠킨스
젠킨스 통합

top