Alex Asked: 2009-08-08 04:03:54 +0800 CST2009-08-08 04:03:54 +0800 CST 2009-08-08 04:03:54 +0800 CST 如何使用 apache 转储整个 HTTP 请求 772 是否可以通过 apache 转储整个 HTTP 请求?我需要跟踪所有传入请求的 HTTP 标头。怎么做? http apache-2.2 http-headers 5 个回答 Voted Best Answer Kyle Brandt 2009-08-08T04:10:36+08:002009-08-08T04:10:36+08:00 我认为您想要的而不是 Apache 可能是数据包分析器,也称为数据包嗅探器。最受欢迎的两个可能是TCPDump和Wireshark,它们都是免费的,并且都有适用于 Windows 和 *nix 操作系统的版本。这些将向您显示进入界面的所有流量,而不仅仅是 Apache 看到的流量。但是您可以使用过滤器来限制到指定的端口,例如 80 用于 http。 tcpdump: 从服务器运行的以下命令将显示所有发往端口 80 的数据包: sudo tcpdump -s 0 -X 'tcp dst port 80' 大写的 X 开关以十六进制和 ASCII 格式转储有效负载。带 0 的 s 开关表示获取整个数据包。'tcp dst port 80' 表示过滤并仅在 tcp 标头中显示发往端口 80 的数据包。 Wireshark: 对于更用户友好的版本,如果您运行的是 GUI,请考虑使用 wireshark(正式名称为 ethereal)。 pQd 2009-08-08T04:24:01+08:002009-08-08T04:24:01+08:00 也许倾销饼干?否则 - 看看mod_dumpio。 Ali Mezgani 2009-08-08T06:40:03+08:002009-08-08T06:40:03+08:00 ngrep 是 tcpdump 和 grep 的混合体,可以轻松进行基本的数据包嗅探。在某些情况下,如果您希望了解 Web 浏览器如何与 Web 服务器通信,并检查 HTTP 标头。 在此示例中,在 Web 服务器上运行 ngrep,如下所示: $ ngrep port 80 您还可以选择通过以下方式过滤对端口 80 的“GET /”请求的 http 请求: $ ngrep -q '^GET .* HTTP/1.[01]' 在客户端,有一个名为 Tamper Data 的有用工具,它是一个 Firefox 扩展程序,可让您查看、记录甚至修改传出的 HTTP 请求。你可以在这里 找到更多信息 David Pashley 2009-08-08T05:02:23+08:002009-08-08T05:02:23+08:00 与其使用 tcpdump 或 wireshark,不如使用 tcpflow。它是 tcpdump 的替代品,但会为每个连接的每一端创建一个文件,因此您不必尝试自己解码流。 Wouter Verhelst 2019-10-23T01:41:00+08:002019-10-23T01:41:00+08:00 Apache 内置了该功能;只需将日志级别增加到trace7或trace8: LogLevel trace8 请注意,这将转储大量数据。你被警告了。
我认为您想要的而不是 Apache 可能是数据包分析器,也称为数据包嗅探器。最受欢迎的两个可能是TCPDump和Wireshark,它们都是免费的,并且都有适用于 Windows 和 *nix 操作系统的版本。这些将向您显示进入界面的所有流量,而不仅仅是 Apache 看到的流量。但是您可以使用过滤器来限制到指定的端口,例如 80 用于 http。
tcpdump:
从服务器运行的以下命令将显示所有发往端口 80 的数据包:
大写的 X 开关以十六进制和 ASCII 格式转储有效负载。带 0 的 s 开关表示获取整个数据包。'tcp dst port 80' 表示过滤并仅在 tcp 标头中显示发往端口 80 的数据包。
Wireshark:
对于更用户友好的版本,如果您运行的是 GUI,请考虑使用 wireshark(正式名称为 ethereal)。
也许倾销饼干?否则 - 看看mod_dumpio。
ngrep 是 tcpdump 和 grep 的混合体,可以轻松进行基本的数据包嗅探。在某些情况下,如果您希望了解 Web 浏览器如何与 Web 服务器通信,并检查 HTTP 标头。
在此示例中,在 Web 服务器上运行 ngrep,如下所示:
您还可以选择通过以下方式过滤对端口 80 的“GET /”请求的 http 请求:
在客户端,有一个名为 Tamper Data 的有用工具,它是一个 Firefox 扩展程序,可让您查看、记录甚至修改传出的 HTTP 请求。你可以在这里
找到更多信息
与其使用 tcpdump 或 wireshark,不如使用 tcpflow。它是 tcpdump 的替代品,但会为每个连接的每一端创建一个文件,因此您不必尝试自己解码流。
Apache 内置了该功能;只需将日志级别增加到
trace7
或trace8
:请注意,这将转储大量数据。你被警告了。