A captura de pacotes Wi-Fi permite ver detalhes e interações que, de outra forma, seriam mascarados antes de chegar ao software em execução em um dispositivo. Isso torna essas capturas uma ferramenta importante para alguns tipos de bugs.
As principais etapas envolvidas são:
- Encontre o canal certo para rastrear.
- Capture o tráfego.
- Compartilhe a captura e um hash da sua senha de WLAN.
1. Determinar o canal e a largura certos
As redes WLAN operam em:
- um canal, geralmente indicado por um número. 1 a 13 para canais de 2,4 GHz e 36 a 200 para canais de 5 GHz.
- com uma largura específica (20 MHz, 40 MHz, 80 MHz ou 160 MHz)
Cada ponto de acesso (por exemplo, roteador, nó de malha) na sua rede geralmente tem um canal exclusivo de 2,4 GHz e um de 5 GHz.Você precisa descobrir a qual deles o dispositivo está conectado. Há várias opções:
Usar o painel de controle do roteador
Se você usa o Nest WiFi, pule essa opção. As informações não são expostas.
A maioria dos roteadores tem uma lista de dispositivos conectados e qual canal e largura eles estão usando.
- Encontre o endereço IP do roteador usando este guia.
- Acesse o endereço do roteador no navegador da Web. Por exemplo, http://192.168.1.1.
- Faça login. Não sabe sua senha? Procure uma etiqueta no roteador ou use Senhas de roteador.
Procure uma página chamada "clientes" ou "dispositivos conectados". Por exemplo, uma página de roteador Netgear pode ser parecida com esta ou com dispositivos Eero.
Talvez seja necessário procurar em outro lugar nas configurações para mapear as informações da etapa 4 para um canal e uma largura de banda específicos. Por exemplo, um roteador Netgear:
Use o Mac, se ele já estiver conectado ao mesmo canal
Mantenha pressionada a tecla Option no teclado e clique no ícone WLAN no canto superior direito da barra de status do Mac. O menu WLAN normal vai aparecer com mais algumas opções e informações. Confira os itens de menu indisponíveis e procure aquele que menciona "Canal":
`Channel 60 (DFS, 5GHz, 40MHz)`
Não é possível encontrar canal e largura
Se os outros métodos não funcionarem, tente:
Liste todos os canais que seus pontos de acesso estão usando (normalmente dois para cada ponto de acesso ou ponto de malha).
a. Recomendado: com um smartphone Android, use um app como Wifiman ou Aruba Utilities.
a. Em um Mac, use
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
para listar as opções.Faça uma captura curta (até 15 segundos são suficientes) em cada um desses canais, seguindo as instruções abaixo.
Instale o Wireshark. Para receber ajuda, consulte Instalar o Wireshark.
Abra cada uma das capturas usando o Wireshark, aplique um filtro de exibição de
wlan.addr == YOUR_DEVICE'S_MAC
e verifique se algum pacote aparece.
2. Iniciar a captura
Importante: captura do handshake de quatro vias
Se a segurança estiver ativada para o Wi-Fi, você precisará saber as chaves de criptografia para descriptografar os pacotes capturados. As chaves de criptografia são derivadas de um handshake de quatro vias que ocorre quando o dispositivo se conecta à rede e são exclusivas para cada conexão entre um dispositivo e o AP.
Por isso, é NECESSÁRIO capturar o handshake de quatro vias para descriptografar payloads de Wi-Fi. Se o dispositivo já estiver conectado à rede quando você iniciar a captura, desconecte e reconecte o dispositivo (ou reinicie-o) assim que o rastreamento começar.
Capturar no Mac
Enquanto mantém pressionada a tecla "Option" no teclado, clique no ícone WLAN e selecione "Abrir Diagnóstico Sem Fio…":
Na barra de menus do Wireless Diagnostics, selecione Window > Sniffer:
Defina o canal e a largura com os valores recuperados anteriormente. O exemplo de captura de tela é para o canal 60 e a largura de 40 MHz:
Pressione Start
e digite sua senha. Agora, tente reproduzir o problema.
Capture o handshake de quatro vias de uma conexão, conforme indicado em
Capturar o handshake de quatro vias.
Quando terminar, pressione Stop
. Um novo arquivo *.pcap
pode ser encontrado em /var/tmp
, que
contém todo o tráfego. Um exemplo de nome de arquivo é:
(null)_ch100_2018-11-06_10.52.01.pcap
.
Captura no Linux
Desative o Wi-Fi. Isso pode ser feito:
- Como usar a GUI (recomendado)
- Usando a CLI do Network Manager para interromper o gerenciamento da interface WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Se você estiver usando um gerenciador de rede alternativo, faça os ajustes necessários.
Salve o script. Substitua
<wlan-ifname>
pelo nome da sua interface Wi-Fi. Neste documento, presumimos que o nome do script sejasetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Execute o script anterior e transmita o canal e a largura de banda mais alta para farejar. Por exemplo, o canal 153 com largura de banda de 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Abra o Wireshark. Agora você poderá capturar pacotes na interface wlan.
3. Compartilhar a captura
Use o Gerador de PSK WPA (chave bruta) para gerar um hash da sua senha. Isso permite descriptografar a captura sem saber sua senha de texto simples.
Você também precisa compartilhar a PSK gerada para que outras pessoas possam descriptografar a captura.
Apêndice
Instalar o Wireshark
É possível instalar o Wireshark usando "apt install wireshark" no Linux ou fazer o download on-line no site do Wireshark.
Configurar o Wireshark para descriptografar o tráfego
Isso não é necessário para compartilhar seus arquivos de captura. Faça isso apenas se quiser examinar o tráfego descriptografado no Wireshark.
Com a segurança WPA2 no Wi-Fi, o WPA2-PSK não é usado diretamente para criptografia e descriptografia do tráfego. Ele é usado em um handshake de quatro vias, que você precisa capturar para descriptografar pacotes. No entanto, se você estiver tentando capturar apenas problemas de conexão com o Wi-Fi ou quedas de conectividade, que podem ser obtidos de frames de gerenciamento de Wi-Fi, não é necessário capturar o handshake de quatro vias. De qualquer forma, não custa nada capturar.
Abra o Wireshark e a página "Preferências" (Menu do Wireshark > Preferências ou **Cmd + , **).
Encontre a seção "IEEE 802.11" na categoria "Protocolos" e verifique se a opção "Ativar descriptografia" está marcada:
Clique no botão Editar ao lado do rótulo Chaves de descriptografia.
Clique no botão "+" no canto inferior esquerdo e selecione a opção "wpa-pwd".
Clique na coluna da chave da linha recém-criada (ao lado da string wpa-pwd), digite a PSK e o SSID do WPA2 no formato
<password>:<ssid>
. Por exemplo, se o nome da rede forMyHomeNetwork
e o WPA2 PSK formyp4ssword
, digitemyp4ssword:MyHomeNetwork
.Clique em "OK" para confirmar
Para mais informações, consulte o guia oficial do Wireshark (com capturas de tela) em Como descriptografar 802.11.
Se você estiver usando tshark
, transmita os seguintes argumentos:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Colorir dados 802.11 do Wireshark
Há um perfil de cores 802.11 útil em metageek.com: Perfil de configuração do Wireshark (em inglês).