Посмотреть исходный код на GitHub
Wireshark — это инструмент с открытым исходным кодом, который может декодировать сетевые протоколы в стеке потоков, такие как IEEE 802.15.4, 6LoWPAN, IPv6, MLE (установление Mesh Link), UDP и CoAP.
Инструмент сниффера Pyspinel подключается к устройству Thread NCP или RCP и преобразует его в беспорядочный анализатор пакетов, генерируя поток pcap (перехвата пакетов), который нужно сохранить или передать непосредственно в Wireshark.
Чтобы использовать Wireshark с Pyspinel, обратитесь к рекомендациям по установке на следующем шаге. Вам также необходимо настроить Wireshark для правильного отображения пакетов Thread и получения измерений RSSI.
Установить Вайршарк
Линукс
Откройте терминал и выполните следующие команды, чтобы загрузить и установить Wireshark:
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Мы рекомендуем запускать Wireshark от имени пользователя без полномочий root
. Для этого перенастройте пакет:
sudo dpkg-reconfigure wireshark-common
Когда вы увидите диалоговое окно с вопросом: «Должны ли пользователи, не обладающие правами суперпользователя, иметь возможность перехватывать пакеты?», выберите «Да» , затем добавьте пользователя wireshark
и обновите права доступа к файлам:
sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap
macOS и Windows
Загрузите и установите Wireshark . Чтобы оптимизировать безопасность вашей операционной системы, обратитесь к Wireshark — информации о правах захвата для конкретной платформы .
Настройка протоколов Wireshark
Чтобы настроить протоколы, выберите «Настройки...» в Wireshark и разверните раздел «Протоколы» .
6LoWPAN
Выберите 6LoWPAN из списка протоколов и проверьте или измените следующие настройки:
- Снимите флажок «Получить идентификатор согласно RFC 4944» .
- Обновите контекст 0 , указав локальный префикс Mesh для целевой сети потоков.
Wireshark использует конфигурации контекста для анализа сжатого адреса IPv6 и правильного отображения адресов источника и назначения IPv6.
Чтобы отобразить адреса для других префиксов внутри сети, настроенных на шлюзе, обновите другие идентификаторы контекста этими префиксами.
Чтобы получить идентификатор контекста для определенного префикса в сети, просмотрите TLV данных сети потока в любом ответном сообщении данных MLE. Например:
Context 1: fd00:7d03:7d03:7d03::/64
КоАП
Выберите CoAP из списка протоколов и установите порт CoAP UDP на 61631. Это гарантирует отображение сообщений TMF (например, запроса адреса).
ИЭЭЭ 802.15.4
Выберите IEEE 802.15.4 из списка протоколов и проверьте или измените следующие настройки:
- Установите для 802.15.4 Ethertype (в шестнадцатеричном формате) значение «0x809a».
- Установите для пакета безопасности значение «Шифрование AES-128, 32-битная защита целостности».
Нажмите кнопку «Редактировать...» рядом с пунктом «Ключи расшифровки» , где вы добавляете главный ключ сети Thread для расшифровки пакетов.
- Нажмите +, чтобы добавить ключ дешифрования .
- Введите главный ключ сети Thread в столбец «Ключ дешифрования» .
- Введите «1» в качестве индекса ключа дешифрования .
Выберите Хэш потока в списке Столбец хэша ключа .
Нажмите «ОК» , чтобы сохранить ключ дешифрования.
Нить
Выберите Thread из списка протоколов и проверьте или измените следующие настройки:
- Введите «00000000» для счетчика последовательности потоков .
- Снимите флажок Использовать PAN ID в качестве первых двух октетов главного ключа .
- Установите флажок Автоматически получать счетчик последовательности потоков .
Нажмите кнопку ОК , чтобы сохранить изменения протокола.
Некоторый трафик потоков может быть проанализирован как протокол ZigBee. Чтобы правильно отобразить эти два протокола, отредактируйте включенные протоколы в Wireshark:
- В Wireshark перейдите в раздел «Анализ» , затем нажмите «Включенные протоколы» .
Снимите флажки со следующих протоколов:
- LwMesh
- ЗигБи
- ZigBee Зеленая Сила
Настройте RSSI Wireshark
Чтобы отобразить RSSI в Wireshark:
- Выберите «Настройки...» и разверните раздел «Протоколы» , затем нажмите IEEE 802.15.4 .
Установите формат FCS :
- Если TAP IEEE 802.15.4 отключен: метаданные TI CC24xx .
- Если включен TAP IEEE 802.15.4: ITU-T CRC-16 . Если вы следуете руководству по анализу пакетов для Nordic Semiconductor nRF52840 DK, обратитесь к флагу
--tap
для получения дополнительной информации.
Нажмите «ОК» , чтобы сохранить изменения и вернуться в меню «Настройки» .
В настройках выберите «Внешний вид» , затем «Столбцы» .
Добавить новую запись:
- Название: РССИ
- Тип: Пользовательский
- Поля: wpan.rssi