是否可以使用 tcpdump 捕获传输到我的 apache 服务器的文件

是否可以使用 tcpdump 捕获传输到我的 apache 服务器的文件

我在 Apache 服务器(端口 80,无 SSL)上安装了 Web 应用程序。此应用程序的工作是通过从客户端文件传输来收集一些信息。我的目标是检查我的客户端是否发送了正确的文件。因此,我想捕获传输到我的 Apache 的文件,然后检查数据格式是否正确。

我像这样启动 tcpdump: tcpdump -s0 -i eth0 'port 80' -vv但是输出不是我想要的。

tcpdump 是否可以在同一台服务器上运行?

答案1

我想你想要网猫数控),tcpdump用于数据包级别的调试,数控用于重定向网络流量。

这不是一件容易的事(因为存在安全问题),但步骤如下

  1. 将您的网络服务器移动到另一个端口
  2. 让 nc 监听端口 80
  3. 将端口 80 上的传入流量转储到日志中,并将其重定向到您的 Web 服务器正在监听的新端口

此页面有更详细的内容如何去做。

最后,netcat 有 2 个版本。请确保您拥有一个允许您违反几乎所有已知安全规则的版本,并记住只有 root 可以监听低于 1024 的端口。

编辑:tcpdump执行您要查找的操作,但不会那么直接 - 它会为您提供实际的数据包,听起来您只想要 HTTP 文本。要使用 tcpdump 执行此操作,您需要转储它,然后在类似 wireshark 的程序中打开转储文件。

答案2

Wireshark 更适合于此类任务。您可以运行 cli 版本,tshark将网络流量捕获到文件中,然后将其复制到您的 PC,使用 GUI wireshark 打开,找到所需的请求并使用 导出export objects

Wireshark 还支持使用flagtcpdump制作的文件-w

相关内容