O Wireshark é uma ferramenta de código aberto que pode decodificar protocolos de rede na pilha Thread, como IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Estabelecimento de links de malha), UDP e CoAP.
A ferramenta preemptiva Pyspinel se conecta a um dispositivo RCP ou RCP do Thread e o converte em um pacote promissor de pacotes, gerando um fluxo pcap (captura de pacotes) a ser salvo ou conectado diretamente ao Wireshark.
Para usar o Wireshark com o Pyspinel, consulte as recomendações de instalação na próxima etapa. Você também precisará 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 a instalação do 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 solicitando que "Não superusuários possam 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 seu sistema operacional, consulte Wireshark — informações específicas da plataforma sobre privilégios de captura.
Configurar protocolos Wireshark
Para configurar protocolos, selecione Preferences... no Wireshark e expanda a seção Protocols.
6LowPAN
Selecione 6LoWPAN na lista de protocolos e verifique ou altere as seguintes configurações:
- Desmarque a opção Derivar ID de acordo com a RFC 4944.
- Atualize Context 0 com o prefixo local da rede do 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 na malha configurados no gateway, atualize outros IDs de contexto com esses prefixos.
Para ver o ID do contexto de um prefixo de malha específico, consulte 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 Porta UDP CoAP como 61631. Isso garante que as mensagens do TMF (como a solicitação de 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 (hexadecimal) como "0x809a".
- Defina o Security Suite como "AES-128 Encryption, 32-bit Integrity Protection".
Clique no botão Edit... ao lado de Decryption Keys, que é onde você adiciona a chave-mestra da rede Thread para descriptografia de pacotes.
- Clique em + para adicionar uma chave de descriptografia.
- Digite a chave mestra da rede Thread na coluna Chave de descriptografia.
- Digite "1" como o índice de chaves de descriptografia.
Selecione Hash da conversa na caixa de listagem da coluna Hash da chave.
Clique em OK para salvar a chave.
Thread
Selecione Thread na lista de protocolos e verifique ou altere as seguintes configurações:
- Digite "00000000" para o Contador de sequência da linha de execução.
- Desmarque Usar código do PAN como os dois primeiros octetos de chave mestra.
- Marque Adquirir automaticamente o contador de sequência de Thread.
Clique no botão OK para salvar as alterações do protocolo.
Parte do tráfego da linha de execução pode ser analisada 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
- ZiBee
- Energia verde ZigBee
Configurar RSSI do Wireshark
Para exibir RSSI no Wireshark:
- Selecione Preferences..., expanda a seção Protocols e clique em IEEE 802.15.4.
Defina o Formato FCS:
- Se o IEEE 802.15.4 TAP estiver desativado: metadados TI CC24xx.
- Se a IEEE 802.15.4 TAP estiver ativada: ITU-T CRC-16. Se você estiver seguindo
o guia de Detecção de pacote da Nordic Semiconductor nRF52840
DK, consulte a sinalização
--tap
para mais informações.
Clique em OK para salvar e voltar ao menu Preferências.
Em Preferências, selecione Aparência e depois Colunas.
Adicione uma nova entrada:
- Título: RSSI
- Tipo: personalizado
- Campos: wpan.rssi