Winpcap的网络嗅探器的设计与实现提供大家参考
第6期 成 俊 李 芳:基于Winpcap的网络嗅探器的设计与实现
25
定了UDP的起始位置,
就可以解析出原和目的端
口
[6]
S",ltime);
//打印时间戳和数据报长度
printf("%s.%.6dlen:%d",timestr,head-er->_usec,header->len);
//找到IP头的位置
-(ip_header3)(pkt_data+14);//找到UDP的位置
ip_len=(ih->ver_ihl&0xf)34;
uh=(udp_header3)((u_char3)ih+ip_len);
}
。
//定义处理包的函数Voidpacket_handler(u_
解析代码如下:
char3param,conststructpcap_pkthdr3header,constu_char3pkt_data)
{
structtm3ltime;chartimestr
[6]
;
ip_header3ih;udp_header3uh;u_intip_len;u_shortsport,dport;
//将时间戳转换为只读格式ltime=localtime(&header->_sec);
strftime(timestr,sizeoftimestr,"%H:%M:%
6 测试结果
程序运行界面及捕包结果如图3所示
。
图3 程序运行界面及捕包结果
7 结束语
本文简述了Winpcap的结构,分析了网络嗅探器的基本工作原理,给出了网络嗅探器总体结构,并在Windows平台上用VC
++
参考文献
[1] 吴功宜,董大凡,王 ,等.计算机网络高级软件编
程技术[M].北京:清华大学出版社,2008
[2] 谢小特,王勇军.基于Winpcap的捕包程序设计
[J].软件导刊,2007(11):71-72
[3] 胡晓元,史浩山.Winpcap包截获系统的分析及其应
编程实现了基于
Winpcap的网络嗅探器的基本功能。该网络嗅探
器具有结构简单、捕获数据快、协议识别率高等特点。可以在此基础上,根据不同的网络需求开发设计出不同的应用系统,对网络进行控制,通过对局域网中的数据包进行捕获和分析,实时地、动态地对局域网内的所有上网主机进行监视、控制与管理,从而可更好地保护网络的安全。
用[J].计算机工程,2005(1):96-97
[4] 孙萍,徐朝阳,刁鸣.基于Winpcap的以太网监听系
统的设计与实现[J].舰船电子对抗,2007(2):94-95
[5] 庄春兴,彭奇志.基于Winpcap的网络嗅探程序设
计[J].计算机与现代化,2002(5):11-13
[6] 赵辉,叶子青.VisualC
++
系统开发实例精粹[M].北
(责任编辑 梅军进)
京:人民邮电出版社,2005