$34 Учебник по USB Sniffer: Захват движения мыши и нажатий клавиш с использованием Wireshark
Учебное пособие по USB Sniffer: Захват движения мыши и нажатий клавиш с помощью Wireshark
В этом проекте мы исследуем, как устройство USB-сниффер может быть использовано для мониторинга и анализа USB-сообщений между компьютером и обычными устройствами ввода, такими как мышь и клавиатура. Поместив USB-сниффер между USB-устройством и компьютером, все USB-пакеты, проходящие через него, могут быть захвачены и проанализированы в реальном времени с помощью Wireshark.
Этот учебник демонстрирует, как движения мыши, нажатия кнопок и даже нажатия клавиш на клавиатуре (включая пароли) могут быть обнаружены на уровне протокола USB. Проект предназначен для образовательных целей, чтобы понять, как работают USB-устройства человеко-машинного интерфейса (HID) на внутреннем уровне и почему физическая безопасность так же важна, как и программная безопасность.

Что такое USB-сниффер?
USB-аналізатор — это аппаратное устройство, которое находится между USB-периферийным устройством (например, мышью или клавиатурой) и хост-компьютером. Оно прозрачно передает данные, чтобы устройство работало нормально, одновременно захватывая и открывая USB-данные пакеты через отдельный интерфейс мониторинга.
В этом проекте USB-анализаатор выполняет функции устройства-прослушивателя:
- USB-мышь или keyboard подключается к анализатору.
- Шнурок подключается к компьютеру.
- Отдельное соединение USB от анализатора подключается к компьютеру для мониторинга, на котором работает Wireshark.
Весь USB-трафик, проходящий между устройством и компьютером, может быть перехвачен и расшифрован без влияния на нормальное функционирование :contentReference[oaicite:0]{index=0}.

Основные компоненты, используемые
Аппаратное обеспечение USB-сниффера
Используемый в этом проекте USB-сканер основан на проекте FPGA, созданном Алексеем Тарасовым. Полный дизайн включает в себя встроенное ПО, файлы печатных плат и программные инструменты. Коммерческое устройство, использующееся здесь, уже загружено с встроенным ПО, поэтому перед использованием не требуется прошивка или настройка.
Внутри сниффер подсоединяется к дифференциальным линиям данных USB и дублирует пакеты на отдельный USB-интерфейс, который может отслеживать Wireshark.
Мышь и клавиатура (USB HID устройства)
Оба устройства — мышь и клавиатура — являются USB-устройствами человеко-компьютерного интерфейса (HID). Эти устройства периодически отправляют отчеты хост-компьютеру, описывающие их состояние:
- Мышь: состояния кнопок, движение по оси X, движение по оси Y
- Клавиатура: модификаторные клавиши и коды сканирования клавиш
Эти отчеты передаются в открытом, незашифрованном виде по USB, и именно поэтому их можно перехватить с помощью сниффера.
Компьютер с Wireshark
Wireshark используется для захвата и анализа USB-пакетов. На Windows захват USB требует дополнительных компонентов для обеспечения доступа к USB-трафику на уровне драйвера.
Проводка и соединение
USB-таппунг подключается между USB-устройством и компьютером.

