Comando tcpdump do Linux: como analisar pacotes na sua rede
Com o comando tcpdump do Linux, pode analisar os pacotes que são enviados na sua rede. Para otimizar a análise, pode recorrer a uma série de opções e filtros.
Para que serve o comando tcpdump no Linux?
O tcpdump é uma ferramenta especialmente útil para analisar o tráfego de rede no Linux e, se necessário, resolver possíveis problemas de rede. Este programa de linha de comandos, que vem pré-instalado na maioria das distribuições Linux mais conhecidas (como o Debian ou o Ubuntu), fornece informações sobre os pacotes de dados que foram enviados ou recebidos na sua rede. Apesar do que o nome possa sugerir, o comando tcpdump do Linux permite analisar, além de pacotes TCP, também pacotes UDP e ICMP. No entanto, para utilizar este comando, irá necessitar de permissões de root.
Como funciona o comando tcpdump?
A função desempenhada pelo tcpdump é conhecida como «sniffing». Ao utilizar o comando tcpdump no Linux, especifica-se a interface de rede que o programa deve monitorizar. Além disso, é possível utilizar vários filtros para adaptar e otimizar o processo. O comando é executado na linha de comandos e é aí que serão apresentados os resultados da análise.
Como é a sintaxe do tcpdump?
A sintaxe do tcpdump no Linux é muito simples e corresponde a:
$ tcpdump [opciones] [filtros]bashEmbora não seja necessário especificar nenhuma opção, é recomendável fazê-lo para garantir que o tcpdump utilize a interface de rede correta. Os filtros também não são obrigatórios, mas, se nenhum for especificado, o tcpdump analisará todos os pacotes de todos os hosts, o que pode gerar uma grande quantidade de informação, tornando difícil compreender e analisar os dados obtidos.
Que opções e filtros podem ser utilizados com o tcpdump no Linux?
O tcpdump pode ser utilizado com uma grande variedade de opções e filtros. As opções mais importantes são as seguintes:
- A: imprime o conteúdo de um pacote em ASCII.
- c [quantidade]: o tcpdump pára automaticamente após analisar a quantidade especificada de pacotes.
- D: esta opção mostra uma lista de todas as interfaces disponíveis.
- i [Interface]: esta opção especifica a interface a capturar.
- s [quantidade]: define quantos bytes por pacote devem ser capturados.
Com o tcpdump, é possível utilizar os seguintes filtros:
- dst: apenas são analisados os pacotes cujo destino coincida com o valor definido. Este valor pode ser host, net, port ou portrange.
- host: este filtro garante que apenas sejam considerados os pacotes que tenham um endereço IP específico como origem ou destino, ou, em alternativa, um nome de host específico.
- net: este filtro considera apenas os pacotes que têm um endereço IP dentro de um intervalo de rede específico como origem ou destino.
- port: com este filtro, especifica-se uma porta específica entre 0 e 65535, que será analisada exclusivamente.
- portrange: este filtro contém um intervalo de portas entre 0 e 65535 que será analisado exclusivamente.
- proto: este filtro considera apenas os pacotes com um protocolo de rede específico. O filtro pode ter os seguintes valores: arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp ou wlan.
- src: apenas são analisados os pacotes cuja origem coincide com um valor definido. Este valor pode ser host, net, port ou portrange.
Exemplos para o comando tcpdump
Por fim, mostramos-lhe como pode utilizar o tcpdump. No exemplo que se segue, é utilizado um comando sudo do Linux.
$ sudo tcpdump -DbashDesta forma, pode verificar quais as interfaces de rede que estão disponíveis.
$ sudo tcpdump -i wlx14a3c782966bbashDesta forma, apenas é analisada a interface do nome especificado.
$ sudo tcpdump -c 5 -i wlx14a3c782966bbashDesta forma, indicas que o tcpdump inclua apenas cinco pacotes.