O "TCPDUMP" é um analisador de pacotes e usado para diagnosticar e analisar problemas de rede. Ele captura o tráfego de rede passando pelo seu dispositivo e olha por cima. A ferramenta “TCPDUMP” é uma ferramenta poderosa para solucionar problemas de rede. Ele vem com muitas opções, o que o torna um utilitário versátil da linha de comando para corrigir problemas de rede.
Este post é um guia detalhado sobre o utilitário "tcpdump" que inclui sua instalação, recursos comuns e uso com diferentes opções. Vamos começar com a instalação:
Como instalar o “tcpdump”:
Em muitas distribuições, o "tcpdump" sai da caixa e, para verificar, use:
$ que tcpdump
Se não for encontrado em sua distribuição, instale -o usando:
$ sudo apt install tcpdump
O comando acima será usado para distribuições baseadas em Debian, como Ubuntu e Linuxmint. Para "Redhat" e "Centos", use:
$ sudo dnf install tcpdump
Como capturar pacotes com tcpdump:
Várias interfaces podem ser usadas para capturar pacotes. Para obter uma lista de interfaces, use:
$ sudo tcpdump -d
Ou simplesmente use "qualquer" com o comando "tcpdump" para obter pacotes da interface ativa. Para começar o uso de captura de pacotes:
$ sudo tcpdump -interface qualquer
O comando acima está rastreando pacotes de todas as interfaces ativas. Os pacotes serão continuamente agarrados até obter uma interrupção do usuário (Ctrl-C).
Também podemos limitar o número de pacotes a serem capturados usando a bandeira "-C" que significa a "contagem.”Para capturar 3 pacotes, use:
$ sudo tcpdump -i qualquer -C3
O comando acima é útil para filtrar um pacote específico. Além disso, solucionar problemas dos problemas de conectividade requer apenas alguns pacotes iniciais a serem capturados.
O "tcpdump”O comando captura pacotes com nomes de IP e portas por padrão, mas para limpar, a bagunça e facilita a compreensão da saída; Os nomes podem ser desativados usando “-n" e "-nn”Para a opção de porta:
$ sudo tcpdump -i qualquer -c3 -nn
Como mostrado na saída acima, os nomes de IP e portas foram retirados.
Como entender as informações sobre um pacote capturado:
Para aprender sobre os vários campos de um pacote capturado, vamos dar um exemplo de um pacote TCP:
Um pacote pode ter vários campos, mas os gerais são exibidos acima. O primeiro campo, “09:48:18.960683,”Representa uma época em que o pacote é recebido. Em seguida, vem endereços IP; o primeiro IP [216.58.209.130] é o IP da origem e o segundo IP [10.0.2.15.55812] é o IP de destino. Então você receberá a bandeira [P.]; Uma lista de bandeiras típicas é dada abaixo:
Bandeira | Tipo | Descrição |
““.” | ACK | Significa reconhecimento |
S | Syn | Bandeira para iniciar uma conexão |
F | Fin | Bandeira para uma conexão fechada |
P | EMPURRAR | Indica o esforço dos dados do remetente |
R | RST | Redefinição de conexão |
E o próximo número de sequência vem “Seq 185: 255”. O cliente e o servidor usam o número de sequência de 32 bits para manter e monitorar dados.
O "ACK”É uma bandeira; Se for 1, isso significa que o número de reconhecimento é válido e o receptor espera o próximo byte.
O número da janela indica o tamanho do buffer. ““Ganhe 65535”Significa a quantidade de dados que podem ser buffers.
E no final vem o comprimento [70] do pacote em bytes, o que é uma diferença de “185: 255”.
Filtrando pacotes para corrigir os problemas de rede:
A ferramenta “TCPDUMP” captura centenas de pacotes, e a maioria deles é de menos importância, o que torna muito complexo obter as informações desejadas para solução de problemas. Nesse caso, a filtragem desempenhará seu papel. Por exemplo, enquanto soluciona problemas Se você não estiver interessado em um tipo específico de tráfego, pode filtrá -lo usando "tcpdump", que vem com pacotes de filtragem de acordo com os endereços IP, portas e protocolos.
Como capturar um pacote usando o nome do host com o comando tcpdump:
Para obter o pacote apenas de um host específico, use:
$ sudo tcpdump -i qualquer host -C4 10.0.2.15
Se você quiser obter apenas tráfego de ida, use “Use“src" e "DST”Opções no lugar de“hospedar.”
Como capturar um pacote usando o número da porta com o comando tcpdump:
Para filtrar pacotes com o número da porta, use:
$ sudo tcpdump -i qualquer porta -c3 -nn porta 443
O "443" é o número da porta HTTPS.
Como capturar um pacote usando o protocolo com o comando tcpdump:
Com o comando "tcpdump", você pode filtrar pacotes de acordo com qualquer protocolo como UDP, ICMP, ARP, etc. Basta digitar o nome do protocolo:
$ sudo tcpdump -i qualquer -c6 udp
Os comandos acima capturam apenas pacotes que pertencem ao protocolo "UDP".
Como combinar opções de filtragem usando operadores lógicos:
Diferentes opções de filtragem podem ser combinadas usando operadores lógicos como "e/ou":
$ sudo tcpdump -i qualquer -C6 -nn Host 10.0.2.15 e porta 443
Como armazenar dados capturados:
Os dados agarrados podem ser salvos em um arquivo para monitorá-lo mais tarde, e para essa opção "-w" será usada, e "W" significa "Write":
$ sudo tcpdump -i qualquer -C5 -w packetData.PCAP
A extensão do arquivo seria “.PCAP ", que significa" captura de pacotes.”Depois que a captura for concluída, o arquivo será salvo em sua unidade local. Este arquivo não pode ser aberto ou lido usando nenhum programa de editor de texto. Para ler, use o “-r“Bandeira com“ tcpdump ”:
$ tcpdump -r packetdata.PCAP
Conclusão:
O "TCPDUMP" é uma ferramenta valiosa e flexível para capturar e analisar o tráfego da rede para solucionar problemas de rede. O ponto de atenção deste guia é aprender o uso básico e avançado do utilitário de linha de comando “tcpdump”. Mas se você achar difícil, há um programa menos complexo baseado na GUI chamado "Wireshark", que faz praticamente o mesmo trabalho, mas com vários recursos adicionais.