1.2 와이어 샤크 소개

통신 프로그램은 표준 프로토콜을 준수하는 소켓 라이브러리를 사용합니다. 실제 통신 프로그램을 작성하는 프로그래머는 소켓 라이브러리가 내부적으로 하는 일을 구체적으로 보기 힘듭니다. 더군다나 전송 계층부터 하위 계층까지는 운영체제나 네트워크 디바이스가 담당하여 제대로 흐름을 확인할 수 없습니다.

하지만 네트워크 보안을 비롯하여 안전하고 효과적인 통신을 위해서는 네트워크 흐름을 파악할 줄 알아야 합니다. 이 책에서는 와이어 샤크를 통해 수집한 패킷을 통해 네트워크 흐름을 파악할 것입니다.

와이어 샤크는 오픈 프로젝트로 전 세계 개발자들의 노력에 의해 만들어졌으며 계속 발전하고 있습니다. www.wireshark.org 에서는 와이어 샤크에 관한 자세한 설명과 개발자 정보 등을 제공합니다 특히 와이어 샤크는 무료 소프트웨어임에도 패킷 수집하고 분석하는 네트워크 보안 도구 중에 1위를 차지하고 있습니다.

와이어 샤크는 1.3, 1.5처럼 소수점 이하 첫 번째 자리가 홀수로 표기한 것은 개발 단계의 개발자 버전이며 1.2, 1.4 처럼 짝수는 안정화 과정을 거친 공개 버전입니다.

[그림 4] 와이어 샤크 구조
[그림 4] 와이어 샤크 구조

와이어 샤크는 패킷을 수집하는 부분과 이를 분석하는 코어 엔진과 시각화 부분으로 나눌 수 있습니다. 패킷을 수집하는 부분은 PCAP 라이브러리를 사용하여 패킷을 덤핑하는 dumpcap 부분입니다. 그리고 수집한 패킷을 분석 및 플러그 인, 디스플레이 필터 등을 적용하는 코어 엔진이 있습니다. 코어 엔진에서 분석 및 가공한 것을 시각화하는 것은 그래픽 툴킷이 담당합니다. 특히 와이어샤크에서는 수집한 패킷 정보를 추적 파일로 저장할 수 있고 로딩할 수 있게 Wiretap을 제공합니다.

이 책은 와이어 샤크를 통해 추적 파일의 내용을 통해 TCP/IP 프로토콜을 소개하고 여러가지 현상을 파악할 것입니다.