آموزش $34 USB Sniffer: ضبط حرکت ماوس و فشار کلیدهای صفحه کلید با استفاده از Wireshark
آموزش USB Sniffer: ضبط حرکت ماوس و فشار کلیدهای صفحه کلید با استفاده از Wireshark
در این پروژه، ما بررسی میکنیم که چگونه یک دستگاه ردیاب USB میتواند برای نظارت و تجزیه و تحلیل ارتباط USB بین یک کامپیوتر و دستگاههای ورودی متداول مانند موس و صفحهکلید استفاده شود. با قرار دادن یک ردیاب USB در مسیر بین دستگاه USB و کامپیوتر، تمام بستههای USB که از آن عبور میکنند، میتوانند بهطور زنده با استفاده از Wireshark ضبط و تجزیه و تحلیل شوند.
این آموزش نشان میدهد که چگونه حرکات ماوس، کلیکهای دکمه و حتی فشارهای کلید کیبورد (از جمله رمزهای عبور) میتوانند در سطح پروتکل USB مشاهده شوند. این پروژه به منظور آموزشی طراحی شده است تا درک کند که دستگاههای رابط انسانی USB (HID) چگونه به صورت داخلی کار میکنند و چرا امنیت فیزیکی به اندازه امنیت نرمافزاری مهم است.

USB مانیتور چیست؟
یک تجزیهگر USB یک دستگاه سختافزاری است که بین یک دستگاه USB (مانند ماوس یا صفحهکلید) و یک کامپیوتر میزبان قرار میگیرد. این دستگاه دادهها را بهصورت شفاف عبور میدهد تا دستگاه بهطور عادی کار کند و در عین حال بستههای داده USB را از طریق یک رابط نظارتی جداگانه ضبط و نمایش میدهد.
در این پروژه، اسنیفر USB به عنوان یک دستگاه عبوری عمل میکند:
- موس یا کیبورد USB به دستگاه sniff متصل میشود.
- اسنایفر به کامپیوتر متصل میشود.
- یک اتصال USB جداگانه از سنجنده به یک کامپیوتر نظارت که Wireshark را اجرا میکند، میرود.
تمام ترافیک USB که بین دستگاه و کامپیوتر رد و بدل میشود، میتواند بدون تأثیر بر عملکرد عادی ضبط و رمزگشایی شود :contentReference[oaicite:0]{index=0}.

اجزاء اصلی مورد استفاده
سختافزار حساس(حس کننده) USB
ردیاب USB مورد استفاده در این پروژه بر اساس طراحی FPGA ساخته شده توسط الکس تاراسوف است. طراحی کامل شامل فرمویر، فایلهای PCB و ابزارهای نرمافزاری است. واحد تجاری مورد استفاده در اینجا با فرمویر پیشبارگذاری شده است، بنابراین قبل از استفاده نیازی به فلش کردن یا پیکربندی نیست.
داوِری داخلی به خطوط داده تفاضلی USB متصل میشود و بستهها را به یک رابط USB جداگانه که وایرشارک میتواند نظارت کند، منعکس میکند.
ماوس و کیبورد (دستگاههای USB HID)
هر دو ماوس و کیبورد دستگاههای رابط انسانی USB (HID) هستند. این دستگاهها گزارشهای دورهای به کامپیوتر میزبان ارسال میکنند که وضعیت خود را توصیف میکند:
- ماوس: وضعیت دکمهها، حرکت X، حرکت Y
- صفحهکلید: کلیدهای اصلاحکننده و کدهای اسکن کلید
این گزارشها به صورت واضح و بدون رمزگذاری از طریق USB منتقل میشوند، به همین دلیل میتوانند توسط یک شنودگر ضبط شوند.
کامپیوتر با وایرشارک
Wireshark برای ضبط و تجزیه و تحلیل بستههای USB استفاده میشود. در ویندوز، ضبط USB به اجزای اضافی نیاز دارد تا دسترسی به ترافیک USB در سطح درایور را ممکن سازد.
نصب و اتصال
ایستگاه USB به صورت خطی بین دستگاه USB و کامپیوتر متصل شده است.

