O Wireshark é uma ferramenta de código aberto que decodifica protocolos de rede na linha de execução pilha, como IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Estabelecimento de links de malha), UDP, e CoAP.
A ferramenta sniffer Pyspinel se conecta a um dispositivo Thread NCP ou RCP e o converte em um sniffer de pacote promíscuo, gerando um fluxo pcap (captura de pacote) para salvos ou encaminhados diretamente para o Wireshark.
Para usar o Wireshark com o Pyspinel, consulte as recomendações de instalação na para a próxima etapa. Também é preciso configurar o Wireshark para mostrar corretamente os pacotes de Thread e receber medições de 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 do root
. Para fazer isso, reconfigure o pacote:
sudo dpkg-reconfigure wireshark-common
Quando aparecer a caixa de diálogo "Os não superusuários podem capturar pacotes?",
selecione Yes, 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 sistema, 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 o Seção Protocolos.
LoWPAN
Selecione 6LoWPAN na lista de protocolos e verifique ou altere o seguinte configurações:
- Desmarque Derive ID conforme a RFC 4944.
- Atualize o Context 0 com o prefixo local da malha para a linha de execução de destino. em uma rede VPC.
O Wireshark usa configurações de contexto para analisar o endereço IPv6 compactado e exibir os endereços IPv6 de origem e destino corretamente.
Para mostrar os endereços de outros prefixos da malha configurados no gateway, faça o seguinte: atualizar outros IDs de contexto com esses prefixos.
Para conseguir o ID de contexto de um prefixo específico na malha, consulte os dados da rede Thread. TLV em qualquer mensagem de resposta de dados do MLE. Exemplo:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Selecione CoAP na lista de protocolos e defina a Porta UDP CoAP para 61631. Isso garante que as mensagens do TMF (como solicitações de endereço) sejam exibidas.
IEEE 802.15.4
Selecione IEEE 802.15.4 na lista de protocolos e verifique ou altere a seguintes configurações:
- Defina 802.15.4 Ethertype (in hexadecimal) como "0x809a".
- Defina o Pacote de segurança como "Criptografia AES-128, integridade de 32 bits". Proteção".
Clique no botão Editar... ao lado de Chaves de descriptografia, que é onde você adicionar 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 de chave de descriptografia.
Selecione Hash da linha de execução na caixa de listagem da coluna Hash de chave.
Clique em OK para salvar a chave de descriptografia.
Conversa
Selecione Thread na lista de protocolos e verifique ou altere o seguinte configurações:
- Insira "00000000". Para o contador de sequência de linhas de execução.
- Desmarque Usar o ID do PAN como os dois primeiros octetos da chave mestra.
- Marque Adquirir automaticamente o contador de sequência de linhas de execução.
Clique no botão OK para salvar as alterações de protocolo.
Parte do tráfego de Thread pode ser analisado como o protocolo ZigBee. Para corretamente exibir estes dois protocolos e editar os protocolos ativados no Wireshark:
- No Wireshark, acesse Analyze e clique em Enabled Protocols.
Desmarque os seguintes protocolos:
- LwMesh
- ZigBee
- ZigBee Green Power (link em inglês)
Configurar RSSI do Wireshark
Para exibir o RSSI no Wireshark:
- Selecione Preferências..., expanda 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 TI CC24xx.
- Se o IEEE 802.15.4 TAP estiver ativado: ITU-T CRC-16. Se você estiver seguindo
o guia Interceptação de pacote do NRF52840 de semicondutores nórdicos
DK, consulte a flag
--tap
para mais informações.
Clique em OK para salvar e retornar ao menu Preferences.
Em Preferências, selecione Aparência e Colunas.
Adicionar uma nova entrada:
- Título: RSSI
- Tipo: Custom
- Campos: wpan.rssi