基于MFC和Winpcap库开发的网络抓包软件
开发环境:Win7 + Visual Studio 2015
- 支持对Ethernet、ARP、IPv4、ICMP、UDP、TCP、DNS、HTTP、DHCP的解析
- ICMP只支持解析类型为3、4、5、11、8、0的报文
- DNS只支持解析类型A、NS、CNAME、PTR的报文
- DHCP只能解析选项0、1、3、6、12、50、51、53、54、60、61、255
- v2.0中
DHCP,DNS,HTTP解析的实现 根据协议名过滤数据包- 数据包保存为.pcap格式文件
鼠标移开list控件,保持选中行高亮- 添加菜单栏
- 优化内存占用率(目前抓取数据包数量很大时,内存占用率高)
过滤后原来位置的底色保持不变- DNS协议无法正确解析回答、授权回答、附加信息区域
数据包16进制字节流格式不对齐按下结束后再开始,界面卡死使用过滤器后,若线程仍在抓包,新抓到的的数据包没有过滤就打印
- 代码重构
- 解决内存泄露问题
- 界面更换为WIN7风格
- 一步一步开发sniffer(Winpcap+MFC)(一)工欲善其事,必先配环境——配置winpcap开发环境
- 一步一步开发sniffer(Winpcap+MFC)(二)掀起你的盖头来,让我来画你的脸——用MFC开发GUI
- 一步一步开发sniffer(Winpcap+MFC)(三)安得广厦千万间,先画蓝图再砌砖——搭建winpcap抓包框架
- 一步一步开发sniffer(Winpcap+MFC)(四)要想从此过,留下协议头——各层网络协议头的实现
- 一步一步开发sniffer(Winpcap+MFC)(五)莫道无人能识君,其实我懂你的心——解析数据包
- 一步一步开发sniffer(Winpcap+MFC)(六)千呼万唤始出来,不抱琵琶也露面——将解析数据写到GUI上
- RFC792 ICMP
- RFC1257 ICMP Router Discovery Messages
- RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
- RFC2132 DHCP Options and BOOTP Vendor Extensions
- WinPcap 4.0.1中文技术文档