
Mesmo um conhecimento superficial do
Wireshark e seus filtros economizará uma ordem de grandeza na solução de problemas de rede ou da camada de aplicativos. O Wireshark é útil para muitas tarefas no trabalho de um engenheiro de rede, especialista em segurança ou administrador de sistemas. Aqui estão alguns exemplos de uso:
Solução de problemas de conectividade de rede
- Exibição visual de perda de pacotes
- Análise de retransmissão TCP
- Gráfico de pacotes atrasados
Explorando sessões no nível do aplicativo (mesmo ao criptografar com SSL / TLS, veja abaixo)
- Visualização completa de sessões HTTP, incluindo todos os cabeçalhos e dados para solicitações e respostas
- Ver sessões Telnet, ver senhas, comandos e respostas inseridos
- Visualize tráfego SMTP e POP3, leia e-mails
Solucionar problemas de DHCP com dados em nível de pacote
- Explorando traduções de difusão DHCP
- A segunda etapa da troca DHCP (oferta DHCP) com o endereço e os parâmetros
- Solicitação do cliente no endereço proposto
- Confirmar a partir do servidor confirmando a solicitação
Extrair arquivos de sessões HTTP
- Exportando objetos de HTTP, como JavaScript, imagens ou até executáveis
Extrair arquivos de sessões SMB
- Semelhante à opção de exportação HTTP, mas extraindo arquivos transferidos via SMB, o protocolo de compartilhamento de arquivos no Windows
Detecção e verificação de malware
- Detecção de comportamento anormal que pode indicar malware
- Pesquise domínios incomuns ou IPs finais
- Gráficos de E / S para detectar conexões persistentes (beacons) com servidores de gerenciamento
- Filtrando dados “normais” e detectando dados incomuns
- Recupere respostas DNS grandes e outras anomalias que podem indicar malware
Verificando varreduras de portas e outros tipos de varreduras quanto a vulnerabilidades
- Entendendo o tráfego de rede proveniente dos scanners
- Análise de procedimentos de verificação de vulnerabilidade para distinguir entre falso positivo e falso negativo
Estes exemplos são apenas a ponta do iceberg. No guia, mostraremos como usar uma ferramenta tão poderosa.
Instale o Wireshark
O Wireshark roda em vários sistemas operacionais e é fácil de instalar. Mencione apenas Ubuntu Linux, Centos e Windows.
Instale no Ubuntu ou Debian
Instale no Fedora ou CentOS
Instalação do Windows
A
página de download contém o arquivo executável para instalação. O driver de captura de pacotes também é bastante simples de instalar, com a ajuda da qual a placa de rede entra no modo "inaudível" (o modo promíscuo permite receber todos os pacotes, independentemente de quem eles são endereçados).
Introdução aos filtros
Com a primeira interceptação, você verá um modelo padrão e detalhes do pacote na interface do Wireshark.
Depois de capturar uma sessão HTTP, pare a gravação e brinque com os filtros e configurações básicos de
Analyze | Siga | Fluxo HTTP .
Os nomes dos filtros falam por si. Basta digitar as expressões apropriadas na linha de filtro (ou na linha de comando, se estiver usando o tshark). A principal vantagem dos filtros é a remoção de ruído (tráfego que não é interessante para nós). Você pode filtrar o tráfego por endereço MAC, endereço IP, sub-rede ou protocolo. O filtro mais fácil é inserir
http
, portanto, apenas o
tráfego HTTP será exibido
(porta TCP 80) .
Exemplos de filtro IP
ip.addr == 192.168.0.5 !(ip.addr == 192.168.0.0/24)
Exemplos de filtro de protocolo
tcp udp tcp.port == 80 || udp.port == 80 http not arp and not (udp.port == 53)
Tente uma combinação de filtros que mostre todo o tráfego de saída, exceto HTTP e HTTPS, que é roteado para fora da
rede local . Essa é uma boa maneira de detectar software (mesmo malware) que interage com a Internet por meio de protocolos incomuns.
Siga o fluxo
Depois de capturar vários pacotes HTTP, é possível usar o item de menu
Analisar | em um deles.
Siga | Fluxo HTTP . Ele mostrará toda a sessão HTTP. Nesta nova janela, você verá uma solicitação HTTP do navegador e uma resposta HTTP do servidor.

