Анализ пакетов с использованием Extcap, Анализ пакетов с использованием Extcap

Посмотреть исходный код на GitHub

В этом руководстве рассказывается, как настроить extcap для Wireshark для перехвата пакетов из сети Thread.

Чтобы использовать Pyspinel для анализа пакетов без extcap, обратитесь к разделу Анализ пакетов с помощью Pyspinel .

Настройка среды сниффера

Прежде чем начать, выполните следующие шаги:

Проверка

Это руководство было проверено с помощью Zolertia Firefly ( SoC Texas Instruments CC2538 ) на следующих хост-системах:

  • Debian 4.19.37 — Wireshark 3.0.4
  • macOS Мохаве 10.14.6 — Wireshark 3.0.5
  • 64-битная Windows 10 версии 17134 — Wireshark 3.0.6

Собираем и прошиваем сниффер

Инструкции по сборке и прошивке различаются в зависимости от платформы.

Инструкции по сборке и обновлению CC2538 см. в примере README CC2538 на GitHub.

Общие инструкции по сборке см. в разделе Как собрать OpenThread .

Используйте сниффер

Экран захвата Wireshark отображается при первом запуске Wireshark. В нем должен быть указан список аппаратных интерфейсов, подключенных к анализатору OpenThread.

Захват из единого интерфейса

Если вы впервые используете интерфейс, нажмите кнопку «Параметры» слева от интерфейса:

OT Sniffer Wireshark Захват Extcap

  1. Установите для канала нужное значение.
  2. Проверьте IEEE 802.15.4 TAP, чтобы убедиться, что информация о канале включена в выходные данные pcap и может отображаться в графическом интерфейсе Wireshark.
  3. Установите флажок «Сохранить параметры при запуске захвата» , чтобы гарантировать, что эти параметры будут сохранены после начала захвата, чтобы избежать необходимости устанавливать их снова при следующем использовании интерфейса (если вам не нужно сменить канал).
  4. Нажмите «Пуск» .

Параметры Extcap OT Sniffer Wireshark

Если ваши параметры уже сохранены, начните анализ, выбрав аппаратный интерфейс и щелкнув значок Wireshark в левом верхнем углу.

Захват с нескольких интерфейсов

Выберите все аппаратные интерфейсы, перечисленные на экране захвата, и щелкните значок Wireshark в левом верхнем углу.

Используйте эти поля для идентификации отдельных анализаторов при захвате данных с нескольких интерфейсов:

  • Идентификатор интерфейса (frame.interface_id) — идентификатор интерфейса, используемый Wireshark для идентификации интерфейса захвата.
  • Имя интерфейса (frame.interface_name) — имя интерфейса, используемое Wireshark для идентификации интерфейса захвата.
  • Канал (wpan-tap.ch_num) — канал захвата IEEE 802.15.4 (диапазон: 11–26).

Пакеты Extcap OT Sniffer Wireshark

Поиск неисправностей

Сниффер OpenThread не указан как интерфейс Wireshark.

  1. Если у вас установлено несколько интерпретаторов Python, убедитесь, что в сценарии extcap используется интерпретатор Python 3. Pyspinel не поддерживает Python 2.
  2. Проверьте, пронумеровано ли оборудование на USB и загружены ли драйверы.
  3. Убедитесь, что на аппаратное обеспечение установлена ​​правильная прошивка (NCP или RCP).
  4. Убедитесь, что сценарий Python, расположенный по пути extcap, является исполняемым.
    • Для OS X и Linux:
      1. Убедитесь, что для файла extcap_ot.py имеется разрешение на выполнение:
        ls -l extcap_ot.py
        
      2. Если разрешение на выполнение (x) отсутствует, измените разрешения:
        chmod +x extcap_ot.py
        
      3. Убедитесь, что интерфейс указан в списке:
        extcap_ot.py --extcap-interfaces
        
    • Для Windows:
      1. Убедитесь, что интерфейс указан в списке:
        extcap_ot.bat --extcap-interfaces
        
      2. Если это завершается с ошибкой Python, убедитесь, что версия Python — 3.x:
        py -3 --version
        

Wireshark позволяет захватывать пакеты только пользователю root

Во время установки Wireshark в Ubuntu пользователю будет предложено выбрать один из следующих вариантов:

  1. Создайте группу пользователей wireshark и разрешите всем членам этой группы перехватывать пакеты.
  2. Разрешить захват пакетов только пользователю root .

Использование Wireshark в качестве пользователя root настоятельно не рекомендуется. Если вы выбрали этот вариант, измените настройку:

sudo dpkg-reconfigure wireshark-common

Если Wireshark настроен на ограничение захвата членами группы wireshark , вам может потребоваться добавить в группу нужного пользователя:

sudo usermod -a -G wireshark user

Также добавьте правильного пользователя в группу dialout :

sudo usermod -a -G dialout user

Закройте и перезапустите Wireshark, чтобы применить новые настройки группы пользователей.

Ошибка формата Wireshark при захвате на нескольких USB-интерфейсах в Windows

Это известная проблема некоторых старых версий Wireshark. Убедитесь, что вы используете Wireshark 3.0.6 или более позднюю версию.