Introdução
Um nome de serviço ou relatório de portas resume uma observação de rede. Uma captura de pacotes permite examinar o tráfego real por trás desse resumo, incluindo endpoints, controle de conexão e mensagens da aplicação.
Você capturará uma pequena troca HTTP autorizada na interface de loopback do Kali. Salve um pcap real e inspecione-o com tcpdump, usando as habilidades de controle de processos e HTTP dos laboratórios anteriores.
Capture uma pequena troca HTTP local
Nesta etapa, você capturará um conjunto limitado de pacotes de uma solicitação HTTP ao serviço de treinamento fornecido.
Entre no Kali e escolha o espaço de trabalho compartilhado:
kali
cd /home/labex/project
O endpoint HTTP é http://127.0.0.1:8080/capture.txt. Como o endereço é loopback dentro do Kali, seu tráfego usa a interface lo em vez da interface de rede do host. A captura de pacotes exige permissões elevadas neste ambiente; use sudo somente para os comandos de captura e análise que precisam dele.
tcpdump captura pacotes. -i lo seleciona loopback, -c 8 para após oito pacotes correspondentes e -w training.pcap grava um arquivo binário de captura. O filtro entre aspas tcp port 8080 seleciona tráfego TCP envolvendo a porta do serviço de treinamento. O & final inicia a captura em segundo plano para que você possa gerar a solicitação no mesmo terminal:
sudo tcpdump -i lo -c 8 -w training.pcap 'tcp port 8080' &
O shell exibe um número de tarefa. Tcpdump pode exibir uma mensagem de que está escutando. Dê um segundo para a captura inicializar com o comando sleep praticado anteriormente:
sleep 1
Agora faça a solicitação curl já ensinada e salve seu corpo de resposta:
curl -sS http://127.0.0.1:8080/capture.txt > captured-response.txt
A solicitação e a resposta criam vários pacotes TCP, incluindo estabelecimento de conexão e dados da aplicação. wait espera as tarefas em segundo plano deste shell terminarem:
wait
Tcpdump deve parar após a contagem configurada de pacotes e exibir um resumo da captura. Um pcap binário é um arquivo estruturado de pacotes; não o leia com cat como se fosse texto. Inspecione a resposta da aplicação separadamente:
cat captured-response.txt
Saída esperada:
Local capture practice.
O pcap e o corpo da resposta descrevem a mesma troca local em formas diferentes. Mantenha esta captura limitada à interface e ao endpoint fornecidos.
Leia e interprete os pacotes salvos
Nesta etapa, você lerá a captura e relacionará os endpoints dos pacotes à solicitação e à resposta HTTP.
-r lê uma captura salva em vez de escutar ao vivo. -nn mantém tanto endereços quanto portas numéricos, evitando que consultas de nomes ocultem os endpoints reais:
sudo tcpdump -nn -r training.pcap
Cada linha inclui um horário, endpoints e informações de transporte. Procure 127.0.0.1 nos dois lados e a porta 8080 no lado do serviço. A outra porta TCP pertence ao cliente e pode variar. As flags TCP descrevem o controle da conexão, além dos pacotes de dados da aplicação, portanto nem toda linha contém uma mensagem HTTP.
Adicione -A para exibir o conteúdo dos pacotes como texto ASCII:
sudo tcpdump -nn -A -r training.pcap
Entre campos de protocolo com aparência binária, procure a solicitação GET /capture.txt HTTP/1.1 e um estado HTTP de resposta bem-sucedida. Este é HTTP sem criptografia; HTTPS criptografado não exporia o mesmo conteúdo legível da aplicação em uma exibição básica de pacotes.
Salve essa análise legível separadamente do pcap original:
sudo tcpdump -nn -A -r training.pcap > packet-details.txt
A descrição do arquivo de captura do tcpdump ainda pode aparecer na saída de erro padrão. Os detalhes dos pacotes vão para o arquivo redirecionado. Use grep para localizar a linha da solicitação:
grep 'GET /capture.txt' packet-details.txt
A linha correspondente liga a evidência dos pacotes à solicitação que você gerou. Você manteve a captura binária para ferramentas posteriores e uma visão legível para inspeção rápida.
Resumo
Você selecionou uma interface e um filtro de captura, limitou a contagem de pacotes, coordenou uma captura em segundo plano com uma solicitação HTTP e leu o pcap resultante. Relacionou endpoints numéricos e pacotes TCP a uma solicitação e resposta reais.