- ماوس یا کیبورد را به پورت ورودی USB اسنیفر متصل کنید.
- پورت خروجی USB سنجنده را به کامپیوتر متصل کنید
- پورت USB مانیتورینگ اسنفر را به همان کامپیوتر یا کامپیوتر دیگری که Wireshark را اجرا میکند متصل کنید.
دستگاه USB به طور طبیعی کار میکند در حالی که ترافیک آن به پورت مانیتورینگ منعکس میشود.
نصب نرمافزارهای مورد نیاز
نصب وایرشارک
ویندوز باید بر روی کامپیوتر نظارت نصب شده باشد. در حین نصب بر روی ویندوز، فعال کردن مؤلفه پشتیبانی از ضبط USB الزامی است. بدون این درایور، ترافیک USB نمیتواند ضبط شود.
پس از نصب، Wireshark رابطهای ضبط USB را در کنار رابطهای شبکه لیست خواهد کرد.
درایور سنجش USB (ویندوز)
برای دسترسی Wireshark به دادههای جاسوسی USB از سختافزار، در ویندوز به یک برنامه قابل اجرا کمکی کوچک نیاز است. این برنامه باید در مسیر سیستم قرار گیرد (برای مثال، بهطور مستقیم در درایو C:) تا Wireshark بتواند با جاسوس ارتباط برقرار کند.
ضبط دادههای USB در وایرشارک
پس از راهاندازی Wireshark، رابط سنجش USB را انتخاب کرده و شروع به ضبط کنید. در ابتدا، مقدار زیادی ترافیک USB غیرمرتبط ممکن است ظاهر شود.
اعمال فیلترهای USB
برای متمرکز شدن فقط بر دادههای مرتبط USB، یک فیلتر نمایش اعمال میشود:
usbllاین فیلتر تنها بستههای لایه واصل USB را نمایش میدهد که شامل تراکنشهای خام USB رد و بدل شده بین دستگاه و میزبان است.
نیاز به فیلتر کردن بیشتر است زیرا USB حجم بسیار بالایی از دادهها را تولید میکند.
فیلتر کردن بر اساس شناسه بسته (PID)
پکتهای داده ماوس و کیبورد میتوانند با شناسههای مشخص پکت (PID) شناسایی شوند. در این پروژه، PIDs مرتبط مشاهده شده به شرح زیر است:
0xC30x4B
اینها میتوانند در Wireshark با استفاده از: فیلتر شوند:
usbll.pid == 0xC3 || usbll.pid == 0x4Bاین فیلتر بستههای گزارش HID را که از موس یا کیبورد میآیند جداسازی میکند.
درک دادههای ماوس
هنگامی که ماوس حرکت کند یا کلیک شود، گزارشهای HID به صورت مداوم ارسال میشوند. هر گزارش شامل چندین بایت است:
- شناسه گزارش
- وضعیت دکمهها (چپ، راست، وسط)
- حرکت محور X
- حرکت محور Y
با مشاهده مقادیر بایت تغییر یافته در Wireshark، میتوان جهت و سرعت حرکت ماوس را استنباط کرد. حتی بدون کلیک کردن، فقط حرکت باعث تولید فعالیت مشهود USB میشود.
درک دادههای صفحهکلید
دادههای صفحه کلید به صورت گزارشهای HID ارسال میشوند که شامل کدهای اسکن به جای مقادیر ASCII است. هر کلید با یک شناسه استفاده خاص HID مطابقت دارد.
به عنوان مثال:
0x04→ حرف A0x05→ حرف ب0x0E→ حرف ک
حروف بزرگ و کوچک با کلیدهای تغییر دهنده مانند Shift تعیین میشوند که در بایتهای جداگانه گزارش ظاهر میشوند.
کلیدهای تابعی مانند F12 همچنین کدهای اسکن منحصر به فردی را تولید میکنند که میتوان آنها را بهطور مستقیم در بستههای ضبطشده مشاهده کرد.
پیامدهای امنیتی
این پروژه به وضوح نشان میدهد که ترافیک USB HID رمزنگاری نشده است. اگر یک دستگاه مخرب بهطور فیزیکی میان یک کیبورد و یک کامپیوتر قرار گیرد، میتواند هر کلید فشردهشده، از جمله نامهای کاربری و رمزهای عبور را ضبط کند.
این دلیل است که امنیت USB، سختافزار قابل اعتماد و کنترل دسترسی فیزیکی در محیطهای حساس بسیار حیاتی هستند.
خلاصه نمایشگاه
در این نمایش، موارد زیر با موفقیت ضبط و رمزگشایی شدند:
- حرکت ماوس و فعالیت دکمهها
- فشردن کلیدهای مربوط به صفحه کلید به طور جداگانه
- کلیدهای عملکرد و کلیدهای تغییر دهنده
- کلمات کامل تایپ شده بر روی کیبورد
اسنیفر USB بهصورت شفاف عمل میکند و شناسایی آن بدون بازرسی فیزیکی دشوار است.
نتیجهگیری
این پروژه اسنیفر USB یک نمایش عملی قوی از نحوه کار ارتباط USB در پایینترین سطح را ارائه میدهد. با ترکیب سختافزار خاص اسنیفینگ با Wireshark، امکان مشاهده دقیق نحوه ارتباط دستگاههای ورودی با کامپیوترها فراهم میشود.
این پروژه برای یادگیری پروتکلهای USB، ساختار گزارشهای HID و ملاحظات امنیتی دنیای واقعی مناسب است. در حالی که با ماوس و صفحه کلید نشان داده شده است، همان اصول به بسیاری دیگر از دستگاههای USB نیز اعمال میشود.
دانلود نرمافزار
برنامه کمکی ویندوزusb_sniffer_win.exeبرای ضبط دادههای USB با Wireshark، واصل دانلود در پایین این مقاله موجود است.
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
ایبیخرید حساس(حس کننده) USB از eBayebay.us
-
علیاکسپرسخرید سنجنده USB از علیاکسپرسs.click.aliexpress.com
-
بنگ گودخرید دستگاه شنود USB از Banggoodbanggood.com
منابع و مراجع
-
دانلوددانلود وایرشارکwireshark.org
فایلها📁
راهنمای کاربر
-
راهنمای کاربر USB Sniffer_انگلیسی
usb_sniffer_manual_english-1.pdf1.06 MB
سایر فایلها
-
usb_sniffer_win.exe
usb_sniffer_win.zip0.29 MB