این راهنما نحوه پیکربندی extcap برای Wireshark را پوشش میدهد تا بستهها را از شبکه Thread بشنود.
برای استفاده از Pyspinel برای sniffing بسته بدون extcap، به Packet Sniffing with Pyspinel مراجعه کنید.
محیط sniffer را تنظیم کنید
قبل از شروع، مراحل زیر را کامل کنید:
- نیازمندی های Packet Sniffing را مرور کنید.
- Wireshark را نصب و پیکربندی کنید .
- Pyspinel و Dependencies را با extcap نصب کنید .
تأیید
این راهنما با 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 در سمت چپ رابط کلیک کنید:
- کانال را روی مقدار دلخواه تنظیم کنید.
- IEEE 802.15.4 TAP را بررسی کنید تا مطمئن شوید که اطلاعات کانال در خروجی pcap گنجانده شده است و می تواند در رابط کاربری گرافیکی Wireshark نمایش داده شود.
- پارامترهای ذخیره را در شروع ضبط علامت بزنید تا مطمئن شوید که این پارامترها پس از شروع ضبط ذخیره میشوند تا از تنظیم مجدد آن در دفعه بعد که از رابط استفاده میکنید اجتناب کنید (مگر اینکه نیاز به تغییر کانال داشته باشید).
- روی Start کلیک کنید.
اگر پارامترهای شما قبلاً ذخیره شدهاند، با انتخاب رابط سختافزاری و کلیک کردن روی نماد Wireshark در بالا سمت چپ، شروع به بو کشیدن کنید.
ضبط از چندین رابط
تمام رابط های سخت افزاری فهرست شده در صفحه ضبط را انتخاب کنید و روی نماد Wireshark در بالا سمت چپ کلیک کنید.
از این فیلدها برای شناسایی اسنیفرهای فردی هنگام عکسبرداری از چندین رابط استفاده کنید:
- شناسه رابط (frame.interface_id) - شناسه رابط مورد استفاده توسط Wireshark برای شناسایی رابط ضبط
- نام رابط (frame.interface_name) - نام رابط مورد استفاده توسط Wireshark برای شناسایی رابط ضبط
- کانال (wpan-tap.ch_num) — کانال ضبط IEEE 802.15.4 (محدوده: 11-26)
عیب یابی
Sniffer OpenThread به عنوان رابط Wireshark فهرست نشده است
- اگر چندین مفسر پایتون نصب کرده اید، مطمئن شوید که مفسر پایتون 3 توسط اسکریپت extcap استفاده می شود. Pyspinel از پایتون 2 پشتیبانی نمی کند.
- بررسی کنید که آیا سخت افزار روی USB شماره گذاری شده است و درایورها بارگذاری شده اند.
- بررسی کنید که سیستم عامل صحیح (NCP یا RCP) روی سخت افزار فلش شده باشد.
- بررسی کنید که اسکریپت پایتون واقع در مسیر extcap قابل اجرا باشد.
- برای OS X و Linux:
- بررسی کنید که مجوز اجرا برای فایل
extcap_ot.py
وجود دارد:ls -l extcap_ot.py
- اگر مجوز execute (x) وجود ندارد، مجوزها را تغییر دهید:
chmod +x extcap_ot.py
- بررسی کنید که رابط فهرست شده است:
extcap_ot.py --extcap-interfaces
- بررسی کنید که مجوز اجرا برای فایل
- برای ویندوز:
- بررسی کنید که رابط فهرست شده است:
extcap_ot.bat --extcap-interfaces
- اگر با خطای پایتون خارج شد، بررسی کنید که نسخه پایتون 3.x باشد:
py -3 --version
- بررسی کنید که رابط فهرست شده است:
- برای OS X و Linux:
Wireshark فقط به کاربر root اجازه می دهد تا بسته ها را ضبط کند
در طول نصب Wireshark در اوبونتو از کاربر خواسته می شود یکی از گزینه های زیر را انتخاب کند:
- گروه کاربری
wireshark
را ایجاد کنید و به همه اعضای آن گروه اجازه دهید بسته ها را ضبط کنند. - فقط به کاربر
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 یا جدیدتر استفاده می کنید.