تقصير الحزمة باستخدام Extcap

الاطّلاع على المصدر على GitHub

يتناول هذا الدليل طريقة ضبط أداة extend الخاص بـ Wireshark لاقتناص الحزم من شبكة Thread

لاستخدام Pyspinel للتنقُّل باستخدام حِزم البيانات بدون أداة extcap، يُرجى الرجوع إلى المقالة التقاط حِزم البيانات باستخدام Pyspinel:

إعداد بيئة الالتقاط

قبل البدء، أكمِل الخطوات التالية:

التحقّق

تم التأكّد من صحة هذا الدليل من خلال مؤسسة Zolertia Firefly (Texas instruments CC2538) منظومة على رقاقة (SoC)) في الأنظمة المضيفة التالية:

  • Debian 4.19.37 — Wireshark 3.0.4
  • macOS Mojave 10.14.6 — Wireshark 3.0.5
  • الإصدار 17134 من نظام التشغيل Windows 10 64 بت: Wireshark 3.0.6

صمِّم وحوش الزومبي

تختلف تعليمات الإصدار والاستعراض بناءً على النظام الأساسي.

للحصول على تعليمات حول إنشاء CC2538 ووميضه، راجِع مثال CC2538. ملف README على GitHub.

للحصول على تعليمات عامة حول الإنشاء، يمكنك الاطّلاع على كيفية إنشاء OpenThread.

استخدام أداة التتبُّع

يتم عرض شاشة التقاط Wireshark عند تشغيل Wireshark لأول مرة. أُنشأها جون هنتر، الذي كان متخصصًا يجب أن يسرد واجهات الأجهزة المتصلة بنظام OpenThread.

التقاط الصور من واجهة واحدة

إذا كانت هذه هي المرة الأولى التي تستخدم فيها واجهة، فانقر على زر خيارات على يسار الواجهة:

التقاط صور Extcap أو OT Sniffer Wireshark

  1. اضبط القناة على القيمة المطلوبة.
  2. راجع IEEE 802.15.4 TAP للتأكد من أنّ معلومات القناة في مخرجات pcap ويمكن عرضها في واجهة المستخدم الرسومية Wireshark.
  3. ضَع علامة في المربّع حفظ المَعلمات عند بدء الالتقاط للتأكّد من أنّ هذه يتم حفظ المعلمات بعد بدء الالتقاط، لتجنب الاضطرار إلى يمكنك تعيينه مرة أخرى في المرة التالية التي تستخدم فيها الواجهة (ما لم تكن بحاجة إلى تغيير القناة).
  4. انقر على بدء.

خيارات OT Sniffer Wireshark Extcap

إذا سبق أن تم حفظ المعلمات، يمكنك بدء التقصّي من خلال اختيار الجهاز. والنقر فوق أيقونة Wireshark في الجزء العلوي الأيسر.

التقاط الصور من واجهات متعددة

اختَر كل واجهات الأجهزة المدرَجة في شاشة الالتقاط وانقر على رمز Wireshark في أعلى يسار الشاشة.

استخدِم هذه الحقول لتحديد أدوات استقصاء فردية عند التقاط الصور من عدة فيديوهات. الواجهات:

  • رقم تعريف الواجهة (frame.interface_id) — معرّف الواجهة الذي يستخدمه Wireshark. لتحديد واجهة التقاط
  • اسم الواجهة (frame.interface_name) — اسم الواجهة التي يستخدمها Wireshark لتحديد واجهة التقاط
  • Channel (wpan-tap.ch_num) — قناة IEEE 802.15.4 للالتقاط (النطاق: من 11 إلى 26)

حزم Extcap Sniffer Wireshark

تحديد المشاكل وحلّها

لا يتم إدراج أداة OpenThread كواجهة Wireshark

  1. إذا كان لديك عدة مترجمين مثبتين للغة Python، فتأكد من Python 3 يتمّ استخدام أداة الترجمة الفورية من خلال النص البرمجي extcap. لا يدعم Pyspinel لغة Python 2.
  2. تحقق مما إذا تم تعداد الأجهزة على USB ومن تحميل برامج التشغيل.
  3. تحقَّق من أنّه تم وميض البرامج الثابتة الصحيحة (NCP أو RCP) في الأجهزة.
  4. تحقَّق من أنّ نص Python البرمجي المتوفّر في مسار extcap قابل للتنفيذ.
    • لنظام التشغيل OS X وLinux:
      1. تأكَّد من توفُّر إذن التنفيذ لـ extcap_ot.py. الملف:
        ls -l extcap_ot.py
        
      2. في حال عدم توفّر إذن التنفيذ (x)، عدِّل الأذونات:
        chmod +x extcap_ot.py
        
      3. تحقَّق من إدراج الواجهة:
        extcap_ot.py --extcap-interfaces
        
    • في نظام التشغيل Windows:
      1. تحقَّق من إدراج الواجهة:
        extcap_ot.bat --extcap-interfaces
        
      2. إذا خرج هذا الأمر مع ظهور خطأ Python، تحقق من أنّ إصدار Python هو 3.x:
        py -3 --version
        

لا يسمح Wireshark إلا للمستخدم الجذر بالتقاط الحزم.

أثناء تثبيت Wireshark على نظام التشغيل Ubuntu، سيُطلب من المستخدم اختيار أحدها من الخيارات التالية:

  1. إنشاء مجموعة مستخدمين "wireshark" والسماح لجميع أعضاء هذه المجموعة التقاط الحزم.
  2. السماح لمستخدم root بالتقاط حزم البيانات فقط.

وننصح بعدم استخدام Wireshark بصفة مستخدم root. إذا اخترت هذا الخيار، قم بتغيير الإعداد:

sudo dpkg-reconfigure wireshark-common

إذا تم ضبط Wireshark لقصر الالتقاط على أعضاء مجموعة wireshark، قد تحتاج إلى إضافة المستخدم الصحيح إلى المجموعة:

sudo usermod -a -G wireshark user

أضِف أيضًا المستخدم الصحيح إلى مجموعة dialout:

sudo usermod -a -G dialout user

أغلِق Wireshark وأعِد تشغيله لتطبيق إعدادات مجموعة المستخدمين الجديدة.

خطأ في تنسيق Wireshark عند التقاط الصور من واجهات USB متعددة على نظام التشغيل Windows

هذه مشكلة معروفة. لبعض الإصدارات القديمة من Wireshark. تأكد من استخدام Wireshark 3.0.6 أو لاحقًا.