我需要查看一个应用程序如何发送,并通过它在本地主机上通信的http协议接收stream量(它有一个用.gz编码的embedded式端口)。我确定它是一些XML,它发送和接收,但我想嗅探它,然后分析它
这可能以某种方式与Tcpdump? 在那里我只能看到它连接,但不是实际的发送接收
ngrep对此非常有用。 一些简单的事情
ngrep -W byline port 80
可以工作,但是也可以过滤请求的内容(因此也是名称的grep部分),并打印出数据包有效载荷:
ngrep -W byline some_string port 80
我用wireshark做了很多。 用tcpdump嗅探我想要的stream量,把它发送到我可以启动Wireshark的地方,然后用Wireshark查看跟踪。 跟踪TCP会话给我的请求和答案在一个漂亮的ASCIIforms。 很好用。
如果你想使用tcpdump这样的命令tcpdump -s 0 -A -qn filters应该给你你想要的。 -s 0设置数据包大小, -A转储ascii。 而不是-A你可能也喜欢-X这将提供你在hexdump风格的格式输出。
你也可以使用wireshark,一旦你完成捕获,只需右键单击其中一个数据包,然后select“跟踪TCPstream”。