一文看懂使用Nordic nRF52840 Dongle 作為ZigBee sniffer抓包
nRF52840 Dongle最早由Nordic 公司在2018年推出,Nordic公司宣稱nRF52840 Dongle是一種小型,低成本的USB Dongle。這款Dongle可以對ZigBee進(jìn)行抓包。本文檔介紹如何使用Nordic的nRF52840 Dongle當(dāng)作ZigBee sniffer來使用。
Nordic官方有如何將nRF52840 Dongle 用作ZigBee sniffer的英文介紹,鏈接地址:
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.0.0%2Fnrf802154_sniffer.html
本文使用的是RF-DG-40A作為nRF52840 Dongle,點(diǎn)擊下圖可購買。
一、工具下載
1.nRF52840 Dongle 用作ZigBee sniffer,首先需要去官方下載ZigBee sniffer固件,鏈接地址如下:
https://github.com/NordicSemiconductor/nRF-Sniffer-for-802.15.4
2.下載wireshark 2.4.5以上的版本,文中使用的是wireshark 3.2.3,鏈接地址如下:
https://www.wireshark.org/#download
Wireshark 安裝的時候需要注意以下幾點(diǎn):
(1)一定要勾選上紅框中的。
(2)選中USBPcap并進(jìn)行安裝,版本比圖示高也沒事。
3.python 2.7 及以上的環(huán)境。這里使用的是python 3.7 版本。鏈接地址如下:
https://www.python.org/downloads/release/python-374/
安裝python沒有什么需要注意的,直接一路next就行。
二、環(huán)境搭建
1.配置wireshark 環(huán)境:
(1)打開wireshark->幫助->關(guān)于wireshark->文件夾->雙擊打開extcp路徑,如下所示:
(2)解壓nRF-Sniffer-for-802.15.4-master.zip文件。將nrf802154_sniffer文件夾里的“nrf802154_sniffer.py ”,“nrf802154_sniffer.bat”復(fù)制到剛剛打開的wireshark的extcp路徑下,如圖所示:
由于我之前裝了其他的環(huán)境會有其它的一些文件,只要確保有這兩個文件就行。
(3)打開wireshark設(shè)置參數(shù),按Ctrl + Shift + P進(jìn)入Wireshark首選項(xiàng)。找到 Protocols -> IEEE 802.15.4,單擊Decryption Keys,編輯解密密鑰到以下設(shè)置:
Decryption key:00112233445566778899 aabbccddeeff
Decryption key index:0
Key hash: Thread hash
(4)找到Protocols -> Thread:
Thread sequence counter: 00000000
Use PAN ID as first two octets of master key: 不選中
Automatically acquire Thread sequence counter: 選中
(5)找到Protocols -> 6LoWPAN
Derive ID according to RFC 4944: 不選中
Context 0: fdde:ad00:beef:0::/64
Context 1: 64:FF9B::/96 – for working with Nordic Thread Border Router
Context 2: Native IPv6 global prefix that is being propagated in the Thread Network.
(6)找到Protocols -> CoAP
et CoAP UDP port to: 61631
三、下載固件到nRF52840 dongle
1.將nRF52840加密狗插入USB端口。
2.按重置按鈕進(jìn)入DFU模式。 LD2 LED開始閃爍紅色。
3.啟動nRF Connect for Desktop,并啟動Programmer應(yīng)用程序。
4.從設(shè)備列表中,選擇Nordic Semiconductor DFU Bootloader。
5.單擊添加十六進(jìn)制文件,然后選擇nRF-Sniffer-for-802.15.4-master文件夾下nrf802154_sniffer文件夾里的“nrf802154_sniffer_dongle.hex “。
6.確保固件映像地址的開頭是0x00001000。如果選擇了錯誤的十六進(jìn)制文件,則MBR部分可能會被覆蓋。
7.單擊寫入以刷新固件。
8.從USB端口上卸下加密狗,然后再次插入。請勿按“重置”按鈕。
四、重啟電腦(必須重啟)
1.重啟電腦。
2.先插上下好固件的nRF52840 Dongle。
3.打開wireshark,會識別出一個nRF sniffer for 802.15.4的設(shè)備。
4.設(shè)置對應(yīng)的ZigBee信道
5.點(diǎn)擊開始就可以抓取當(dāng)前信道下的zigbee通信包了。