Sniffing بسته با استفاده از Extcap

مشاهده منبع در GitHub

این راهنما نحوه پیکربندی extcap برای Wireshark را پوشش می‌دهد تا بسته‌ها را از شبکه Thread بشنود.

برای استفاده از Pyspinel برای sniffing بسته بدون extcap، به Packet Sniffing with Pyspinel مراجعه کنید.

محیط sniffer را تنظیم کنید

قبل از شروع، مراحل زیر را کامل کنید:

تایید

این راهنما با Zolertia Firefly ( Texas Instruments CC2538 SoC ) در سیستم‌های میزبان زیر تأیید شده است:

  • Debian 4.19.37 — Wireshark 3.0.4
  • macOS Mojave 10.14.6 — Wireshark 3.0.5
  • 64 بیتی ویندوز 10 نسخه 17134 — Wireshark 3.0.6

اسنیفر را بسازید و فلش کنید

دستورالعمل های ساخت و چشمک زن بر اساس پلت فرم متفاوت است.

برای دستورالعمل های ساخت و فلش CC2538، به مثال CC2538 README در GitHub مراجعه کنید.

برای دستورالعمل های ساخت کلی، به نحوه ساخت OpenThread مراجعه کنید.

از sniffer استفاده کنید

هنگامی که Wireshark برای اولین بار راه اندازی می شود، صفحه ضبط Wireshark نمایش داده می شود. باید رابط‌های سخت‌افزاری متصل به ردیابی OpenThread را فهرست کند.

ضبط از یک رابط واحد

اگر اولین بار است که از یک رابط استفاده می کنید، روی دکمه Options در سمت چپ رابط کلیک کنید:

OT Sniffer Wireshark Extcap Capture

  1. کانال را روی مقدار دلخواه تنظیم کنید.
  2. IEEE 802.15.4 TAP را بررسی کنید تا مطمئن شوید که اطلاعات کانال در خروجی pcap گنجانده شده است و می تواند در رابط کاربری گرافیکی Wireshark نمایش داده شود.
  3. پارامترهای ذخیره را در شروع ضبط علامت بزنید تا مطمئن شوید که این پارامترها پس از شروع ضبط ذخیره می‌شوند تا از تنظیم مجدد آن در دفعه بعد که از رابط استفاده می‌کنید اجتناب کنید (مگر اینکه نیاز به تغییر کانال داشته باشید).
  4. روی Start کلیک کنید.

OT Sniffer Wireshark Extcap Options

اگر پارامترهای شما قبلاً ذخیره شده‌اند، با انتخاب رابط سخت‌افزاری و کلیک کردن روی نماد Wireshark در بالا سمت چپ، شروع به بو کشیدن کنید.

ضبط از چندین رابط

تمام رابط های سخت افزاری فهرست شده در صفحه ضبط را انتخاب کنید و روی نماد Wireshark در بالا سمت چپ کلیک کنید.

از این فیلدها برای شناسایی اسنیفرهای فردی هنگام عکسبرداری از چندین رابط استفاده کنید:

  • شناسه رابط (frame.interface_id) - شناسه رابط مورد استفاده توسط Wireshark برای شناسایی رابط ضبط
  • نام رابط (frame.interface_name) - نام رابط مورد استفاده توسط Wireshark برای شناسایی رابط ضبط
  • کانال (wpan-tap.ch_num) — کانال ضبط IEEE 802.15.4 (محدوده: 11-26)

بسته های OT Sniffer Wireshark Extcap

عیب یابی

Sniffer OpenThread به عنوان رابط Wireshark فهرست نشده است

  1. اگر چندین مفسر پایتون نصب کرده اید، مطمئن شوید که مفسر پایتون 3 توسط اسکریپت extcap استفاده می شود. Pyspinel از پایتون 2 پشتیبانی نمی کند.
  2. بررسی کنید که آیا سخت افزار روی USB شماره گذاری شده است و درایورها بارگذاری شده اند.
  3. بررسی کنید که سیستم عامل صحیح (NCP یا RCP) روی سخت افزار فلش شده باشد.
  4. بررسی کنید که اسکریپت پایتون واقع در مسیر 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
        
    • برای ویندوز:
      1. بررسی کنید که رابط فهرست شده است:
        extcap_ot.bat --extcap-interfaces
        
      2. اگر با خطای پایتون خارج شد، بررسی کنید که نسخه پایتون 3.x:
        py -3 --version
        

Wireshark فقط به کاربر root اجازه می دهد تا بسته ها را ضبط کند

در طول نصب Wireshark در اوبونتو از کاربر خواسته می شود یکی از گزینه های زیر را انتخاب کند:

  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 در ویندوز

این یک مشکل شناخته شده برای برخی از نسخه های قدیمی Wireshark است. مطمئن شوید که از Wireshark 3.0.6 یا جدیدتر استفاده می کنید.