Wireshark解析HTTP GET方法不会解析URI里Query字符串里的参数(通常由GET方式提交form数据),本文介绍用lua编写一个简单的协议解析器,让这些参数解析出来,并显示在wireshark协议解析窗口里。
首先编写以下解析器lua脚本(用文本编辑器编辑即可),,取文件名为my_http_querystring_decoder.lua:
然后修改wireshark安装目录下的init.lua文件:
(1)把disable_lua = true; do return end;这行注释掉:在前面加“–”
(2)然后在init.lua文件最后面加一句:dofile(“my_http_querystring_decoder.lua”)
OK大功告成,打开HTTP抓包,若其请求中URI带QueryString,则界面如下:
可以看到,在协议解析树上新增了Decoded HTTP URI Query String… 节点。看该节点下[HTTP Request URI]为原始HTTP Request URI,[Decoded Query String]下为解开后的一个个参数(经过url decode)。而且在wireshark的“Packet Bytes”窗口里新增了一个“Decoded HTTP URI Query String”的数据tab,专门显示HTTP URI内容,用于显示参数在URL里的原始形式。
另外,如果要解析HTTP Body部分的参数(用POST方法提交form数据),请参考《用Wireshark lua编写的协议解析器查看Content-Type为application/x-www-form-urlencoded的HTTP抓包》()。
注:wireshark版本为1.3.4
我也相信爱可以排除万难;只是,万难之后,又有万难。这是我更相信的。