如何查看Apache http服务器中用户提交的请求值

如何查看Apache http服务器中用户提交的请求值

我发现一个间歇性问题,即用户请求无法到达后端服务器,该服务器是 apache webserver 定向到 weblogic 的。我希望在重定向到 weblogic 之前查看 apache 中的请求值。如何查看 apache 中的用户请求值?

答案1

如果我正确理解了您的问题,您希望记录 Apache 收到的来自客户端的整个 http 请求。有多种方法可以解决此问题:

  • 您可以使用类似这样的工具tcpdump来跟踪数据包,然后使用它strings来提取数据包的文本内容。看起来就像这样:

    • 抓取数据包:

      # tcpdump -w packets -s 1500 port 80 and host <client ip address>
      
    • 显示结果:

      # strings packets
      

    这不是一个完美的方法(的输出strings会包含一些垃圾),但通常是一个好的开始。

  • 根据谷歌,Apache 的最新版本有mod_dumpio,它“允许将 Apache 收到的所有输入和/或 Apache 发送的所有输出记录(转储)到 error.log 文件中。”

  • 我相信mod_security还可以记录完整的请求。

答案2

您可以使用:

  • 嗅探器:ngrep 'GET|POST' port 80
  • 追踪者:strace <apache_worker>ltrace <apache_worker>
  • 配置 apache 日志来记录内容。尝试仅记录 GET。

相关内容