我正在调试一个HTTP REST接口,其中客户端和服务器都是用java编写的(即没有JavaScript而且没有运行浏览器)
为了可视化HTTP交换,我可以单击一个数据包并按照TCP流进行操作,这将只向我显示HTTP层,但我必须在每个TCP流的基础上执行此操作。
我有一种感觉,我没有使用正确的工具(wireshark)或我使用它错了。你们是怎么做到的?
注意:我知道firebug和类似的工具,但请记住我没有涉及所有这些的浏览器
注意2:我希望这个问题对更多人有用,所以欢迎所有平台。但是我个人需要Linux中的东西
答案 0 :(得分:1)
Bro是适合您用例的工具。它自动重新组装TCP流并在顶部运行应用层(例如,HTTP)解析器。 Bro在Linux上运行良好已经在网络测量和网络安全社区得到广泛采用。
在您的情况下,按如下方式运行Bro:
bro -C -r <trace>
并检查生成的http.log
。它应该看起来像这样(在右端修剪):
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path http
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p trans_depth method host uri referrer user_agent request_body_len response_body_len status_code status_msg
#types time string addr port addr port count string string string string string count count count string count string string table[enum] string string table[string] string string file
1258535653.087137 an7i43AgB5h 192.168.1.104 1191 65.54.95.64 80 1 HEAD download.windowsupdate.com /v9/windowsupdate/redir/muv4wuredir.cab?0911180916 - Windows-Update-Agent 0 0
1258535655.525107 qPXo2uv96I5 192.168.1.104 1192 65.55.184.16 80 1 HEAD www.update.microsoft.com /v9/windowsupdate/selfupdate/wuident.cab?0911180916 - Windows-Update-Agent 0 0
1258535656.495997 9vr3tgviuu6 192.168.1.104 1193 65.54.95.64 80 1 HEAD download.windowsupdate.com /v9/windowsupdate/a/selfupdate/WSUS3/x86/Other/wsus3setup.cab?0911180916 - Windows-Update
随附的工具bro-cut
允许您将输出减少到您需要的字段,例如:
bro-cut id.orig_h id.resp_h method host uri < http.log | head
一些示例输出:
192.168.1.104 65.54.95.64 HEAD download.windowsupdate.com /v9/windowsupdate/redir/muv4wuredir.cab?0911180916192.168.1.104 65.55.184.16 HEAD www.update.microsoft.com /v9/windowsupdate/selfupdate/wuident.cab?0911180916
192.168.1.104 65.54.95.64 HEAD download.windowsupdate.com /v9/windowsupdate/a/selfupdate/WSUS3/x86/Other/wsus3setup.cab?0911180916192.168.1.104 65.54.95.64 GET download.windowsupdate.com /v9/windowsupdate/a/selfupdate/WSUS3/x86/Other/wsus3setup.cab?0911180916
192.168.1.104 65.54.95.64 HEAD download.windowsupdate.com /v9/windowsupdate/redir/muv4wuredir.cab?0911180916192.168.1.104 65.54.95.64 HEAD download.windowsupdate.com /v9/windowsupdate/redir/muv4wuredir.cab?0911180916
192.168.1.102 212.227.97.133 POST 212.227.97.133 /rpc.html?e=bl
192.168.1.102 87.106.1.47 POST 87.106.1.47 /rpc.html?e=bl
192.168.1.102 87.106.1.89 POST 87.106.1.89 /rpc.html?e=bl
192.168.1.102 87.106.12.47 POST 87.106.12.47 /rpc.html?e=bl
答案 1 :(得分:1)
Fiddler是Web开发人员必备的,但仍可用于发出Web请求的独立应用程序(稍微调整一下,甚至可以使用HTTPS)。它将自身设置为代理,并为您提供对流量的大量控制,包括动态编辑,模拟拨号速度,设置特定类型流量的断点,以及至少JSON和XML的几种语法视图(可能是其他?这些是我使用的唯一视图。