Como capturar um protocolo ou porta específicos, como 80 (HTTP) ou 443 (HTTPS), usando a ferramenta TCPDump no Linux/UNIX? Como gravar tráfego com TCPDump e identificar problemas mais tarde na sua rede ou servidor? Vamos mergulhar na captura e análise do tráfego da sua rede para resolver questões de rede e servidor.
O TCPDump é uma ferramenta poderosa para monitoramento de rede e aquisição de dados. Ela pode economizar muito tempo e ser usada para depurar problemas relacionados a redes ou servidores. O Tcpdump imprime uma descrição do conteúdo dos pacotes em uma interface de rede que correspondem à expressão booleana.
TCPDump: Captura e Grava Protocolos e Portas Específicas
Vejamos como usar o tcpdump para capturar e gravar protocolos e portas específicas no Linux ou Unix. A sintaxe é a seguinte:
sudo tcpdump [opções] [filtro]Principais Opções
-i interface– Especifique a interface de rede (NIC) para capturar. Por exemplo,eth2,wlan1,enp4s0, entre outros. Consulte como listar placas de rede no Linux para mais informações.-n– Use endereços IP em vez de resolver nomes de host usando DNS. Isso melhora a velocidade.-w arquivo– Grave os pacotes capturados em um arquivo. Normalmente, você usaria a extensão.pcap. Por exemplo,captura_rede.pcap.-c contagem– Capture um número específico de pacotes.
Expressões de Filtro
As expressões de filtro permitem capturar tráfego com base em várias condições, como:
port– Especifique o número da porta TCP ou UDP.src port– Captura tráfego originado de uma porta específica.dst port– Captura tráfego destinado a uma porta específica.protocol– Use protocolos comotcp,udp,icmp.host– Especifique um endereço IP ou nome de host para capturar tráfego de ou para esse host.net– Captura tráfego de ou para uma CIDR específica, como10.10.1.0/24.- operadores lógicos – Use
and,or,notpara construir expressões múltiplas.
Exemplos de Captura de Porta
- Capturar tráfego na faixa de portas
20-25:
tcpdump -i eth2 portrange 20-25- Ignorar tráfego na porta 25:
tcpdump -i eth2 not port 25- Capturar tráfego HTTP:
tcpdump -i eth2 port 80- Capturar tráfego HTTPS:
tcpdump -i eth2 port 443Exibindo Interfaces de Rede Disponíveis
Para exibir interfaces de rede disponíveis no Linux ou Unix, digite:
tcpdump -DMonitorar Todos os Pacotes na Interface eth2
Para monitorar todos os pacotes na interface eth2, execute:
tcpdump -i eth2Pressione Ctrl-C para encerrar o comando.
Capturar Todo Tráfego TCP Exibindo Conteúdos na Tela
Para capturar todo o tráfego TCP com detalhes, use:
tcpdump -A -i eth2 tcpO parâmetro -A exibe cada pacote em formato ASCII, facilitando a leitura.
Captura de Tráfego ICMP
Para capturar pacotes ICMP:
sudo tcpdump -A -i eth2 icmpMonitorar Tráfego HTTP e HTTPS
Para monitorar todo o tráfego HTTP na interface eth2:
tcpdump -A -i eth2 'port 80'E para HTTPS:
tcpdump -i eth2 'port 443'Captura de Tráfego em Rede
Para capturar todo o tráfego de uma rede CIDR (por exemplo, 10.10.0.0/24):
tcpdump -i eth2 -n tcp and net 10.10.0.0/24Como Salvar Tráfego em um Arquivo
Para capturar todo o tráfego DNS na porta 53 e salvar em um arquivo chamado dns_trafego.pcap:
tcpdump -i eth2 -n port 53 -w dns_trafego.pcapSe você não quiser capturar um arquivo muito grande, limite a captura a 1000 pacotes:
tcpdump -i eth2 -n port 53 -w dns_trafego.pcap -c 1000Análise de Pacotes Capturados
Para analisar pacotes em um arquivo, utilize o comando tcpdump:
tcpdump -r dns_trafego.pcapAlém disso, você pode usar ferramentas como Wireshark ou tshark para uma análise mais profunda.
Captura de Tráfego Usando Cronjobs
O tcpdump pode ser usado para identificar ataques e outros problemas. Por exemplo, se seu servidor web enfrenta problemas todos os dias à meia-noite, você pode programar o seguinte comando no cron para capturar 30.000 pacotes e gravá-los em um arquivo:
@midnight /usr/sbin/tcpdump -n -c 30000 -w /root/trafego_80.debug.txt port 80No dia seguinte, você pode acessar e analisar o arquivo:
tcpdump -X -vv -r /root/trafego_80.debug.txtUsando grep com tcpdump
Você pode filtrar a saída do tcpdump com grep. Por exemplo:
tcpdump | grep 'algo'Para capturar informações sobre um host específico:
tcpdump -i any -A host 192.168.10.20 and port 80 | grep -i 'User-Agent'Conclusão
O TCPDump é uma ferramenta incrível para análise de pacotes que funciona em Linux, macOS e sistemas Unix-like. Ele permite que o usuário intercepte e exiba pacotes TCP/IP e outros pacotes transmitidos ou recebidos por uma rede. Esta ferramenta é essencial para administradores de sistemas e desenvolvedores para depurar problemas de rede ou servidor.
Para mais informações, consulte a página de manual do tcpdump usando o comando:
man tcpdump





