Exemplos de comando e tutorial do TCPDUMP

Exemplos de comando e tutorial do TCPDUMP
Se o seu trabalho depende principalmente da Internet, ter problemas de rede é muito comum. Resolver e solucionar problemas desses problemas de rede é uma tarefa desafiadora. Em tal situação, a ferramenta “tcpdump” entra no jogo.

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.