Resolução de DNS no Wireshark
Por padrão, o Wireshark não resolve os endereços de rede no console. Isso pode ser alterado nas configurações.
Editar | Preferências Resolução de nomes | Ativar resolução de nome de redeAssim como no
tcpdump
, o procedimento de resolução diminuirá a exibição dos pacotes. Também é importante entender que, quando você captura pacotes online, as consultas DNS do seu host se tornam tráfego adicional que pode ser interceptado.
Tshark para linha de comando
Se você ainda não se interessou pelo
tshark
, dê uma olhada no nosso
guia com exemplos de filtros . Esse programa geralmente é ignorado, embora seja ótimo para capturar sessões em um sistema remoto. Diferentemente do
tcpdump
, ele permite capturar e visualizar sessões no nível do aplicativo em tempo real: decodificadores de protocolo Wireshark também estão disponíveis para o tshark.
Criando regras de firewall
Aqui está uma maneira rápida de criar regras a partir da linha de comando para que você não procure na Internet por sintaxe específica. Selecione a regra apropriada e vá para
Ferramentas | Regras de ACL do firewall . Vários firewalls são suportados, como Cisco IOS,
ipfilter
,
ipfw
,
iptables
,
pf
e até o firewall do Windows através do
netsh
.

Trabalhar com GeoIP de base geográfica
Se o Wireshark for compilado com o suporte GeoIP e você tiver bancos de dados Maxmind gratuitos, o programa poderá determinar a localização dos computadores pelos respectivos endereços IP. Confira
Sobre | Wireshark , que o programa é compilado com a versão que você tem disponível. Se o GeoIP estiver na lista, verifique a presença dos bancos de dados GeoLite City, Country e ASNum no disco. Especifique a localização das bases no menu
Editar | Preferências Resolução de nomes .
Verifique o sistema para obter um despejo de tráfego selecionando a opção
Estatísticas | Pontos finais | IPv4 . A localização e as informações do ASN para o endereço IP devem aparecer nas colunas à direita.

Outro recurso do GeoIP é filtrar o tráfego por local, usando o filtro
ip.geoip
. Por exemplo, dessa maneira, você pode excluir o tráfego de um ASN específico. O comando abaixo exclui pacotes da unidade de rede ASN 63949 (Linode).
ip and not ip.geoip.asnum == 63949
Obviamente, o mesmo filtro pode ser aplicado
a cidades e países individuais . Remova o ruído e deixe apenas tráfego realmente interessante.
Descriptografia de sessões SSL / TLS
Uma maneira de descriptografar as sessões SSL / TLS é usar a chave privada do servidor ao qual o cliente está conectado.
Obviamente, você nem sempre tem acesso à chave privada. Mas há outra opção para simplesmente visualizar o tráfego SSL / TLS no sistema local. Se o Firefox ou Chrome for carregado usando uma variável de ambiente especial, as chaves simétricas das sessões SSL / TLS individuais serão gravadas em um arquivo que o Wireshark pode ler. Com essas teclas, o Wireshark mostrará uma sessão totalmente descriptografada!
1. Definindo a variável de ambiente
Linux / Mac export SSLKEYLOGFILE=~/sslkeylogfile.log
WindowsNas
propriedades do
sistema | Avançado, clique no botão
Variáveis de ambiente e adicione o nome da variável (SSLKEYLOGFILE) e o caminho para o arquivo como valor.
2. Configuração do Wireshark
No menu pop-up, selecione
Editar | Preferências Protocolos | SSL (Pré) - Nome do arquivo de log secreto mestre - Navegue especificando o arquivo que você especificou na variável de ambiente.
Comece a capturar o tráfego no seu sistema local.
3. Reiniciando o Firefox ou Chrome
Depois de acessar o site HTTPS, o arquivo de log começará a crescer em tamanho, à medida que grava chaves de sessão simétricas.
Dê uma olhada na sessão Wireshark lançada anteriormente. Você deve ver algo semelhante à captura de tela abaixo com sessões descriptografadas. Pacotes descriptografados - na guia no painel inferior.

