我可以让wireshark只显示HTTP交换的上层吗?

时间:2012-07-06 13:50:47

标签: http wireshark

我正在调试一个HTTP REST接口,其中客户端和服务器都是用java编写的(即没有JavaScript而且没有运行浏览器)

为了可视化HTTP交换,我可以单击一个数据包并按照TCP流进行操作,这将只向我显示HTTP层,但我必须在每个TCP流的基础上执行此操作。

我有一种感觉,我没有使用正确的工具(wireshark)或我使用它错了。你们是怎么做到的?

注意:我知道firebug和类似的工具,但请记住我没有涉及所有这些的浏览器

注意2:我希望这个问题对更多人有用,所以欢迎所有平台。但是我个人需要Linux中的东西

2 个答案:

答案 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的几种语法视图(可能是其他?这些是我使用的唯一视图。