Ambalaj Tipi Kokteyl

Kaynağı GitHub'da görüntüleyin

Bu kılavuzda, Wireshark'ın nasıl yapılandırılacağı ve bir iş parçacığı ağından paket koklamak için Pyspinel'in nasıl çalıştırılacağı ele alınmaktadır.

Paket koklama amacıyla Wireshark eklenti eklentisini kullanmak için extcap kullanarak paket paketleme bölümüne bakın.

Sensör ortamını ayarlayın

Başlamadan önce aşağıdaki adımları tamamlayın:

Kesici oluşturun

ot-rcp ikili çıkışını kullanarak algılayıcı olarak hizmet vermek için NCP cihazı oluşturun ve yanıp sönün.

Norveç nRF52840

İskandinav, klonlama (openthread/ot-nrf528xx) olarak kullanmak için Nordic nRF52840 örneğini ayarlamak ve derleme ortamını ayarlamak için:

git clone https://github.com/openthread/ot-nrf528xx --recursive
./script/bootstrap

Bağlantı hızını 460800 olarak ayarlayın. src/nrf52840/transport-config.h içindeki #define UART_BAUDRATE NRF_UARTE_BAUDRATE_115200 satırını bulup #define UART_BAUDRATE NRF_UARTE_BAUDRATE_460800 ile değiştirin.

İkili programı derleyin:

./script/build nrf52840 UART_trans

ot-rcp ikili çıkışını onaltılık biçime dönüştürün:

arm-none-eabi-objcopy -O ihex build/bin/ot-rcp ot-rcp.hex

ot-rcp.hex dosyasını nRF52840 kartına, nRF52840 Flash'ta ayrıntılı olarak açıklandığı şekilde Flash'a yükleyin.

Hata ayıklama bağlantı noktasını kullanırken veri bozulması veya kesintilerden kaçınmak için nRF52840'ta Toplu Depolama Cihazını (MSD) devre dışı bırakın:

expect <<EOF
spawn JLinkExe
expect "J-Link>"
send "msddisable\n"
expect "Probe configured successfully."
exit
EOF
spawn JLinkExe
SEGGER J-Link Commander V6.42b (Compiled Feb  5 2019 17:35:31)
DLL version V6.42b, compiled Feb  5 2019 17:35:20
 
Connecting to J-Link via USB...O.K.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan  7 2019 14:07:15
Hardware version: V1.00
S/N: 683411111
VTref=3.300V
 
Type "connect" to establish a target connection, '?' for help
J-Link>msddisable
Probe configured successfully.

İleti dizisi ağ özellikleri

Devam etmeden önce, algılamak istediğiniz İş Parçacık ağı için aşağıdaki özellikleri edinin. Wireshark yapılandırması ve Pyspinel algılayıcısını çalıştırmak için bunlara ihtiyacınız vardır.

Örgü Yerel Ön Eki

Hedef İş Parçası ağındaki bir cihazdan Mesh Yerel Ön Ekini almak için:

  1. OpenThread CLI'yi kullanarak:

    dataset active
    Mesh Local Prefix: fd33:3333:3344:0/64
    

  2. wpanctl bir NCP ile kullanılıyor:

    wpanctl getprop IPv6:MeshLocalPrefix
    IPv6:MeshLocalPrefix = "fd33:3333:3344:0::/64"
    

  3. OTBR Web GUI'yi kullanarak Durum'u seçin. Örgü Yerel Ön Eki, wpanctl ile benzer şekilde IPv6:MeshLocalPrefix olarak listelenir.

Kanal

Kanalı, İş Parçacıkları ağındaki bir cihazdan almak için:

  1. OpenThread CLI'yi kullanarak:

    channel
    15
    

  2. wpanctl bir NCP ile kullanılıyor:

    wpanctl getprop NCP:Channel
    NCP:Channel = 15
    

  3. OTBR Web GUI'yi kullanarak Durum'u seçin. Kanal, wpanctl ile benzer şekilde NCP:Channel olarak listelenir.

Ağ Anahtarı

Wireshark tarafından iş parçacığı yakalandıktan sonra paketlerin şifresini çözmek için İleti Dizisi Ağ Anahtarı kullanılır. Ağ Anahtarı'nı, hedef İş Parçacık ağındaki bir cihazdan almak için:

  1. OpenThread CLI'yi kullanarak:

    networkkey
    33334444333344443333444433334444
    

  2. wpanctl bir NCP ile kullanılıyor:

    wpanctl getprop Network:Key
    Network:Key = [33334444333344443333444433334444]
    

İleti Dizisi Ağ Anahtarı, OTBR Web GUI'de mevcut değil.

Ses algılayıcı seçenekleri