Outra maneira de visualizar uma sessão é através do
Analysis | Siga | Stream | SSL Se a sessão for descriptografada com sucesso, você verá uma opção para SSL.
Obviamente, tenha cuidado ao escrever essas chaves e pacotes. Se um estranho obtiver acesso ao arquivo de log, ele encontrará facilmente suas senhas e cookies de autenticação.
Outra opção para acessar o tráfego HTTP básico é usar a ferramenta
Burp Suite com o certificado da CA carregado no navegador. Nesse caso, o proxy descriptografa a conexão no lado do cliente e estabelece uma nova sessão SSL / TLS no servidor. Existem muitas maneiras de realizar um ataque MiTM assim, essas são duas das mais fáceis.
Extrair arquivos de pacotes usando a função de exportação (HTTP ou SMB)
Os arquivos são facilmente extraídos através do menu de exportação.
Arquivo | Exportar objetos | HTTPTodos os arquivos encontrados serão exibidos em uma nova janela. A partir daqui, você pode salvar arquivos individuais ou todos de uma vez. Um método semelhante é usado para extrair arquivos de sessões SMB. Como já mencionamos, este é o protocolo Microsoft Server Message Block, usado para compartilhamento de arquivos no Windows.

Barra de status
A barra de status no lado direito da janela permite que você vá rapidamente para o local desejado no despejo de rede clicando no indicador de cores. Por exemplo, pacotes com erros são marcados em vermelho na barra de status.

Amostra PCAP
Quando você começa a trabalhar com o Wireshark, quero ver alguns despejos interessantes com pacotes. Eles podem ser encontrados na página
Amostras do
Wireshark . Haverá exemplos suficientes com protocolos diferentes para vários meses de análise, até amostras do tráfego de worms e explorações.
Configuração do ambiente
A aparência do console por padrão é altamente personalizável. Você pode adicionar ou remover colunas, adicionando coisas simples como uma coluna de horário UTC, que aumenta imediatamente o conteúdo das informações dos logs se você analisar o histórico dos pacotes.
As colunas são configuradas no
menu Editar | Preferências Aparência Colunas O modelo geral, a fonte e as cores também são alteradas lá.
No vídeo - dicas úteis para configurar o ambiente, incluindo solução de problemas para números de sequência TCP.
capinfos
O Wireshark vem com uma útil
capinfos
linha de comando
capinfos
. Este utilitário gera estatísticas de despejo em lote, com tempo de gravação inicial / final e outros detalhes. Com a opção
-T
, ele produz texto com guias - é adequado para importação em planilhas ou análises no console.
test@ubuntu:~$ capinfos test.pcap File name: test.pcap File type: Wireshark/tcpdump/... - pcap File encapsulation: Ethernet File timestamp precision: microseconds (6) Packet size limit: file hdr: 262144 bytes Number of packets: 341 k File size: 449 MB Data size: 444 MB Capture duration: 3673.413779 seconds First packet time: 2018-12-01 11:26:53.521929 Last packet time: 2018-12-01 12:28:06.935708 Data byte rate: 120 kBps Data bit rate: 967 kbps Average packet size: 1300.72 bytes Average packet rate: 93 packets/s SHA256: 989388128d676c329ccdbdec4ed221ab8ecffad81910a16f473ec2c2f54c5d6e RIPEMD160: 0742b6bbc79735e57904008d6064cce7eb95abc9 SHA1: d725b389bea044d6520470c8dab0de1598b01d89 Strict time order: True Number of interfaces in file: 1
Conclusão
Este artigo foi publicado originalmente em 2011 e atualizado seriamente. Se você tiver quaisquer comentários, melhorias ou dicas para as dicas,
escreva-me . O Wireshark é uma daquelas ferramentas indispensáveis que muitos usam, mas poucas são fluentes. Aqui você pode ir cada vez mais fundo.