sexta-feira, 7 de novembro de 2014

Sniffer de pacotes Zigbee ou IEEE 802.15.4 com o Wireshark

Para análise da troca de mensagens de redes de sensores sem fio, especialmente 6LowPAN, a melhor forma é através de um sniffer wireless, que capturasse pacotes IEEE 802.15.4 . Para isso adquiri no dx.com um dongle USB com o chip CC2531 da Texas Instruments. Primeiro tentei utilizar o software disponível pela Texas, mas percebi que era muito ruim, muito inferior ao que normalmente utilizamos, o Wireshark.
Encontrei um projeto muito interessante, para Linux (embora pusesse ser usado no Windows, com muito trabalho), chamado ccsniffpiper. É um programa em Python, que cria um "pipe" entre o dongle USB e o Wireshark. Inicialmente não funcionou com o dongle do dx.com (provavelmente um problema de versão de firmware), mas o Andrew, autor do ccsniffpiper, rapidamente me deu uma dica valiosa e ele funcionou muito bem.
O uso do dongle no Linux me criou um certo transtorno, por ter de rodar o ccsniffpiper e o Wireshark em uma máquina separada (um Raspberry Pi). Ontem encontrei, por acaso uma solução. A Texas Instruments incluiu no pacote  TIMAC 1.5.1 o software TiWsPc, TI Wireshark Packet Converter. Ele faz o mesma função do ccsniffpiper, para Windows. Testei no meu Windows 7 64 Bits e funcionou perfeitamente.
Para configurar, basta rodar o programa TiWsPc com o dongle instalado, e configurar o device com o número do canal:


Em seguida configure o Wireshark para inserir o pipe como uma nova interface em Capture -> Options:


Em seguida, configure em Edit -> Preferences -> Protocols -> IEEE 802.15.4 o FCS para o chip TI CC2531:


E está pronto, basta iniciar a captura.




Nenhum comentário:

Postar um comentário