O tcpdump é um sniffer, muito conhecido entre sysadmins. Com ele você pode ver o que está acontecendo na sua rede em tempo real, analisando os pacotes que ele “fareja” .

O tcpdump utiliza o formato de arquivo libpcap, utilizado por vários outros sniffers o que permite você guardar uma análise de tráfego e posteriormente analisar com um sniffer mais amigável, como o Wireshark.

Uma observação importante é que o tcpdump deve ser executado com o usuário root, estaremos analisando o tráfego da interface de rede, tarefa que um usuário comum não pode fazer.

Vamos conhecer algumas opções do tcpdump:

# tcpdump [opções] [expressão]

Com essas opções já dá para brincar...

Exemplos 1: Testando as opções

# tcpdump -i eth0 -w teste.dmp

Guarda todo tráfego capturado na interface de rede eth0 no arquivo teste.dmp

# tcpdump -n -w teste.dmp

Captura todo tráfego de rede da primeira interface disponível no arquivo teste.dmp sem resolver nomes.

# tcpdump -r teste.dmp

Exibe o tráfego de rede capturado e guardado no arquivo teste.dmp e exibe na saida padrão.

O tcpdump tem suporte a expressões, que permite gerar filtros poderosos na sua captura.

Exemplo: Definindo filtros

# tcpdump -i eth0 -n -w teste.dmp “port 22 and host 10.0.0.1″

Captura todo tráfego de rede na interface eth0, apenas de conexões ao host 10.0.01 na porta 22. Sem resolver nomes e escrevendo essa captura no arquivo teste.dmp.

# tcpdump -i eth0 -w teste.dmp “src host 10.0.0.92 and not port 22″

Escuta na interface eth0 todo tráfego de rede que tenha sido originado no host 10.0.0.92 e que não seja para a porta 22. Salvando esses dados no arquivo teste.dmp

Existem várias expressões de filtros que você pode utilizar, para saber mais sobre isso você pode consultar o manual do tcpdump.

Como eu falei no começo desse post, você pode pegar nosso arquivo com o tráfego e abrir com um sniffer mais amigável para analisar o tráfego. A tela abaixo eu abri o arquivo teste.dmp com o Wireshark.

Entender a saída do tráfego pode ser difícil para iniciantes, mas não tem formula mágica para entender, você vai precisar conhecer como funciona a pilha tcp/ip, os serviços de rede, depois de um tempo cada linha dessa se torna familiar. :-)

Se você está procurando um sniffer em modo texto, mais amigável que o tcpdump, dê uma olhada no iptraf.

Veja também:

1 comentário

avatar

Ayrton Araújo

February 6th, 2009 at 4:25 am    

Mandriva com nodoka engines do fedora? Ehehehe ;P
http://edgabaldi.com/blog/wp-content/wireshark.png
Troca essa categoria mano.

Comente este post:

Nome: *

E-mail: *

Website:

rss twitter linux contato

livros interessantes

Publicidade

OPÇÃO DESCRICAO
-i <interface> Define a interface que você deseja sniffar, caso essa opção não seja definida, o tcpdump assume a primeira interface da sua máquina, geralmente a eth0.
-n Indica para o tcpdump que ele não deve resolver nomes ou converter números de portas para seus respectivos nomes de serviço.
-w <arquivo> Define o arquivo onde o tráfego capturado deve ser guardado
-r <arquivo> Especifica o arquivo de onde o tráfego deve ser lido.