Google is committed to advancing racial equity for Black communities. See how.

Extcap kullanarak Paket Koklama

Extcap bir yakalama arayüz olarak Pyspinel ikili kullanmanızı sağlar Wireshark için bir eklenti. Wireshark, IEEE 802.15.4, 6LoWPAN, IPv6, MLE (Mesh Link Kuruluşu), UDP ve CoAP gibi Thread yığınındaki ağ protokollerinin kodunu çözebilen açık kaynaklı bir araçtır. Extcap, bir yakalama dosyasına yazmayı gerektirmediğinden Wireshark kullanarak Thread paketlerini koklamak için gereken kurulum ve yapılandırmayı azaltır.

Bu kılavuz, Wireshark'ın bir Thread ağından paketleri koklaması için extcap'in nasıl yapılandırılacağını kapsar.

Extcap olmadan koklama paket için Pyspinel kullanmak için, bkz Pyspinel ile paket koklama .

Gereksinimler

Donanım:

  • NCP olarak hizmet verecek ve Pyspinel ile Wireshark'ı çalıştıracak bir ana makine:
    • macOS — 64 bit OS X 10.6 veya üstü
    • Linux
    • Windows — 10 veya üzeri
  • 1 OpenThread cihazı bir flashed ot-ncp-ftd veya ot-rcp yapı.

Yazılım:

  • Python 3 Pyspinel çalıştırmak için
  • Wireshark 3.0.6 veya extcap destek için yeni

Doğrulama

Bu kılavuz Zolertia Firefly (ile doğrulandı Texas Instruments CC2538 SoC şu ana makine sistemlerinde):

  • Debian 4.19.37 — Wireshark 3.0.4
  • macOS Mojave 10.14.6 — Wireshark 3.0.5
  • 64 bit Windows 10 sürüm 17134 — Wireshark 3.0.6

Wireshark'ı yükleyin

Linux

Bir terminal açın ve Wireshark'ı indirip kurmak için aşağıdaki komutları çalıştırın:

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

Wireshark'ı root olmayan bir kullanıcı olarak çalıştırmanızı öneririz. Bunu yapmak için paketi yeniden yapılandırın:

sudo dpkg-reconfigure wireshark-common

Eğer soran iletişim kutusu olsun "Meli olmayan ayrıcalıklı yakalama paketleri mümkün?" Seçeneğini Evet, ardından eklemek wireshark kullanıcı ve güncelleme dosya izinlerini:

sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap

Mac os işletim sistemi

İndirin ve Wireshark'ı yüklemek MacOS için.

Sniffer'ı oluşturun ve flaşlayın

Oluşturma ve yanıp sönme talimatları platforma göre değişir.

Bina ve CC2538 yanıp sönen ilgili talimatlar için bkz CC2538 örnek README GitHub'dan.

Genel yapı talimatlar için bkz OpenThread inşa etmek nasıl .

Sniffer ortamını kurun

  1. Wireshark'ı açın. Wireshark Hakkında> Yardım gidin ve Klasörler sekmesini seçin. Extcap yolu girişi extcap konumunu listeler. Bu konumu not edin.
  2. Bağımlılıkları yükleyin:
    sudo apt install python3-pip
    pip3 install --user pyserial ipaddress
  3. Pyspinel deposunu Clone:
    git clone https://github.com/openthread/pyspinel
  4. Pyspinel yükleyinWireshark gelen extcap yolu kullanarak,:
    cd pyspinel
    python3 setup.py install --extcap-path=extcap-path

Alternatif olarak, pyspinel paketini yükleyerek ortamı kurun:

pip3 install pyspinel --install-option="--extcap-path=extcap-path"

Wireshark yapılandırması - Protokoller

Wireshark, Thread paketlerini düzgün bir şekilde gösterecek şekilde yapılandırılmalıdır.

Wireshark seçin Tercihler ... Protokoller bölümünü genişletin ve.

6Düşük WPAN

Protokoller listesinden 6LoWPAN seçip doğrulamak veya şu ayarlarını değiştirin:

  1. RFC 4944 göre işaretini kaldırın Derive İD.
  2. Hedef Konu ağı için Mesh Yerel Önekine ile Güncelleme Bağlam 0.