Seçenekler
-u or --uart
Varsayılan değer
Yok - yuva bağlantısı olmayan, seri bağlantısı olan bir cihaz kullanıyorsanız sağlanmalıdır.
Açıklama
-u veya --uart işareti, ardından /dev/ttyUSB0 gibi bir cihaz yolu gelir.
-c or --channel
Varsayılan değer
11
Açıklama
Önce -c veya --channel işareti, ardından Mesaj Dizisi Ağınızda yapılandırılan ve paketlerin koklanacağı kanal.
--no-reset
Varsayılan değer
Bu işaret, varsayılan davranışı geçersiz kılar.
Açıklama
NCP cihazınız yerel USB bağlantısıyla ana makineye bağlıysa --no-reset işareti gereklidir.
--crc
Varsayılan değer
Bu işaret, varsayılan davranışı geçersiz kılar.
Açıklama
TI ve Nordic Semiconductor Thread boards gibi platformlar için --crc işareti gerekir. İşaret, Wireshark'ta "Kötü FCS" (çerçeve kontrolü dizisi) uyarısı olmaması için CRC'yi yeniden hesaplar.
-b or --baudrate
Varsayılan değer
115200
Açıklama
Varsayılan baud hızını geçersiz kılmak için -b veya --baudrate işareti kullanılır. Bu değeri, NCP derlemeniz ile kullanılan baud hızına ayarlayın (460800 olarak önerilir).
--rssi
Varsayılan değer
Bu işaret, varsayılan davranışı geçersiz kılar.
Açıklama
--rssi işareti, RSSI'nın pcap çıkışına dahil edilmesini sağlamak için kullanılır. Wireshark'ta TI CC24xx FCS biçimi seçeneği etkinleştirildiyse bu bayrağı kullanmanız gerekir.
--tap
Varsayılan değer
Bu işaret, varsayılan davranışı geçersiz kılar.
Açıklama
--tap işareti, meta veri içeren TLV'leri (FCS, RSSI, LQI, Kanal gibi) içeren sözde başlık ile kare biçimi için DLT_IEEE802_15_4_TAP(283) değerini belirtir. Belirtilmemesi halinde DLT_IEEE802_15_4_WITHFCS(195), TI CC24xx FCS biçiminde olduğu gibi, doğrudan PHY çerçevesine ek RSSI ve LQI ile kullanılır. Wireshark'ta ITU-T CRC-16 seçeneği etkinleştirilmişse bu işareti kullanmalısınız. Bu seçenek Wireshark'ta etkinleştirilmemişse bu işareti kullanmayın.

Dinleyiciyi çalıştırın

NCP'niz için spesifik cihaz yolunu ve koklamaya çalıştığınız İş Parçacık ağının kanalını kullandığınızdan emin olun.

Bu kılavuz izleniyorsa nRF52840 DK, nRF52840 Flash uygulamasında açıklandığı gibi, hata ayıklama bağlantı noktası tarafından ana makineye eklenmelidir. Pyspinel dinleyicisini çalıştırmak için baud hızını belirtmek üzere -b işaretini kullanın (varsayılan değeri değiştirildiyse) ve --no-reset işaretini atlayın.

RSSI'yı görüntülemek için Wireshark'ı yapılandırsanız, algılayıcı aracını çalıştırdığınızda --rssi işaretini de eklemeniz gerekir. Örneğin, kanal 15'e monte edilmiş bir cihaz kullanarak/dev/ttyACM0 Wireshark çıktısında RSSI ile birlikte:

cd path-to-pyspinel
python sniffer.py -c 15 -u /dev/ttyACM0 --crc --rssi -b 460800 | wireshark -k -i -

Artık Wireshark'ta bu yapılandırma için paketleri ve ilgili protokolleri görüntüleyebiliyor olmanız gerekir:

Wireshark Yakalama

Pyspinel sniffer'ın çalıştırılmasıyla ilgili daha fazla bilgi için Spinel sniffer referansı sayfasına bakın.

Yerel USB bağlantısı

nRF52840 DK USB bağlantı noktasını kullanmak için OpenThreadot-rcp birlikte kullanılacak ikili programUSB_trans :

./script/build nrf52840 USB_trans
nRF52840 DK'ye Flash uygulayın, ana makineye USB bağlantı noktası ile bağlar, ardından şunu kullanın:--no-reset işaretini kaldır-b işaretleyiciyi çalışırken işaretleyin:

python sniffer.py -c 15 -u /dev/ttyACM0 --crc --no-reset --rssi | wireshark -k -i -

Kaynaklar

Daha fazla İskandinav araç için Nordic Semiconductor — Thread Sniffer based on nRF52840 with Wireshark (NRF52840'ı Wireshark'a göre iş parçacığı) başlıklı makaleyi inceleyin.