现在的位置: 首页 > 综合 > 正文

wireShark 代码分析

2012年12月04日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭

应用中需要识别应用层协议,可以使用wireshark

具体的代码使用的参考:
wireShark 1.6.5依赖于winpcap 4.1.2版本

 

WireShark winpcap区别

winpcap是链路层的抓包[采用驱动程序,和TCP/IP协议栈工作于一个层次,平行的结构]

WireShark 是对数据包的分析,执行多种协议,插件结构实现,方便扩展

 

编译方法

developer-guide-us.pdf 是开发文档,用前看一遍

1、wireshark-win32-libs-1.6.rar:是各种第三方库,默认编译需要联网
脱机时处理办法:将内容放到C:\wireshark-win32-libs-1.6下

2、修改 wireshark源代码包中 config.nmake 使用VS2010

3、进入VS的命令行,即可编译 nmake -f makefile.nmake all
distclean

清理
verify_tools 检查依赖库

 

跟踪方法

默认的编译结果在C:\wireshark\wireshark-gtk2 目录下,wireshark.exe是主程序

1、运行wireshark.exe

2、VS附上该进程
3、在代码中设置断点,即可进入

 

代码说明

默认 C:\wireshark\epan\dissectors 下是各种协议的解析代码
协议解析是按照树形的插件结构进行的

如http mysql是基于tcp之上的,则解析时先进入packet-tcp.c再进入packet-mysql.c

参考 

http://blog.sina.com.cn/s/blog_6d42182e0100z1w1.html

http://www.wisestudy.cn/opentech/opentech_wireshark_codeanalysis.html

http://code.google.com/p/wiresharkplugin/

 

抱歉!评论已关闭.