OT Sniffer Wireshark 6LoWPAN

Wireshark, sıkıştırılmış IPv6 adresini ayrıştırmak ve IPv6 kaynak ve hedef adreslerini doğru şekilde görüntülemek için bağlam yapılandırmalarını kullanır.

Ağ geçidinde yapılandırılmış diğer ağ üstü öneklerin adreslerini göstermek için, diğer Bağlam Kimliklerini bu öneklerle güncelleyin.

Belirli bir ağ üstü önek için Bağlam Kimliğini almak için, herhangi bir MLE Verisi yanıt mesajında ​​İş parçacığı Ağı Verileri TLV'sini görüntüleyin. Örneğin:

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

61631. (Adres istemek gibi) Bu olmasını sağlar TMF mesajları protokoller listesinden COAP ve set COAP UDP Bağlantı Noktası seçin görüntülenir.

IEEE 802.15.4

Protokoller listesinden IEEE 802.15.4 seçip doğrulamak veya aşağıdaki ayarları değiştirin:

  1. "0x809a" için (hex) 802.15.4 Ethertype ayarlayın.
  2. "AES-128 şifreleme, 32 bit Bütünlük Koruma" Güvenlik Suite ayarlayın.
  3. Yanındaki paket şifre çözme için Konu ağı Master Key eklemek edilir Şifre çözme anahtarları, Düzen ... düğmesini tıklayın.
    1. Bir Şifre çözme anahtarı eklemek için + tıklayın.
    2. Şifre çözme anahtarı sütuna Konu ağını Ana Anahtar girin.
    3. Enter Şifre çözme anahtarı endeksi olarak "1".
    4. Anahtar karma sütun liste seçin Konu karması.
    5. OT Sniffer Wireshark IEEE 802.15.4
    6. Şifre çözme anahtarını kaydetmek için Tamam'a tıklayın.

Konu

Protokoller listesinden Konu seçip doğrulamak veya şu ayarlarını değiştirin:

  1. Konu dizisi sayaç için "00000000" girin.
  2. İşaretini kaldırın kullanımı PAN İD birinci ana anahtarın iki sekizli.
  3. Konu dizi sayacını satın otomatik kontrol ediniz.

Herhangi protokol değişiklikleri kaydetmek için OK düğmesine tıklayın.

Bazı Thread trafiği ZigBee protokolü olarak analiz edilebilir. Bu iki protokolü doğru bir şekilde görüntülemek için, Wireshark'ta etkinleştirilmiş protokolleri düzenleyin:

  1. Wireshark olarak,> Etkin iletişim kuralları Analiz gidin.
  2. Aşağıdaki protokollerin işaretini kaldırın:
    1. LwMesh
    2. ZigBee
    3. ZigBee Yeşil Güç

Wireshark yapılandırması - RSSI

RSSI'yi Wireshark'ta görüntülemek için:

  1. Tercihler> Protokoller> IEEE 802.15.4 gidin.
  2. FCS Format ayarlayın:
    • TI CC24xx meta: IEEE 802.15.4 TAP Devre dışı bırakılırsa.
    • IEEE Eğer 802.15.4 TAP etkin: ITU-T CRC-16.
  3. Tamam kaydetmek ve Tercihler menüsüne dönüş için tıkla.
  4. Tercihler seçeneğini Görünüşü> Sütunlar.
  5. Yeni bir giriş ekleyin:
    • Başlık: RSSI
    • Tür: Özel
    • Alanlar: wpan.rssi
OT Sniffer Wireshark RSSI

koklayıcıyı kullan

Wireshark ilk başlatıldığında Wireshark yakalama ekranı görüntülenir. Bir OpenThread dinleyicisine bağlı donanım arayüzlerini listelemelidir.

Tek bir arayüzden yakalama

Bu bir arayüz kullanarak ilk kez kullanıyorsanız, arayüzün sol Seçenekler butonuna tıklayın:

