본문 바로가기

과제모음

Winpcap 아키텍쳐를 사용한 Packet Sniffer tool with MFC

1학기 졸업과제로 진행하였던 Winpcap 아키텍쳐를 사용한 패킷 모니터링 툴입니다. Winpcap 아키텍쳐를 MFC에 포팅하여서 Cygwin없이 Windows 환경에서 구현을 하였습니다. 와어어 샤크를 롤모델로 삼고 개발에 임하였습니다. 교수님의 제안으로 모니터링 툴로 이름을 변경하였지만 일종의 패킷스니퍼(packet sniffer)라고 생각 하시면 되겠습니다. 여기에 IP 나 MAC 변조 기능을 갈고 수신 정보만 출력하게 한다면 스니퍼처럼 작동을 할겁니다. 사실 보안 툴이 어떻게 사용하냐에 따라서 180도 바뀌게 되죠.

먼저 프로그램이 실행되면, 네트워크 디바이스 리스트들을 읽어와서 출력을 해줍니다. 유저가 해당 디바이스를 선택하여 패킷 캡쳐를 누르면 해당 디바이스로 입출력되는 모든 패킷이 모니터링 되며 선택하면 패킷의 세부정보를 읽어 올 수 있습니다. Winpcap 튜토리얼과 Doc 을 기준으로 콘솔기반으로 제작을 한 후에 MFC 윈도우 프로그래머 두명을 팀으로 섭외하여 포팅하였습니다.

추가적인 사안으로는 아랫부분에 실시간으로 ARP, UDP, TCP 프로토콜의 트래픽양을 프로그레스 바를 사용하여 실시간으로 어느정도 모니터링이 되고 있는지 파악이 가능한 부분을 구현하였습니다. 프로그램 코드 상으로 대역폭의 최대피를 변경해 준다면, 최대 대역폭까지 어느정도 감당이 가능한지 설정이 가능합니다.