O Wireshark é uma ferramenta de código aberto que decodifica protocolos de rede na pilha Thread, como IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Estabelecimento de links de malha), UDP e CoAP.
A ferramenta MapReduce do Pyspinel se conecta a um dispositivo RCP ou RCP do Thread e os converte em um detector de pacotes promíscuo, gerando um stream pcap (captura de pacotes) para ser salvo ou canalizado diretamente no Wireshark.
Para usar o Wireshark com o Pyspinel, consulte as recomendações de instalação na próxima etapa. Também será necessário configurar o Wireshark para exibir corretamente os pacotes Thread e receber medições RSSI.
Instalar o Wireshark
Linux
Abra um terminal e execute os seguintes comandos para fazer o download e instalar o Wireshark:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Recomendamos executar o Wireshark como um usuário que não seja root
. Para fazer isso, reconfigure o pacote:
sudo dpkg-reconfigure wireshark-common
Quando a caixa de diálogo perguntando "Quem não é superadministrador conseguir capturar pacotes?",
selecione Sim, adicione o usuário wireshark
e atualize as permissões do arquivo:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS e Windows
Faça o download e instale o Wireshark. Para otimizar a segurança do sistema operacional, consulte Wireshark, informações específicas da plataforma sobre privilégios de captura.
Configurar protocolos do Wireshark
Para configurar protocolos, selecione Preferences... no Wireshark e expanda a seção Protocolos.
6LoWPAN
Selecione 6LoWPAN na lista de protocolos e verifique ou altere as seguintes configurações:
- Desmarque Derivar ID de acordo com a RFC 4944.
- Atualize o Context 0 com o prefixo local da malha para a rede Thread de destino.
O Wireshark usa as configurações de contexto para analisar o endereço IPv6 compactado e exibir corretamente os endereços IPv6 de origem e destino.
Para mostrar os endereços de outros prefixos de malha configurados no gateway, atualize outros IDs de contexto com esses prefixos.
Para receber o ID do contexto de um prefixo de malha específico, visualize o TLV de dados da rede Thread em qualquer mensagem de resposta de dados MLE. Exemplo:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Selecione CoAP na lista de protocolos e defina a Porta UDP CoAP como 61631. Isso garante que as mensagens do TMF (como "solicitar endereço") sejam exibidas.
IEEE 802.15.4
Selecione IEEE 802.15.4 na lista de protocolos e verifique ou altere as seguintes configurações:
- Defina Ethertype 802.15.4 (em hexadecimal) como "0x809a".
- Defina o Pacote de segurança como "Criptografia AES-128, proteção de integridade de 32 bits".
Clique no botão Editar... ao lado de Chaves de descriptografia, que é onde você adiciona a chave mestra da rede Thread para descriptografia de pacotes.
- Clique em + para adicionar uma chave de descriptografia.
- Insira a chave mestra da rede Thread na coluna Chave de descriptografia.
- Digite "1" como o índice da chave de descriptografia.
Selecione Hash da linha de execução na caixa de listagem da coluna Hash da chave.
Clique em OK para salvar a chave de descriptografia.
Conversa
Selecione Thread na lista de protocolos e verifique ou altere as seguintes configurações:
- Digite "00000000" no Contador da sequência de linhas de execução.
- Desmarque Usar o ID do PAN como os dois primeiros octetos da chave mestra.
- Marque a opção Adquirir automaticamente o contador de sequência da linha de execução.
Clique no botão OK para salvar as alterações do protocolo.
Parte do tráfego Thread pode ser analisado como o protocolo ZigBee. Para exibir corretamente esses dois protocolos, edite os protocolos ativados no Wireshark:
- No Wireshark, acesse Analyze e clique em Enabled Protocols.
Desmarque os seguintes protocolos:
- LwMesh (em inglês)
- ZigBee (link em inglês)
- Energia verde no ZigBee
Configurar RSSI do Wireshark
Para exibir RSSI no Wireshark:
- Selecione Preferências..., abra a seção Protocolos e clique em IEEE 802.15.4.
Defina o formato FCS:
- Se o IEEE 802.15.4 TAP estiver desativado: metadados TI2 CC24xx.
- Se o IEEE 802.15.4 TAP estiver ativado: ITU-T CRC-16. Se você estiver seguindo
o guia Pacote de detecção para o Nordic Semiconductor nRF52840
DK, consulte a sinalização
--tap
para mais informações.
Clique em OK para salvar e voltar ao menu Preferences.
Em Preferências, selecione Aparência e Colunas.
Adicionar uma nova entrada:
- Título: RSSI
- Tipo: personalizado
- Campos: wpan.rssi