티스토리 뷰

Packet Analyzer & Sniffer (Winsock 2)
012
이 프로그램은 컴퓨터 네트워크를 공부하면서 작성하게된 프로그램입니다. 개발환경으로는 Visual Studio .Net, Winsock 2.0 library 가 이용되었습니다.
Winsock2 에서 제공하는 WSAIoctl(SIO_RCVALL) 옵션을 통해서 소켓을 설정하고, IP 레이어 상단으로 올라오는 패킷중에서 TCP, UDP 수준의 패킷을 분석하여 테이블 형태로 보여주는 것이 주 목적인 프로그램입니다.
차후에 프로그램에 분석 모드를 제공하기위해서 캡쳐된 패킷의 분포도를 담을 수 있도록 차트 모듈을 추가하였습니다.
프로그램의 완성후에 해킹툴이 어떤 것이라는 것을 후배들에게 보여주기위해서 sequential search 수준의 바이너리 패턴 매칭을 통한 packet sniffing 기능을 첨가 하여 동작하는 것을 확인하였습니다.

이 프로그램은 본인의 개인 프로젝트였으며 이 프로그램의 작성을 위해서 TCP, UDP, IP 프로토콜의 구조를 알아야했습니다. 개발툴로는 Visual C++ 을 이용하였으며, WebBrowser ActiveX 컨트롤을 이용하여 기본 분석모드를 작성하였습니다. 분석기능에서 차트 기능의 추가를 위해서 NSChart 라는 모듈을 이용하였습니다.