Tcpdump em várias interfaces

17

Preciso capturar o tráfego em um servidor CentOS 5 que atua como um proxy da Web com 2 interfaces de WAN e 1 LAN. Para solucionar um problema estranho de proxy, eu gostaria de ter uma captura de uma conversa completa. Como as conexões externas são balanceadas entre as duas interfaces WAN, pergunto-me se é possível capturar simultaneamente em todas as interfaces.

Eu usei o tcpdump anteriormente, mas ele admite apenas uma interface por vez. Posso iniciar 3 processos paralelos para capturar em todas as interfaces, mas acabo com 3 arquivos de captura diferentes.

Qual é a maneira correta de fazer isso?

Islã de Nahidul
fonte
AdamRushad está correto. Você pode usar wiresharktambém.
Ryan Babchishin

Respostas:

25

De acordo com a página do manual tcpdump:

Em sistemas Linux com kernels 2.2 ou posterior, um argumento de interface de '' any '' pode ser usado para capturar pacotes de todas as interfaces. Observe que as capturas no dispositivo '' any '' não serão feitas no modo promíscuo.

Portanto, você deve poder executar: tcpdump -i anypara capturar dados em todas as interfaces ao mesmo tempo em um único arquivo de captura.

Adam Rushad
fonte
2
que não funciona se eu quiser capturar alguns, mas não todos, das interfaces
Thayne
9

A maneira como eu abordaria isso é despejar em cada interface um arquivo separado e depois mesclá-los. A interface any também inclui um tráfego baixo que pode poluir a captura.

Isso também permite a análise dos fluxos de pacotes por interface sem filtragem complexa.

Eu capturaria em 3 terminais ou em segundo plano o comando com &

Os sinalizadores -nn desativa a resolução de DNS para velocidade, -s 0 salva o pacote completo e -w grava em um arquivo.

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

Eu mesclaria os arquivos com o comando mergecap do wireshark:

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump
Tim Fletcher
fonte
2

Para capturar um tcpdump em todas as interfaces, use

tcpdump -i any
Vijay SB
fonte
2
Isso já foi dado como resposta há 2 anos na resposta de Adam Rushad.
Patrick Mevzek