我如何嗅探/转储 HTTP 协议作为带有 tcpdump 或替代端口的 ASCII?

Par*_*oft 5 monitoring http packet-sniffer tcpdump

我需要查看应用程序如何通过它在本地主机上通信的 http 协议发送和接收流量(它有一个用 .gz 编码的嵌入式端口)我确定它发送和接收的是一些 XML,但我想嗅探它,然后分析它

这可以通过 Tcpdump 以某种方式实现吗?在那里我只能看到它连接但看不到实际的发送接收

Zor*_*che 5

如果您想使用 tcpdump,这样的命令tcpdump -s 0 -A -qn filters应该可以满足您的需求。该-s 0设置数据包的大小和-A转储ASCII。而不是-A您可能还喜欢-X它以十六进制转储样式格式为您提供输出。

您也可以使用wireshark,完成捕获后,只需右键单击其中一个数据包并选择“Follow TCP Stream”。


Mar*_*ark 5

ngrep 对此非常有用。像这样简单的事情

ngrep -W byline port 80
Run Code Online (Sandbox Code Playgroud)

可以工作,但您也可以过滤请求的内容(因此名称的 grep 部分),并打印出数据包有效负载:

ngrep -W byline some_string port 80
Run Code Online (Sandbox Code Playgroud)