如何查看整个 HTTP 数据包的转储?

如何查看整个 HTTP 数据包的转储?

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

答案1

使用 tcpdump。

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

我真的强烈推荐后者,因为它可以让你整理数据包并跟踪你想要看到的确切流程。

答案2

如果你真的想为此使用命令行TCP流。它将 TCP 流保存到不同的文件中。 HTTP 请求和响应将单独存储。

tcpflow -i wlan0 tcp port 80

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

相关内容