Como capturar o tráfego de um site inteiro (incluindo servidores externos) usando o tcpdump

1

Eu queria saber se é possível capturar todo o tráfego de rede proveniente de um único site usando tcpdump . Estou interessado em capturar os tamanhos de todos os pacotes de entrada e saída de e para um determinado site. No entanto, algo como tcpdump -n host washingtonpost.com somente (tentei isso no terminal) fornece o tráfego proveniente dos servidores resolvidos diretamente de washingtonpost e não, por exemplo, todos os CDNs externos ou Advertising Servers et cetera. Como não conheço o IP addresses ou hostnames desses servidores de antemão, não consigo criar um filtro de algum tipo. Alguém sabe de uma maneira que eu poderia fazer isso ou se isso é realmente possível?

Obrigado.

    
por QPTR 26.03.2017 / 11:36

1 resposta

3

Isso não é possível. Por quê ? O protocolo de comunicação http / https é a chave aqui. O tcpdump é "apenas" designado para capturar o protocolo de nível inferior. Não há filtro no tcpdump para analisar o tráfego durante o voo e fazer uma expansão no filtro. Mas isso seria necessário para atender às suas necessidades.

Você pode usar um cache de proxy da Web ou outro software "no meio". Também é fácil impedir o uso de scripts Perl ou Python se o HTTP for o destino. Um pouco mais de trabalho e, em especial, com certificados em caso de HTTPS.

+-------------+     +------------+     +------------+
| web-Browser |-----| HTTP/HTTPS |-----| HTTP/HTTPS |
+-------------+     | Proxy      |     | Server     |
                    +------------+     +------------+

Você pode usar o iptables no Linux para redirecionar todo o tráfego para a porta de destino 80/443 para o proxy da Web / programa "man in the middle" / script ou usar o parâmetro de proxy em seu navegador da Web.

    
por 26.03.2017 / 11:44