OT Sniffer Wireshark Extcap Yakalama

  1. İstenilen değere Kanal ayarlayın.
  2. Kanal bilgileri pcap çıkışı dahildir ve Wireshark GUI görüntülenebilir sağlamak için IEEE 802.15.4 TAP kontrol edin.
  3. Yakalama Kaydet parametrelerini kontrol tekrar (eğer kanal değiştirmek gerekir sürece) arayüzü kullanmak dahaki sefere ayarlamak zorunda kalmamak için, bu parametreler yakalama başladıktan sonra kaydedildiğinden emin başlar.
  4. Başlat tıklayın.

OT Sniffer Wireshark Extcap Seçenekleri

Parametreleriniz zaten kaydedilmişse, donanım arayüzünü seçip sol üstteki Wireshark simgesine tıklayarak koklamaya başlayın.

Birden çok arayüzden yakalama

Yakalama ekranında listelenen tüm donanım arayüzlerini seçin ve sol üstteki Wireshark simgesine tıklayın.

Birden çok arabirimden çekim yaparken ayrı ayrı koklayıcıları tanımlamak için bu alanları kullanın:

  • Arayüz Kimliği (frame.interface_id) - Arayüz Tanıtıcı bir yakalama arabirimi tanımlamak için Wireshark tarafından kullanılan
  • Arayüz adı (frame.interface_name) - Bir yakalama arabirimi tanımlamak için Wireshark kullandığı Arayüz adı
  • Kanal (WPAN-tap.ch_num) -, IEEE 802.15.4 yakalama kanalı (aralık: 11-26)

OT Sniffer Wireshark Extcap Paketleri

Sorun giderme

OpenThread dinleyicisi, Wireshark arabirimi olarak listelenmiyor

  1. Yüklü birden çok Python yorumlayıcınız varsa, Python 3 yorumlayıcısının extcap komut dosyası tarafından kullanıldığından emin olun. Pyspinel Python 2'yi desteklemiyor.
  2. Donanımın USB'de numaralandırılmış olup olmadığını ve sürücülerin yüklenip yüklenmediğini kontrol edin.
  3. Donanıma doğru bellenimin (NCP veya RCP) yüklenip yüklenmediğini kontrol edin.
  4. Extcap yolunda bulunan Python betiğinin yürütülebilir olduğunu doğrulayın.
    • OS X ve Linux için:
      1. Yürütmek izni için bulunduğunu doğrulayın extcap_ot.py dosyası:
        ls -l extcap_ot.py
      2. : Yürütmek (x) izin yoksa, izinler değiştirmek
        chmod +x extcap_ot.py
      3. Arayüz listelenen doğrulama:
        extcap_ot.py --extcap-interfaces
    • Pencereler için:
      1. Arayüz listelenen doğrulama:
        extcap_ot.bat --extcap-interfaces
      2. : Python hata ile bu çıkar, Python sürümünü doğrulamak 3.x olan
        py -3 --version

Wireshark yalnızca kök kullanıcının paketleri yakalamasına izin verir

Ubuntu'da Wireshark kurulumu sırasında, kullanıcıdan aşağıdaki seçeneklerden birini seçmesi istenecektir:

  1. Oluştur wireshark kullanıcı grubu ve yakalama paketlerine konusu grubun tüm üyelerini tanır.
  2. Sadece izin root yakalama paketleri için kullanıcı.

Olarak Wireshark'ı kullanarak root kullanıcı kesinlikle önerilmez. Bu seçeneği seçtiyseniz, ayarı değiştirin:

sudo dpkg-reconfigure wireshark-common

Wireshark üyelerine yakalama kısıtlamak üzere yapılandırılmış ise wireshark grubunda, gruba doğru kullanıcı eklemek gerekebilir:

sudo usermod -a -G wireshark user

Ayrıca doğru bir kullanıcı eklemek dialout grubunda:

sudo usermod -a -G dialout user

Yeni kullanıcı grubu ayarlarını uygulamak için Wireshark'ı kapatın ve yeniden başlatın.

Windows'ta birden çok USB arabiriminde yakalarken Wireshark biçim hatası

Bu bir bilinen sorun Wireshark'ın bazı eski sürümleri için. Wireshark 3.0.6 veya sonraki bir sürümünü kullandığınızdan emin olun.