如何查看进入我的网络服务器(Apache)的流量中的主机名?

如何查看进入我的网络服务器(Apache)的流量中的主机名?

有什么方法可以查看我的 apache 网络服务器接受的传入流量所使用的主机名?

例如,假设 Web 服务器设置为处理某个 IP 地址的传入流量,但该 Web 服务器可以接受多个主机名,如:

www.mydomain.com mydomain.com myotherdomain.com 等等。

我需要查看其他人正在使用的主机名才能成功进入我的网络服务器。

原因是我有一些软件会自动生成一些到我的网络服务器的流量,并且我需要知道它使用的主机名,以便我可以正确设置 Apache 的 httpd.conf 文件的虚拟主机以正确接收它。

可以配置 tcpdump 来查看网络流量并提取此主机名吗?或者 wireshark?我看到的所有示例中,包括 Apache 的 access_log 文件,都只有 IP 地址,没有主机名。但是,我需要 httpd.conf 的 VirtualHost 内容的主机名信息。希望这有意义。

答案1

您可以为访问日志配置一个自定义日志格式,其中将包含此信息。

根据需要调整现有的日志指令,但您需要类似这样的内容:

LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined_with_access_host
CustomLog /var/log/wherever-you-put-it/access_log combined_with_access_host

这会将收到的 HTTPHost标头写入行首 - 如果是空白,则该行将以空格开头。

相关内容