我怎么能看到全部的转储?HTTP数据包?

Eug*_*ash 4 networking monitoring http

我需要查看应用程序发送和接收的整个 HTTP 数据包以进行调试。这如何在命令行中完成?

Sha*_*dur 9

使用 tcpdump。

tcpdump -w httpdebug.pcap -i eth0 port 80将在 eth0 接口上嗅探进入或来自端口 80 的所有数据包并将它们输出到httpdebug.pcap,然后您可以在闲暇时阅读,或者再次使用 tcpdump(有多个-x选项,请参阅 tcpdump 联机帮助页)在控制台中,如果您有感觉受虐狂,或与wireshark

我真的不能高度推荐后者,因为它可以让您整理数据包并跟踪您想要查看的确切流。

  • 请务必添加 -s0 以便获得整个数据包。默认情况下,它通常会被截断。 (3认同)

str*_*ika 5

如果您真的想为此使用命令行,则可以使用tcpflow。它将 TCP 流保存到不同的文件。HTTP 请求和响应将分开存储。

tcpflow -i wlan0 tcp port 80
Run Code Online (Sandbox Code Playgroud)

如果您可以使用 GUI,请尝试Wireshark。您可以右键单击任何数据包并选择“跟随 TCP 流”。