Analisando e Exportando Tráfego de Rede com Tshark
Neste passo, focaremos em como exportar tráfego de rede em diferentes formatos e realizar análises básicas de tráfego usando o tshark. Essas habilidades são cruciais porque permitem que você compartilhe os dados capturados com seus colegas ou os use em outras ferramentas. Ao final desta seção, você será capaz de lidar com diferentes formatos de arquivo e extrair informações valiosas do tráfego de rede.
O Wireshark, um conhecido analisador de protocolo de rede, suporta vários formatos de arquivo de captura. Cada formato tem suas próprias características únicas, que são importantes de entender, pois determinam como os dados podem ser usados posteriormente.
- pcapng: Este é o formato padrão usado pelo Wireshark. Ele suporta múltiplas interfaces e possui recursos avançados. É uma ótima opção quando você precisa capturar cenários de rede complexos.
- pcap: O formato clássico. É compatível com ferramentas mais antigas, mas possui menos recursos em comparação com o pcapng. Se você precisar trabalhar com sistemas legados, este formato pode ser o seu preferido.
- csv: Valores separados por vírgula (Comma-separated values). Este formato é muito útil quando você deseja importar os dados para planilhas para análise posterior.
- json: Notação de Objeto JavaScript (JavaScript Object Notation). É ideal para análise programática, pois pode ser facilmente analisado por linguagens de programação.
- text: Um formato de texto simples que é legível por humanos. É útil quando você deseja visualizar rapidamente os dados sem nenhuma ferramenta especial.
Para alterar o formato de um arquivo de captura, você pode usar a opção -F no tshark. A estrutura geral do comando é a seguinte:
tshark -r <input_file> -F <format> -w <output_file>
Aqui, -r especifica o arquivo de entrada, -F define o formato de saída e -w define o arquivo de saída.
Vamos pegar um exemplo e exportar nossa captura para o formato pcap:
tshark -r /home/labex/project/capture.pcapng -F pcap -w /home/labex/project/export.pcap
Quando este comando é executado com sucesso, você não verá nenhuma saída na tela. Para confirmar que a exportação foi bem-sucedida, você pode usar o comando ls para listar os detalhes do arquivo exportado:
ls -l /home/labex/project/export.pcap
Você deve ver uma saída semelhante a esta:
-rw-r--r-- 1 labex labex 22468 Jan 27 12:45 /home/labex/project/export.pcap
Analisando Estatísticas de Protocolo
O Tshark não é útil apenas para exportar arquivos, mas também para gerar várias estatísticas sobre o tráfego capturado. Vamos explorar algumas dessas opções de análise estatística.
Estatísticas da Hierarquia de Protocolos
Se você deseja ver como diferentes protocolos são distribuídos em sua captura, pode usar o seguinte comando:
tshark -r /home/labex/project/capture.pcapng -z io,phs
A opção -z é usada para especificar o tipo de estatística. Neste caso, io,phs significa estatísticas da hierarquia de protocolos (protocol hierarchy statistics). A saída mostrará a hierarquia de protocolos e a porcentagem de pacotes para cada protocolo.
Protocol Hierarchy Statistics
|
+ Ethernet
+ Internet Protocol Version 4
+ Transmission Control Protocol
+ Transport Layer Security
+ Hypertext Transfer Protocol Secure
+ User Datagram Protocol
+ Domain Name System
Estatísticas de Conversa
Para analisar as conversas entre os endpoints na rede, você pode usar o seguinte comando:
tshark -r /home/labex/project/capture.pcapng -z conv,tcp
Este comando se concentra em conversas TCP. Ele mostra estatísticas como os endpoints envolvidos, o número de pacotes trocados e o total de bytes transferidos.
TCP Conversations
| <- | | -> | | Total | Relative | Duration |
| Frames Bytes | | Frames Bytes | | Frames Bytes | Start | |
192.168.1.100:43210 <-> 93.184.216.34:443 24 18765 18 4532 42 23297 0.000000000 8.2345
Estatísticas de Solicitação HTTP
Se sua captura contiver tráfego HTTP, você pode analisar as solicitações HTTP usando o seguinte comando:
tshark -r /home/labex/project/capture.pcapng -z http,tree
Este comando organiza as solicitações HTTP por URI e mostra o número de solicitações para cada URI.
HTTP/Requests:
/index.html 1 requests
/images/logo.png 2 requests
Exportando para Diferentes Formatos de Texto
Além dos formatos binários, o tshark também pode exportar dados para formatos de texto, que geralmente são mais fáceis de analisar.
Exportando para CSV
Para exportar campos específicos da captura para um arquivo CSV, você pode usar o seguinte comando:
tshark -r /home/labex/project/capture.pcapng -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, > /home/labex/project/tcp_summary.csv
Aqui, -T fields especifica que queremos exportar campos específicos. A opção -e é usada para definir os campos que queremos exportar, como número do quadro, IPs de origem e destino e portas TCP de origem e destino. -E header=y adiciona um cabeçalho ao arquivo CSV e -E separator=, define o separador como uma vírgula.
Examinando a Exportação CSV
Depois de exportar os dados para um arquivo CSV, você pode visualizar rapidamente as primeiras linhas do arquivo usando o comando head:
head -5 /home/labex/project/tcp_summary.csv
A saída pode ser assim:
frame.number,ip.src,ip.dst,tcp.srcport,tcp.dstport
1,192.168.1.100,93.184.216.34,43210,443
2,93.184.216.34,192.168.1.100,443,43210
3,192.168.1.100,93.184.216.34,43210,443
...