首页 > 其他 > 详细

利用Wireshark加Lua分析专有网络协议

时间:2014-03-15 19:45:15      阅读:641      评论:0      收藏:0      [点我收藏+]

实战过程:

1.安装wireshark、lua。
2.利用lua为wirashark写一个协议的dissector,并部署到lua上。
    2.1 参照http://wiki.wireshark.org/Lua/Examples中的例子,进行修改。其中要注意的一点是TCP协议中的粘包现象(如果是UDP则不考虑)。  解决这点的关键是在dissector(buffer, pinfo, tree)函数中设置好以下两个属性(具体含义参见wireshark文档)。
  • pinfo.desegment_len
  • pinfo.desegment_offset
    2.2 把编辑好的lua文件(比如说文件名为ProprietaryProtocol.lua)放到wireshark的安装目录。
    2.3 在wireshark安装目录的init.lua文件中,增加一行,内容为dofile(DATA_DIR.."ProprietaryProtocol.lua")。
3.启动wireshark、启动专有程序。
之后就可以在wireshark中监听并分析专有协议的数据包了。

另外,关于监听127.0.0.1地址,有两个坑要注意避开:
1.wireshark是监听不了127.0.0.1地址的(原因见wireshark官网http://wiki.wireshark.org/CaptureSetup/Loopback)。
2.即使你把程序的远程IP地址修改为本地的IP地址(就是在ipconfig中看到的地址),有的通信底层库仍然会自动与127.0.0.1建立连接。
避开的一种方式是借助于rawcap软件。基本步骤为:
1.下载rawcap(可搜索官网下载)。
2.在window下的cmd中进行"rawcap.exe 127.0.0.1 capture.cap"。其中capture.cap是用于dump数据包的文件名。
3.运行自己的专有程序。
之后rawcap就会把在127.0.0.1地址上监听到的数据包记录到capture.cap文件。
以上步骤运行结束后,关闭rawcap,在wireshark中打开capture.cap文件,就可以进行分析数据包了。
当然,借助于rawcap后,就只能进行离线分析。

下面是运行截图,其中红框内的部分都是专有协议的内容。各个字段都解析了出来,看起来还是很爽的。

bubuko.com,布布扣


利用Wireshark加Lua分析专有网络协议,布布扣,bubuko.com

利用Wireshark加Lua分析专有网络协议

原文:http://blog.csdn.net/jiangfuqiang/article/details/21294573

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!