Detecção de pacotes usando o Extcap

Veja o código-fonte no GitHub

Este guia mostra como configurar o extcap para o Wireshark para detectar pacotes em uma rede Thread.

Para usar o Pyspinel na detecção de pacotes sem excesso de recursos, consulte Pesquisa de pacotes com o Pyspinel.

Configurar o ambiente WebRTC

Antes de começar, siga estas etapas:

Verificação

Este guia foi verificado com o Zolertia Firefly (Texas Instruments CC2538 SoC) nos seguintes sistemas host:

  • Debian 4.19.37 — Wireshark 3.0.4
  • macOS Mojave 10.14.6 — Wireshark 3.0.5
  • Windows 10 de 64 bits versão 17134 — Wireshark 3.0.6

Criar e atualizar o WebRTC

As instruções de compilação e atualização variam de acordo com a plataforma.

Para instruções sobre como criar e atualizar o CC2538, consulte o README de exemplo do CC2538 (link em inglês) no GitHub.

Para ver instruções gerais do build, consulte Como criar o OpenThread.

Usar o

A tela de captura do Wireshark aparece quando o Wireshark é iniciado pela primeira vez. Ele precisa listar as interfaces de hardware conectadas a um WebRTC do OpenThread.

Capturar de uma única interface

Se esta for a primeira vez que você usa uma interface, clique no botão Opções à esquerda da interface:

Captura de Extcap do OT Sniffer Wireshark

  1. Defina Channel com o valor desejado.
  2. Verifique o IEEE 802.15.4 TAP para garantir que as informações do canal sejam incluídas na saída pcap e possam ser exibidas na GUI do Wireshark.
  3. Marque Salvar parâmetros no início da captura para garantir que esses parâmetros sejam salvos após o início da captura e para evitar a necessidade de defini-los novamente na próxima vez que você usar a interface, a menos que seja necessário mudar o canal.
  4. Clique em Iniciar.

Opções de Extcap do OT Sniffer Wireshark

Se os parâmetros já estiverem salvos, selecione a interface de hardware e clique no ícone do Wireshark no canto superior esquerdo para iniciar a detecção.

Capturar de várias interfaces

Selecione todas as interfaces de hardware listadas na tela de captura e clique no ícone Wireshark no canto superior esquerdo.

Use esses campos para identificar drawables individuais ao capturar usando várias interfaces:

  • ID da interface (frame.interface_id): identificador de interface usado pelo Wireshark para identificar uma interface de captura
  • Nome da interface (frame.interface_name): nome da interface usado pelo Wireshark para identificar uma interface de captura.
  • Canal (wpan-tap.ch_num): canal de captura IEEE 802.15.4 (intervalo: 11 a 26)

Pacotes de Extcap do OT Sniffer Wireshark

Solução de problemas

O WebRTC do OpenThread não está listado como uma interface Wireshark

  1. Se você tiver vários interpretadores do Python instalados, verifique se o interpretador do Python 3 é usado pelo script de saída. O Pyspinel não é compatível com o Python 2.
  2. Verifique se o hardware está enumerado no USB e se os drivers estão carregados.
  3. Verifique se o firmware correto (NCP ou RCP) foi atualizado no hardware.
  4. Verifique se o script Python localizado no caminho extcap é executável.
    • Para OS X e Linux:
      1. Verifique se a permissão de execução está presente no arquivo extcap_ot.py:
        ls -l extcap_ot.py
        
      2. Se a permissão de execução (x) estiver ausente, modifique as permissões:
        chmod +x extcap_ot.py
        
      3. Verifique se a interface está listada:
        extcap_ot.py --extcap-interfaces
        
    • Para Windows:
      1. Verifique se a interface está listada:
        extcap_ot.bat --extcap-interfaces
        
      2. Se isso sair com um erro do Python, verifique se a versão é 3.x:
        py -3 --version
        

O Wireshark só permite que o usuário raiz capture pacotes

Durante a instalação do Wireshark no Ubuntu, o usuário precisará escolher uma das seguintes opções:

  1. Crie o grupo de usuários wireshark e permita que todos os membros desse grupo capturem pacotes.
  2. Permitir que apenas o usuário root capture pacotes.

Não é recomendável usar o Wireshark como usuário root. Se você escolheu essa opção, altere a configuração:

sudo dpkg-reconfigure wireshark-common

Se o Wireshark tiver sido configurado para restringir a captura a membros do grupo wireshark, talvez seja necessário adicionar o usuário correto ao grupo:

sudo usermod -a -G wireshark user

Adicione também o usuário correto ao grupo dialout:

sudo usermod -a -G dialout user

Feche e reinicie o Wireshark para aplicar as novas configurações de grupos de usuários.

Erro de formato do Wireshark ao capturar várias interfaces USB no Windows

Esse é um problema conhecido para algumas versões antigas do Wireshark. Verifique se você está usando o Wireshark 3.0.6 ou mais recente.