Introdução
Neste laboratório, você aprenderá como usar a ferramenta de linha de comando tshark do Wireshark para analisar tráfego HTTP e extrair objetos transferidos de capturas de pacotes. Você praticará comandos chave como -r para ler arquivos de captura e --export-objects para recuperar conteúdo HTTP, como imagens ou documentos.
Os exercícios o guiarão através da exportação de objetos HTTP de um arquivo pré-capturado (http.pcap) para um diretório local, filtrando solicitações específicas e inspecionando os arquivos extraídos. Essas técnicas práticas são essenciais para análise de tráfego de rede e investigações forenses.
Abrir Captura HTTP com -r http.pcap
Nesta etapa, você aprenderá como abrir e examinar um arquivo de tráfego HTTP pré-capturado usando a ferramenta de linha de comando tshark do Wireshark. Isso é particularmente útil quando você precisa analisar dados de tráfego de rede salvos sem capturar pacotes em tempo real.
Antes de começarmos, vamos entender alguns conceitos básicos:
- Um arquivo
.pcapé um formato comum para armazenar dados de pacotes de rede tsharké a versão de linha de comando do Wireshark, permitindo a análise de pacotes sem GUI- O tráfego HTTP normalmente mostra solicitações e respostas da web entre clientes e servidores
Primeiro, certifique-se de estar no diretório correto onde nosso arquivo de captura de amostra está localizado:
cd ~/project
A opção -r em tshark é crucial aqui - ela significa "read" (ler) e permite que você analise dados de pacotes de um arquivo salvo em vez de capturar tráfego em tempo real. Usaremos um arquivo de captura de amostra chamado http.pcap que contém tráfego web HTTP típico.
Para abrir e exibir o conteúdo do arquivo de captura, execute:
tshark -r http.pcap
Este comando exibirá a lista de pacotes diretamente no seu terminal. Cada linha representa um pacote de rede com vários campos importantes:
- Número do pacote: O número de sequência do pacote na captura
- Timestamp (Carimbo de data/hora): Quando o pacote foi capturado (em segundos)
- IP de origem: De onde o pacote veio
- IP de destino: Para onde o pacote está indo
- Protocolo: O protocolo de rede que está sendo usado (HTTP em nosso caso)
- Tamanho do pacote: Tamanho do pacote em bytes
- Info (Informações): Detalhes breves sobre o conteúdo do pacote
Por exemplo, você pode ver uma saída como esta, mostrando uma solicitação e resposta HTTP típicas:
1 0.000000 192.168.1.100 → 192.168.1.1 HTTP GET /index.html HTTP/1.1
2 0.000123 192.168.1.1 → 192.168.1.100 HTTP HTTP/1.1 200 OK (text/html)
A primeira linha mostra um cliente (192.168.1.100) solicitando uma página da web, enquanto a segunda linha mostra a resposta bem-sucedida do servidor. Esta visualização básica ajuda você a entender rapidamente o fluxo de tráfego.
Para sair da visualização de pacotes quando terminar de examinar os dados, basta pressionar Ctrl+C. Isso o retornará ao prompt de comando.
Exportar Objetos com --export-objects http,./objects
Nesta etapa, exploraremos como extrair arquivos transferidos via HTTP de uma captura de pacotes. Quando você captura tráfego de rede contendo comunicações HTTP, arquivos como imagens, PDFs ou scripts são transmitidos como objetos binários dentro do protocolo HTTP. O Tshark fornece uma maneira conveniente de extrair esses arquivos para análise.
Primeiro, vamos navegar para o diretório do projeto onde nosso arquivo de captura de pacotes está armazenado. Isso garante que todos os nossos comandos funcionarão com os arquivos corretos:
cd ~/project
Antes de extrair arquivos, precisamos de um lugar para armazená-los. O comando mkdir -p cria um diretório chamado "objects" (objetos) onde o Tshark salvará os arquivos extraídos. A flag -p significa que ele não mostrará um erro se o diretório já existir:
mkdir -p objects
Agora usaremos o recurso poderoso --export-objects do Tshark. Este comando verifica a captura de pacotes, identifica transferências de arquivos HTTP e reconstrói os arquivos originais. A sintaxe tem duas partes após --export-objects: "http" especifica o protocolo, e "./objects" é o nosso diretório de saída:
tshark -r http.pcap --export-objects http,./objects
Aqui está o que acontece quando você executa este comando:
- Tshark lê o arquivo
http.pcap(flag-r) - Ele analisa o tráfego HTTP e identifica transferências de arquivos
- Cada arquivo encontrado é reconstruído e salvo no diretório
./objects
Após executar o comando, o Tshark exibirá cada arquivo que ele extrai. Por exemplo, você pode ver uma saída como esta, mostrando a extração bem-sucedida de arquivos:
Exporting HTTP object 1: image1.jpg
Exporting HTTP object 2: document.pdf
Esses arquivos agora estão disponíveis em seu diretório objects para exame posterior. Essa técnica é particularmente útil ao analisar tráfego da web ou investigar downloads de arquivos durante a solução de problemas de rede.
Listar Arquivos em ./objects
Nesta etapa, examinaremos os objetos HTTP que foram extraídos da captura de pacotes na etapa anterior. Esses objetos representam arquivos transferidos via HTTP, como imagens, documentos ou scripts. Ao listar o conteúdo do diretório ./objects, podemos verificar quais arquivos foram exportados com sucesso e nos preparar para análise posterior.
Primeiro, vamos navegar para o diretório do projeto onde nossos arquivos extraídos estão armazenados. Isso garante que estamos trabalhando no local correto:
cd ~/project
Para visualizar todos os arquivos extraídos com informações detalhadas, usaremos o comando ls com duas opções úteis:
ls -lh ./objects
Aqui está o que cada parte faz:
-lmostra a listagem em formato longo com permissões, tamanhos e carimbos de data/hora-hexibe os tamanhos dos arquivos em formato legível por humanos (KB, MB em vez de bytes)
Você deve ver uma saída semelhante a esta, mostrando os arquivos reais extraídos do tráfego HTTP:
total 24K
-rw-r--r-- 1 labex labex 5.2K Jan 1 10:00 image1.jpg
-rw-r--r-- 1 labex labex 12K Jan 1 10:00 document.pdf
-rw-r--r-- 1 labex labex 1.5K Jan 1 10:00 script.js
Se você só precisa saber quantos arquivos foram extraídos (sem ver seus detalhes), este comando os conta:
ls ./objects | wc -l
A parte wc -l conta o número de linhas na saída, o que corresponde ao número de arquivos. Para nosso exemplo, mostraria:
3
Filtrar Requisições Específicas com -Y "http.request.uri"
Nesta etapa, exploraremos como filtrar requisições HTTP específicas de um arquivo de captura de pacotes usando a ferramenta de linha de comando do Wireshark, o tshark. A opção -Y nos permite aplicar filtros de exibição poderosos para focar apenas no tráfego de rede que estamos interessados em analisar.
Antes de começarmos, vamos garantir que estamos no diretório de trabalho correto, onde nosso arquivo de captura de pacotes está armazenado:
cd ~/project
A estrutura básica do comando usa tshark -r para ler um arquivo de captura de pacotes, seguido por -Y com nossa expressão de filtro. Ao trabalhar com tráfego HTTP, podemos filtrar especificamente por pacotes de requisição HTTP, examinando seus caminhos URI (Uniform Resource Identifier):
tshark -r http.pcap -Y "http.request.uri"
Este comando processará o arquivo http.pcap e exibirá apenas os pacotes de requisição HTTP que correspondem ao nosso filtro. Para cada pacote correspondente, você verá informações importantes, incluindo:
- O número do pacote (mostrando sua posição na captura)
- Carimbo de data/hora de quando o pacote foi capturado
- Endereços IP de origem e destino
- O caminho URI completo da requisição HTTP
Aqui está como uma saída típica pode se parecer:
10 1.234567 192.168.1.100 → 203.0.113.5 HTTP GET /images/logo.png HTTP/1.1
15 2.345678 192.168.1.100 → 203.0.113.5 HTTP GET /api/data.json HTTP/1.1
Podemos tornar nosso filtro mais específico procurando por tipos de arquivo ou caminhos específicos. Por exemplo, para encontrar apenas requisições para arquivos de imagem PNG, podemos modificar nosso filtro para verificar por ".png" no URI:
tshark -r http.pcap -Y 'http.request.uri contains ".png"'
Essa técnica é particularmente útil ao analisar tráfego da web para identificar recursos específicos sendo solicitados, ou ao solucionar problemas de tipos específicos de requisições web. A sintaxe do filtro de exibição nos dá controle preciso sobre quais pacotes vemos em nossa análise.
Resumo
Neste laboratório, você aprendeu a analisar tráfego HTTP e extrair objetos transferidos usando a ferramenta de linha de comando do Wireshark, o tshark. Ao trabalhar com o arquivo http.pcap, você praticou a visualização de detalhes de pacotes com a flag -r e a exportação de objetos HTTP, como imagens e documentos, para um diretório designado usando --export-objects.
Você também explorou a filtragem de requisições HTTP específicas com a flag -Y para isolar o tráfego com base em URIs. Essas técnicas fornecem habilidades essenciais para análise de rede eficiente e extração de arquivos direcionada através da interface de linha de comando do tshark.


