tcpdump: Monitorando conexões

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

[ Hits: 238.637 ]

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

Autenticação no Apache2

PHP - Checando sintaxe

Obtendo informações sobre dispositivos

Monitorando seu Web Server de forma fácil

Conectividade Social - Mais uma alternativa (regras de iptables)

Leitura recomendada

Instalando kernel 2.6.38.4 no Slackware 13.37

Que hardware usar na hora de montar um computador com Linux

Gerenciamento de pacotes

Gerenciando log do Oracle através do Linux com Logrotate

Criando assinaturas para autenticidade e segurança

  

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

Leadro,

Parabéns pelo artigo! Simples e objetivo!


Atenciosamente,

Slackmaster ([email protected])

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