- Подключите мышь или клавиатуру к USB-входному порту анализатора.
- Подключите USB-выход сыщика к компьютеру.
- Подключите мониторинговый USB-порт сниффера к тому же или другому компьютеру с установленным Wireshark.
USB-устройство продолжает работать в обычном режиме, пока его трафик дублируется на мониторинговый порт.
Установка необходимого программного обеспечения
Установка Wireshark
Wireshark должен быть установлен на компьютере для мониторинга. Во время установки на Windows необходимо включить компонент поддержки захвата USB. Без этого драйвера трафик USB не может быть захвачен.
После установки Wireshark отобразит интерфейсы захвата USB рядом с сетевыми интерфейсами.
Драйвер USB Sniffer (Windows)
Для работы с данными USB-анализа оборудования в Windows требуется небольшой вспомогательный исполняемый файл. Этот исполняемый файл должен быть расположен в системном каталоге (например, непосредственно на диске C:), чтобы Wireshark мог взаимодействовать с анализатором.
Запись данных USB в Wireshark
После запуска Wireshark выберите интерфейс USB-снифера и начните захват. Сначала может появиться большое количество нерелевантного USB-трафика.
Применение USB-фильтров
Чтобы сосредоточиться только на соответствующих данных USB, применяется фильтр отображения:
usbllЭтот фильтр отображает только пакеты уровня USB Link, которые содержат сырые USB-транзакции, обменяемые между устройством и хостом.
Необходимо дальнейшее фильтрование, поскольку USB производит очень большой объем данных.
Фильтрация по идентификатору пакета (PID)
Данные пакеты от мыши и клавиатуры можно идентифицировать по конкретным идентификаторам пакетов (PID). В данном проекте наблюдаются следующие соответствующие PID:
0xC30x4B
Эти можно отфильтровать в Wireshark, используя:
usbll.pid == 0xC3 || usbll.pid == 0x4BЭтот фильтр изолирует пакеты отчетов HID, поступающие от мыши или клавиатуры.
Понимание данных о мышах
Когда мышь перемещается или нажимается, отчёты HID отправляются непрерывно. Каждый отчёт содержит несколько байтов:
- Отчет ID
- Состояния кнопок (лево, право, середина)
- Движение по оси X
- Движение по оси Y
Наблюдая за изменяющимися значениями байтов в Wireshark, можно сделать вывод о направлении и скорости движения мыши. Даже без кликов одно движение генерирует видимую активность USB.
Понимание данных клавиатуры
Данные с клавиатуры отправляются в виде отчетов HID, содержащих коды сканирования, а не ASCII-значения. Каждая клавиша соответствует конкретному идентификатору использования HID.
Например:
0x04→ Буква А0x05→ Буква Б0x0E→ Буква К
Заглавные и строчные буквы определяются клавишами модификаторов, такими как Shift, которые отображаются в отдельных байтах отчета.
Функциональные клавиши, такие как F12, также генерируют уникальные коды сканирования, которые можно наблюдать непосредственно в захваченных пакетах.
Последствия для безопасности
Этот проект ясно показывает, что трафик USB HID не шифруется. Если вредоносное устройство физически расположено между клавиатурой и компьютером, оно может перехватывать каждое нажатие клавиши, включая имена пользователей и пароли.
Вот почему безопасность USB, доверенное оборудование и контроль физического доступа имеют решающее значение в чувствительных условиях.
Резюме демонстрации
В этой демонстрации были успешно захвачены и декодированы следующие элементы:
- Движение мыши и активность кнопок
- Отдельные нажатия клавиш клавиатуры
- Функциональные клавиши и клавиши-модификаторы
- Полные слова, напечатанные на клавиатуре
USB-сниффер работает прозрачно, что затрудняет его обнаружение без физической проверки.
Заключение
Этот проект USB-снифера предоставляет мощную практическую демонстрацию того, как работает USB-связь на самом низком уровне. Сочетая специализированное оборудование для подслушивания с Wireshark, становится возможным увидеть, как именно устройства ввода взаимодействуют с компьютерами.
Проект идеально подходит для изучения USB-протоколов, структур отчетов HID и реальных аспектов безопасности. Хотя он продемонстрирован с мышью и клавиатурой, те же принципы применимы ко многим другим USB-устройствам.
Загрузка программного обеспечения
Приложение помощи Windowsusb_sniffer_win.exeнеобходимое для захвата USB данных с помощью Wireshark доступно для загрузки ниже этой статьи.
Вещи, которые могут вам понадобиться
-
АмазонкаКупите USB сниффер на Amazon.amzn.to
-
eBayКупите USB-сниффер на eBay.ebay.us
-
АлиЭкспрессКупите USB-искатель на AliExpress.s.click.aliexpress.com
-
БанггудКупите USB-ридер на Banggood.banggood.com
Ресурсы и ссылки
-
СкачатьСкачать Wiresharkwireshark.org
Файлы📁
Руководство пользователя
-
Руководство пользователя USB Sniffer_русский
usb_sniffer_manual_english-1.pdf1.06 MB
Другие файлы
-
usb_sniffer_win.exe
usb_sniffer_win.zip0.29 MB