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

gkd*_*dsp 4 web-server wireshark tcpdump apache-2.2

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

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

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

我需要查看其他人用来成功进入我的网络服务器的主机名。

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

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

Sha*_*den 7

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

根据需要调整现有的日志记录指令,但您需要这样的东西:

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
Run Code Online (Sandbox Code Playgroud)

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