Linux, Redes, Windows

Comandos básicos TCPDump – Sniffer de rede

tcpdump é uma ferramenta utilizada para monitorar os pacotes trafegados numa rede de computadores (Sniffer). Ela seleciona e retorna para análise os cabeçalhos dos pacotes que passam pela interface de rede.

Instalação em sistemas baseados em Debian:

login como super usuário (root) – su

apt-get install tcpdump

Em seu modo de utilização mais simples, o tcpdump não precisa de nenhum parâmetro para ser utilizado.

Estando logado como root (O tcpdump utiliza-se de sua interface em promiscuous mode), digite no terminal:

tcpdump

Saída:
tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

Teclando Ctrl + C, encerra- se o processo e há o retorno do sniffer:

0 packets captured
0 packets received by filter
0 packets dropped by kernel

Repare que não foi capturado nenhum trafego de rede, pois não utilizo a interface eth0 e por padrão, o tcpdump varre esta interface.

O correto seria então passar por parâmetros a interface que desejo scannear (eth1):

tcpdump -i eth1

A saída seria aproximadamente:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes22:30:36.319613 IP workstation.mshome.net.33810 > servidor.mshome.net.domain: 44128+ A? mail.google.com. (33)
22:30:36.350612 IP workstation.mshome.net.50163 > servidor.mshome.net.domain: 5369+ PTR? 1.0.168.192.in-addr.arpa. (42)
22:30:36.353572 IP servidor.mshome.net.domain > workstation.mshome.net.36283: 17390- 1/0/0 (104)
22:30:36.612322 IP servidor.mshome.net.domain > workstation.mshome.net.33810: 44128 5/0/0 CNAME[|domain]

Encerrando o sniffer (Ctrl + C):

77 packets captured
77 packets received by filter
0 packets dropped by kernel

Analisando os principais campos da saída acima:
Obs: Os campos são separados por espaços.

  • Timestamp = Horário de captura do pacote.
  • Tipo (Protocolo) do pacote capturado.
  • Endereço e porta de origem do pacote.
  • Sinal indicador do sentido do pacote.
  • Endereço e porta de destino do pacote.
  • Parâmetros básicos do tcpdump:

    tcpdump -i eth1 host http://www.google.com
    Seleciona o host de que esta recebendo ou para o qual esta enviando pacotes.

    tcpdump -i eth1 -n host http://www.google.com
    Seleciona o host de que esta recebendo ou para o qual esta enviando pacotes, com o destino retornando o numero IP.

    Você pode também utilizar IP’s nas consultas.
    tcpdump -i eth1 -n host 192.168.0.1

    Operadores:
    O tcpdump utiliza operadores para concatenar parâmetros.

    Os operadores são: “and” e “or”.

    E “not” para logica inversa.

    Caso queira setar a porta, pode-se utilizar o parâmetro “port” em conjunto com o operador “and”.
    tcpdump -i eth1 -n host 192.168.0.1 and port 80

    No caso de ignorar a porta 80:
    tcpdump -i eth1 -n host 192.168.0.1 and not port 80

    Para conhecer todos os parâmetros e funcionalidades do tcpdump, visite o site do projeto:

    http://www.tcpdump.org/

    Ou busque informações nos manuais (muitas vezes esquecidos) que acompanham praticamente todos os aplicativos em sistemas linux.
    Para isso, basta digitar em um terminal:

    man tcpdump

    Boa sorte.

    Anúncios

    Deixe um comentário

    Preencha os seus dados abaixo ou clique em um ícone para log in:

    Logotipo do WordPress.com

    Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

    Imagem do Twitter

    Você está comentando utilizando sua conta Twitter. Sair / Alterar )

    Foto do Facebook

    Você está comentando utilizando sua conta Facebook. Sair / Alterar )

    Foto do Google+

    Você está comentando utilizando sua conta Google+. Sair / Alterar )

    Conectando a %s