我有安装在Apache服务器上的Web应用程序(端口80,没有SSL)。 这个应用程序的工作是通过从客户端文件传输来收集一些信息。 我的目标是检查我的客户是否发送正确的文件。 所以我想捕获传输到我的Apache的文件,然后检查数据格式是否正确。
我启动tcpdump是这样的: tcpdump -s0 -i eth0 'port 80' -vv但输出不是我想要的。
是否有可能在同一台服务器上运行tcpdump?
我想你想要netcat ( nc ), tcpdump是在数据包级debugging, nc是redirectnetworkingstream量。
这是不平凡的(因为安全问题),但步骤是
这个页面有一个更详细的写法如何做到这一点。
最后有2个版本的netcat。 确保你有一个可以让你违背几乎每一个已知的安全规则的东西,记住只有root可以在低于1024的端口上侦听。
编辑:tcpdump 可以做你正在寻找的,但它不会像海峡前进 – 这是给你的实际数据包,你听起来像你只是想要的HTTP文本。 要使用tcpdump来做到这一点,你需要转储它,然后以wireshark的方式打开转储文件。
Wireshark对于这样的任务更方便。 您可以运行cli版本, tshark捕获networkingstream量到一个文件,然后将其复制到您的PC,用GUI wireshark打开,find需要的请求,并使用export objects 。
Wireshark还支持使用-w标志创build的tcpdump文件