como visualizar os nomes de host no tráfego que entram no meu servidor web (Apache)?

4

Existe alguma maneira de ver os nomes de host usados pelo tráfego de entrada que é aceito pelo meu servidor web apache?

Por exemplo, digamos que o servidor da Web esteja configurado para processar o tráfego de entrada de um endereço IP, mas há vários nomes de host que o servidor da Web pode aceitar, como:

www.mydomain.com mydomain.com myotherdomain.com etc.

Eu preciso ver os nomes de host que outras pessoas estão usando para entrar no meu servidor com sucesso.

O motivo é que tenho algum software que gera automaticamente algum tráfego para o meu servidor, e eu preciso saber o nome do host que ele está usando para que eu possa configurar corretamente os hosts virtuais do arquivo httpd.conf do Apache para recebê-lo corretamente. / p>

O tcpdump pode ser configurado para analisar o tráfego da web e extrair este nome de host? Ou wireshark? Em todos os exemplos que vejo, incluindo o arquivo access_log do Apache, há apenas o endereço IP, não os nomes de host. No entanto, preciso das informações do nome do host para o material VirtualHost do httpd.conf. Espero que isso faça sentido.

    
por gkdsp 18.02.2012 / 23:50

1 resposta

7

Você pode configurar um formato de log personalizado para o log de acesso que incluirá essas informações.

Ajuste suas diretivas de registro existentes conforme necessário, mas você precisará de algo assim:

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

Isso gravará o cabeçalho HTTP Host recebido no início da linha - e se estiver em branco, a linha começará com um espaço.

    
por 19.02.2012 / 00:13