제1장 파이썬(Python 프로그래밍 1
1-1. 파이썬 환경 3
1-2. 변수(variable 51-3. 제어 구문(control statement 17
1-4. 함수(function 27
1-5. 클래스(class 30
1-6. 모듈(module 36
제2장 네트워크 기본 개념 41
2-1. 네트워크 기본 개념 43
2-2 TCP 네트워크 프로그래밍 66
2-3 UDP 네트워크 프로그래밍 75
제3장 GNS3를 이용한 실습 네트워크 구성 83
3-1. GNS3란 85
3-2 설치 후 사용방법 90
3-3 GNS3를 이용한 가상 실습망 구축 95
3-4 VirtualBox를 이용한 가상 실습망 구축 100
3-5 VMware를 이용한 가상 실습망 구축 103
제4장 네트워크 스캔(Scan 공격 105
4-1. IP Scan 프로그램 107
4-2 Port Scan 프로그램 112
4-3 nmap 설치 116
4-4 nmap Scan 프로그램 123
제5장 스카피(Scapy 135
5-1. 스카피(Scapy 137
5-2 패킷 만들기 142
5-3 패킷 스니핑(Packet Sniffing 144
5-4 스카피 포트스캔 160
5-5 패킷 인젝션(Packet Injection 165
이 책은 정보보안, 사물인터넷(IoT, 빅데이터 분야 등에서 파이썬(python 사용은 어제 오늘의 일이 아닙니다. Codeeval에서 매년 100만이 넘는 사용자들을 대상으로 하는 프로그래밍 언어 인기통계에서 파이썬은 1위를 차지하고 있습니다. 왜 이렇게 많은 사람들이 파이썬을 사용하는 걸까요? 여기에는 많은 이유가 있을 수 있습니다. 파이썬은 고급 프로그래밍 언어로서 읽기 편하고 사용하기 쉽다는 특징을 갖고 있다는 것이 한 가지 이유일 것입니다. 그리고, 파이썬에는 잘 설계된 내장 라이브러리와 표준 라이브러리, 서드파티 오픈소스 라이브러리와 모듈이 매우 방대하게 제공된다는 것이 무엇보다 주요한 원인일 것입니다. 특히 보안 영역에서는 파이썬의 활용도가 매우 높아지고 있습니다.
이 책은 파이썬 뿐만 아니라 프로그래밍 언어에 익숙하지 않은 독자들도 쉽게 따라할 수 있도록 1장에서 파이썬의 기초적 문법을 다루고 있습니다. 그러나 언어 중심의 기술보다는 나머지 장들의 내용을 이해하고 따라갈 수 있는 정도의 깊이로 설명하였습니다. 조금 깊이 있는 사항은 프로그램을 작성하면서 주석이나 각주로 설명을 보충하도록 하였으므로 파이썬 경험이 있는 독자는 1장을 건너뛰어도 무방합니다. 2장에서는 네트워크에 대한 기본 개념을 이해하고 인터넷의 기본 프로토콜인 TCP/UDP 통신 프로그램을 실습할 수 있도록 구성하였습니다. 3장에서는 GNS3를 이용하여 실습 네트워크를 구성하며 4장에서는 nmap이라는 툴을 이용한 프로그래밍을 소개하고 5장에서는 스카피를 이용하여 패킷을 스캔하고 인젝션하는 방법으로 구성하였습니다. 마지막으로 부록에서는 이 책의 프로그램들을 작성하고 테스트하기 위한 실습환경 구축을 위한 프로그램 설치를 단계적으로 안내하고 있습니다.
이 책의 목적은 독자들이 네트워크 보안에 관련된 파이썬 프로그램의 기초적인 개념을 이해하고, 실습을 통해서 네트워크 관련 모듈 등의 사용법을 익힘으로써 보안 프로그래밍 능력을 배양하도록 하는 데 있습니다.