Posted tagged ‘tcpdump’

tcpdump

June 4, 2010

O tcpdump é uma ferramenta que ajuda muito no dia-a-dia de um administrador de rede. Com ele é possível verificar todo o fluxo de datagramas na rede.

Existem outras ferramentas que desempenham papel semelhante como o wireshark, porém é necessário um X para executá-lo. Por isso acho bem mais importante enteder o tcpdump (além de ser nativo na maioria das distribuições *unix e bsd).

Para executá-lo é preciso ser super usuário. O primeiro comando, para começar, é somente para ver os pacotes na interface eth0:

# tcpdump -vvni eth0

Aqui usamos os parâmetros -vv para um nível bom de verbose (aceita até 3 níveis de verbose), -n para não traduzir IP -> nomes, e -i <interface> sendo a interface que você deseja ouvir. Muitas vezes é preciso filtrar o conteúdo que se deseja ouvir:

# tcpdump -vvni eth0 not port 22

Com isso excluímos a porta 22 (SSH) do filtro.

# tcpdump -vvni eth0 not ip multicast and not port ‘( 22 or 23 )’ and src net 192.168.1.0/24

Aqui foi usado um filtro bem mais avançado, com três limitações: sem pacotes para redes multicast, sem as portas 22 e 23 (telnet) e o pacote tem que ser de uma fonte na rede 192.168.1.0/24.

Para um melhor entendimento das respostas do tcpdump eu recomendo um estudo nas camadas de enlace/rede/transporte de algum livro teórico, como os famosos Kurose ou Tanenbaum.

Referência: man tcpdump; Tanembaum, Andrew S. – Computer Networks; Kurose / Ross – Computer Networking

Ouvindo: Moby – Sunday

Advertisements