O campo da análise de pacotes de rede é vasto e pode ser objeto de cursos e livros inteiros. Esta lição apresentará os fundamentos. A análise de pacotes envolve a captura e inspeção dos dados que trafegam em uma rede. É uma habilidade essencial para a solução de problemas de rede, ajuste de desempenho e análise de segurança. Ao examinar pacotes individuais, você pode obter insights profundos sobre o que está acontecendo em sua rede em um nível baixo.
Ferramentas Populares de Análise de Pacotes de Rede
Existem duas ferramentas extremamente populares de análise de pacotes de rede: Wireshark e tcpdump. Ambas são poderosas aplicações de análise de pacotes que escaneiam suas interfaces de rede, capturam a atividade dos pacotes e analisam os dados para inspeção. Elas nos permitem entrar nos detalhes da análise de rede. Usaremos o tcpdump pela sua simplicidade de linha de comando, mas se você planeja se aprofundar na análise de pacotes de rede, explorar a interface gráfica do Wireshark é altamente recomendado.
Instalando o tcpdump
Em sistemas baseados em Debian, como o Ubuntu, você pode instalar o tcpdump com o seguinte comando:
sudo apt install tcpdump
Capturando Dados de Pacotes ao Vivo
Para começar a capturar dados em uma interface específica, use o sinalizador -i seguido pelo nome da interface.
pete@icebox:~$ sudo tcpdump -i wlan0
tcpdump: saída detalhada suprimida, use -v ou -vv para decodificação completa do protocolo
escutando em wlan0, tipo de link EN10MB (Ethernet), tamanho da captura 65535 bytes
11:28:23.958840 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 2, length 64
11:28:23.970928 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 2, length 64
11:28:24.960464 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 3, length 64
11:28:24.979299 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 3, length 64
11:28:25.961869 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 4, length 64
11:28:25.976176 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 4, length 64
11:28:26.963667 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 5, length 64
11:28:26.976137 IP nuq04s29-in-f4.1e100.net > icebox.lan: ICMP echo reply, id 1901, seq 5, length 64
11:28:30.674953 ARP, Request who-has 172.254.1.0 tell ThePickleParty.lan, length 28
11:28:31.190665 IP ThePickleParty.lan.51056 > 192.168.86.255.rfe: UDP, length 306
Você notará muita atividade ao executar uma captura de pacotes, o que é esperado devido ao tráfego de rede constante em segundo plano. O exemplo acima mostra um trecho de uma captura feita enquanto se faz ping para www.google.com.
Interpretando a Saída do tcpdump
Vamos analisar uma linha da captura:
11:28:23.958840 IP icebox.lan > nuq04s29-in-f4.1e100.net: ICMP echo request, id 1901, seq 2, length 64
- Timestamp: O primeiro campo (
11:28:23.958840) mostra quando o pacote foi capturado. - Protocolo:
IPindica o protocolo da camada de rede. - Origem e Destino:
icebox.lan > nuq04s29-in-f4.1e100.netmostra a origem e o destino do pacote. - Informações Específicas do Protocolo: O restante da linha contém detalhes específicos do protocolo. Para este pacote ICMP:
seq: O número de sequência do pacote.length: O comprimento do pacote em bytes.
Como você pode ver, nossa máquina enviou uma requisição de eco ICMP e recebeu uma resposta de eco ICMP. Protocolos diferentes mostrarão informações diferentes, portanto, consulte a página de manual para mais detalhes.
Salvando Capturas para Análise Posterior
Em vez de visualizar o tráfego ao vivo, você pode salvar a captura em um arquivo usando o sinalizador -w. Isso é útil para uma análise de pacotes offline mais aprofundada.
sudo tcpdump -w /some/file.pcap
Nós apenas arranhamos a superfície da análise de pacotes. Há muito mais para explorar, incluindo filtragem avançada e inspeção do conteúdo dos pacotes em Hex e ASCII. Inúmeros recursos online podem ajudá-lo a dominar as ferramentas de análise de pacotes de rede, e nós o encorajamos a continuar sua jornada de aprendizado.