Посмотреть исходный код на GitHub
Wireshark — это инструмент с открытым исходным кодом, который может декодировать сетевые протоколы в стеке потоков, такие как IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Establishment), UDP и CoAP.
Инструмент сниффера Pyspinel подключается к устройству Thread NCP или RCP и преобразует его в беспорядочный сниффер пакетов, генерируя поток pcap (захват пакетов) для сохранения или передачи непосредственно в Wireshark.
Чтобы использовать Wireshark с Pyspinel, обратитесь к рекомендациям по установке на следующем шаге. Вам также необходимо настроить Wireshark для правильного отображения пакетов потоков и получения измерений RSSI.
Установить Wireshark
линукс
Откройте терминал и выполните следующие команды, чтобы загрузить и установить 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
макОС и Виндовс
Скачайте и установите Wireshark . Чтобы оптимизировать безопасность для вашей операционной системы, обратитесь к Wireshark — информация о привилегиях захвата для конкретной платформы .
Настройка протоколов Wireshark
Чтобы настроить протоколы, выберите « Настройки... » в Wireshark и разверните раздел « Протоколы ».
6LoWPAN
Выберите 6LoWPAN из списка протоколов и проверьте или измените следующие настройки:
- Снимите флажок Получить идентификатор в соответствии с RFC 4944 .
- Обновите контекст 0 с помощью локального префикса Mesh для целевой сети Thread.
Wireshark использует конфигурации контекста для анализа сжатого IPv6-адреса и правильного отображения исходного и конечного адресов IPv6.
Чтобы отобразить адреса для других префиксов сети, настроенных на шлюзе, обновите другие идентификаторы контекста с помощью этих префиксов.
Чтобы получить идентификатор контекста для определенного префикса в сетке, просмотрите TLV сетевых данных потока в любом ответном сообщении данных MLE. Например:
Context 1: fd00:7d03:7d03:7d03::/64
CoAP
Выберите CoAP из списка протоколов и установите порт UDP CoAP на 61631. Это гарантирует отображение сообщений TMF (например, запрос адреса).
IEEE 802.15.4
Выберите IEEE 802.15.4 из списка протоколов и проверьте или измените следующие настройки:
- Установите для 802.15.4 Ethertype (в шестнадцатеричном формате) значение «0x809a».
- Установите Security Suite на «Шифрование AES-128, 32-битная защита целостности».
Нажмите кнопку Edit... рядом с Decryption Keys , где вы добавляете мастер-ключ сети Thread для расшифровки пакетов.
- Нажмите + , чтобы добавить ключ расшифровки .
- Введите Мастер-ключ сети потока в столбец Ключ расшифровки .
- Введите «1» в качестве индекса ключа дешифрования .
Выберите Хэш потока из списка столбца Хэш ключа .
Нажмите OK , чтобы сохранить ключ расшифровки.
Нить
Выберите Thread из списка протоколов и проверьте или измените следующие параметры:
- Введите «00000000» для счетчика последовательности потоков .
- Снимите флажок Использовать идентификатор PAN в качестве первых двух октетов главного ключа .
- Установите флажок Автоматически получать счетчик последовательности потоков .
Нажмите кнопку OK , чтобы сохранить любые изменения протокола.
Некоторый трафик Thread может быть проанализирован как протокол ZigBee. Чтобы правильно отображать эти два протокола, отредактируйте включенные протоколы в Wireshark:
- В Wireshark перейдите в «Анализ » и нажмите «Включенные протоколы ».
Снимите галочки со следующих протоколов:
- LwMesh
- ZigBee
- Зеленая мощность ZigBee
Настройка Wireshark RSSI
Чтобы отобразить RSSI в Wireshark:
- Выберите « Настройки... » и разверните раздел « Протоколы », затем нажмите « IEEE 802.15.4 ».
Установите формат FCS :
Нажмите OK , чтобы сохранить и вернуться в меню настроек .
В разделе «Настройки » выберите «Внешний вид », затем «Столбцы ».
Добавьте новую запись:
- Название: РССИ
- Тип: Пользовательский
- Поля: wpan.rssi