Análise de tráfego de rede
O tcpdump é um analisador de tráfego (sniffer) de rede em modo texto mais famoso que existe, utiliza a biblioteca libpcap e facilita a vida dos administradores de rede nos problemas do dia-a-dia.
Modo texto? Por quê diabos tenho que ficar decifrando texto puro se oWireshark já faz a análise e exibe os dados organizados pra mim?
Primeiro, como já dito, o Wireshark "tenta" capturar todos os pacotes de rede, porém ele é instável em tempo real, dando pau e fechando sem motivo nenhum durante algumas coletas.
Segundo, funciona basicamente na interface gráfica. Muitas vezes temos só um terminal para realizar tal captura de pacotes.
Terceiro, ele é vulnerável. Isso mesmo, no próprio site da ferramenta temos alguns exemplos de vulnerabilidades corrijidas e no SecurityFocus selecionando o Wireshark no campo Vendors, podemos ver outras coisinhas interessantes.
E quarto, não se desespere, podemos gerar arquivos de texto com o tcpdump e visualizá-los com o Wireshark, obtendo o uso perfeito das duas ferramentas.
COMANDOS:
-c N: Finaliza após N pacotes capturados.
-D: Exibe as interfaces de rede onde o tcpdump pode capturar os pacotes.
-F <file>: Usa um arquivo com as expressões a serem filtradas.
-i <interface>: Interface usada na coleta. Usa-se any para todas.
-n: Não realiza resolução de nomes.
-v: Modo verbose. Usar -vv -vvv para mais verbose!
-w <arquivo>: Salva a coleta em um arquivo externo.
-r <arquivo>: Realiza a leitura de um arquivo salvado com a opção -w.
FILTROS:
Temos também os filtros, que são usados para restringir o registro da coleta de pacotes. Como ambos programas fazem a utilização da biblioteca libpcap, os filtros são quase os mesmos.
src host: Define endereço IP de origem.
dst host: Define endereço IP de destino.
src port: Define porta de origem (pode-se usar também nomes, como ftp).
dst port: Define porta de destino (pode-se usar também nomes, como ftp).
ether dst: Define MAC de origem.
ether src: Define MAC de destino.
A utilização de operadores lógicos and, not e or também está presente para a construação de um filtro mais complexo.
EXEMPLO
Agora vamos realizar um exemplo básico de análise segura e organizada, capturar os dados de uma comunicação ICMP com o tcpdump e visualizá-los com o Wireshark.
# tcpdump -i wlan0 src host 192.168.1.4 and dst host 192.168.1.3 and icmp -w icmp.pcap
Utilizando a interface wlan0, captura a comunicação ICMP entre o IP de origem 192.168.1.4 e o destino 192.168.1.3, armazenando-os em um arquivo chamado icmp.pcap.
# tcpdump -r icmp.pcap
Lê o arquivo, mostrando os pacotes capturados e seus detalhes (protocolo, id, sequência, tamanho etc).
Para visualizar o arquivo no Wireshark, só ir no menu File > Open e selecionar o arquivo salvo. Voilà, temos nossa captura realizada de forma segura o muito bem apresentada.
É isso aí pessoal. Nesse post usei como referência o manual oficial do tcpdump e esta página que contém diversos filtros e exemplos, se quer enriquecer seu conhecimento a leitura é indispensável.
Espero que tenham aproveitado a leitura, se houve algum equívoco, me corrijam. Abraços e até a próxima!
Comentários
Postar um comentário