tcpdump: Monitorando conexões

Publicado por Leandro Nascimento de Souza em 11/04/2007

[ Hits: 230.822 ]

Blog: http://www.mailgateway.com.br

 


tcpdump: Monitorando conexões



O tcpdump é um dos mais, se não o mais "famoso" sniffer para sistemas GNU/Linux. Com ele podemos realizar análises de redes e solucionar problemas. Sua utilização é simples e sem mistérios, bastando apenas ter os conhecimentos básicos de redes TCP/IP. Esta dica é apenas uma introdução deste sniffer, maiores informações e documentação à seu respeito podem ser encontradas em seu site oficial:
A instalação do tcpdump em sistemas Debian é super simples, bastando executar o comando abaixo como super usuário (root):

# apt-get install tcpdump

Para iniciarmos a utilização do tcpdump precisamos especificar a interface de rede que queremos analisar com o parâmetro -i seguido da interface desejada, por exemplo, se quisermos analisar todo o tráfego que passa pela interface eth0, executaríamos a seguinte linha de comando:

# tcpdump -i eth0

Conexões de origem podem ser monitoradas utilizando o parâmetro src host, um exemplo simples seria monitorarmos o tráfego que vem de 192.168.0.9 para nosso computador, com o ip 192.168.0.2. A linha de comando ficaria da seguinte forma:

# tcpdump -i eth0 src host 192.168.0.9

Se quisermos monitorar as conexões especificando um host de destino, poderíamos fazê-lo com o parâmetro dst host, o exemplo abaixo mostra todo o tráfego do host 192.168.0.2 com 192.168.0.1, no caso, 192.168.0.1 é nosso gateway.

# tcpdump -i eth0 dst host 192.168.0.1

Com tcpdump também podemos especificar exceções com o parâmetro not host, por exemplo, em nosso servidor queremos ver todo o tráfego que se passa em sua interface, exceto o de 192.168.0.8, faríamos da seguinte forma:

# tcpdump -i eth0 not host 192.168.0.9

No tcpdump podemos também especificar portas de origem e destino com os comandos src port e dst port, um exemplo seria monitorarmos o tráfego destinado à porta 80 (http), para isso utilizaríamos a linha de comandos abaixo e navegaríamos em um site qualquer:

# tcpdump -i eth0 dst port 80

Para verificarmos o tráfego da porta de origem 32881 por exemplo, faríamos da seguinte forma:

# tcpdump -i eth0 src port 32881

Muitas opções avançadas podem ser obtidas com o tcpdump, essas são algumas opções básicas, porém fundamentais para quem quer aprender sobre sniffers.

Fonte: http://pt.wikipedia.org/wiki/Tcpdump

Outras dicas deste autor

Criando volumes criptografados

lsof - Pequeno guia de referência

Monitorando seu Web Server de forma fácil

Conectividade Social - Mais uma alternativa (regras de iptables)

Monitorando interfaces de rede com ifstat

Leitura recomendada

FreeBSD - Configurando lixeira no Samba 3.0.32

Thunderbird - Como exportar seus emails do Windows para Linux

Como reiniciar uma máquina GNU/Linux totalmente travada com REISUB

FreeBSD - Configuração do MRTS

DL0002 - LPIC-1 - Prova 101 - Tópico 101: Arquitetura de Sistema

  

Comentários
[1] Comentário enviado por removido em 16/08/2007 - 04:21h

Leadro,

Parabéns pelo artigo! Simples e objetivo!


Atenciosamente,

Slackmaster (jlgomessouza@gmail.com.br)

http://dangercode.blogspot.com

[2] Comentário enviado por jakson_kiko em 29/08/2007 - 14:21h

cara muito massa o artigo, me ajudo um monte!!!!!

[3] Comentário enviado por andrei_scaratti em 24/11/2007 - 11:18h

Muito bom.. Estou estudando a fundo esse utilitário que é muito util em redes de computadores.

[4] Comentário enviado por marcos.sf em 11/04/2008 - 13:03h

para filtrar e criar um log usando o tcpdump :)

tcpdump -v -i eth0 src host 192.168.xx..xxx | grep palavra_chave > /home/nome.txt

[5] Comentário enviado por albertoaalmeida em 07/01/2009 - 09:52h

Simples e prático.

Parabéns..

Muito bom..

Alberto Almeida
www.albertoalmeida.blogspot.com

[6] Comentário enviado por nunesdutra em 17/07/2009 - 16:49h

Muito bom!!!

Filtrando por IPs.

tcpdump -i eth0 |grep 192.168.xxx.xxx

Vlw!


[7] Comentário enviado por Nander em 22/07/2010 - 01:52h

Mais uma Contribuição:

tcpdump -i any -Aavv -w ARQUIVO_LOG, onde:


-i any = Pega todo o Tráfego de Todas as interfaces

-Aavv = Detalhamento das conexões

-w ARQUIVO_LOG = w de write, Grava um Arquivo de LOG que não é Legível por editores de Texto.

Para Ler o Arquivo basta digitar:


tcpdump -i any -Aavv -r ARQUIVO_LOG | less

onde o -r é de READ para ler e nele vc pode aplicar os Filtros no proprio log como:

tcpdump -i any -Aavv tcp port 80 and host 192.168.0.1 -r ARQUIVO_LOG | less


Att

Ernander

[8] Comentário enviado por maurotopa em 08/12/2010 - 11:47h

cara show de bola, sou iniciante ajudou 100% , valeu

vivaolinux = 1000%
pessoal = 1000%

[9] Comentário enviado por rodrigo.a.sc em 17/11/2011 - 01:27h

Boa,
Bem eu gostaria de uma analise por rede, por exemplo toda a conectividade que vai para a rede 10.0.0.1/24 eu pego os dados.
Algma opção ??

O que fiz foi
tcpdump -i any dst 192.168.1
no output me deu resultados como :
IP 10.150.1.111.3389 > 192.168.1.70.30596
No caso é uma aplicação ipsec rodando.

[10] Comentário enviado por anrsm em 30/05/2012 - 01:44h

Vamos lá,

usamos o tcpdump para fazer tal monitoramento, porém acredito que se estiver recebendo trafego de determinado IP,
o que ele vai me ajudar o tcpdump? apenas monitoramento? consigo fazer algum tipo de nullroute do IP pelo tcpdump?

abraços

[11] Comentário enviado por bleckout em 04/05/2015 - 17:09h

O pergunta: O programa tcpdump só escuta as interfaces locais? Tem alguma formar de eu setar um outro IP da rede(sem ser gateway)?

Senão, então na minha opinião o Wireshark é melhor :v
___________________________________________________________________
[i]"Vivemos todos sob o mesmo céu, mas nem todos temos o mesmo horizonte." - Konrad Adenauer
Ubuntu 14.04 LTS amd64 - Core i7 3770K, 8GB RAM - NVIDIA GTX 760 Windforce[/i]

[12] Comentário enviado por aleks em 28/09/2017 - 08:05h

Valeu Leandro sua explicação sobre este sniffer ficou show .

[13] Comentário enviado por mauricioasj em 29/09/2017 - 12:00h

Excelente Artigo! Obrigado pela contribuição na comunidade! Exatamente o que eu precisava!



Maurício Antônio

[14] Comentário enviado por doug_pirralha em 01/03/2018 - 17:30h

Ótimo artigo, me ajudou a esclarecer o assunto.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts