Как прослушать usb порт
На смартфоне с Андроидом. Как правило, USB поддерживают все флагманские модели ведущих производителей (Samsung, LG, Motorola, Xiaomi, Sony и др.), а также некоторые устройства китайского происхождения. В бюджетных моделях, стоимостью до 200$, встретить эту функцию можно очень редко. Официальный список нигде не ведется, проверить возможность работы на Вашем устройстве можно лишь на практике, или воспользовавшись поиском в интернете.
На смартфоне от Эпл только при взломе системы.
Microsoft Lumia (и другие смартфоны на базе Windows Mobile) лишены поддержки подключения внешних устройств. Ожидается ее внедрение в десятой версии WP. Стоит отметить, что не все устройства способны «видеть» корректо накопитель без дополнительных программ.
Стоит отметить, что не все устройства способны «видеть» корректо накопитель без дополнительных программ. И безусловно для всех потребутся переходник с MicroUSB на полноразмерный коннектор.
Мониторинг подключения USB накопителей и логирование операций с файлами
Для выполнения данной задачи я использовал свойство udev, которое позволяет выполнять скрипт при наступлении какого-либо события. Создадим правило, которое будет отвечать за подключение и отключение usb устройств:
Содержимое файла usb.rules:
- ACTION – отслеживаемое действие, add – подключение устройств, remove – отключение;
- ENV – перечень отслеживаемых устройств по типу;
- RUN – исполняемое действие. В данном случае, в зависимости от события, запускаются скрипты usb_on.sh и usb_off.sh.
- %E
– серийный номер USB устройства; - %E
– модель USB устройства; - %E
– производитель USB устройства.
- host – имя компьютера результат выполнения команды hostname;
- serial — серийный номер USB устройства (%E
) - name — модель USB устройства (%E
) - vendor — производитель USB устройства (%E
) - file – действие. on – подключение, off — отключение (file — название поля выбрано по той причине, что сюда же будет вноситься и информация о файлах, над которыми производились какие-либо действия)
- sub=true – имитация нажатия кнопки на веб-форме.
2.Сервер сбора информации
Как видно из запускаемых скриптов usb_on.sh и usb_off.sh – вся информация передается на php скрипт, который состоит из простой веб-формы и обработчика запроса.
Обработчик делает одно – складывает принятые данные в таблицу usb БД MySQL
3. Мониторинг операций с файлами
Для выполнения функции отслеживания операций, которые выполнялись на файлами на подключенном носителе был написан следующий скрипт:
Данный скрипт добавляется в автозапуск и работает в фоновом режиме.
Для получения выборки сохраненной информации написан php скрипт, выбирающий из БД записи за указанный период и по выбранным ПК. Пример вывод информации: 
4. Распростренение по ПК
Т.к. ПК с сети расположено достаточно много, было решено сделать это в полу-автоматическом режиме. А именно: написан скрипт, который считывает из файла список ПК для распространения и передает на них необходимые файлы. Выполняется это с помощью утилит sshpass (для автоматического ввода пароля) и scp (копирование).
Для начала в /etc/ssh/ssh_config меняем директиву StrictHostKeyChecking:
Делается это для того, что бы ssh ключи автоматически добавлялись в список доверенных.
Непосредственно сам скрипт распространения:
Т.к. некоторые ПК могут быть выключенными, запуск скрипта выполняется с выводом всей информации в лог и последующим анализом:
Как прослушать usb порт
Это программы, позволяющие прослушать и декодировать данные, передаваемые по шине USB на интересующее устройство.
Такой инструментарий позволяет отладить программное обеспечение, работающее с USB, разобраться в деталях работы устройства, получить подробную информацию от устройстве USB и т. п.
USBlyzer. Стоит около $200 [1].
USBTrace. Стоит около $195.00 [2].
SnoopyPro-0.22 — бесплатный и весьма толковый снифер [3]. Давно не поддерживается, документация практически отсутствует, но вполне себе работает.
[Как пользоваться Snoopy Pro]
Краткая справка HOWTO, как установить и запустить прослушивание пакетов для произвольного устройства USB.
1. Скачайте архив программы [3]. В архиве один-единственный исполняемый файл SnoopyPro.exe, который не требует установки (очень люблю такие программы!). Распакуйте его в произвольное место (папку) на диске, например в папку c:\Program Files\SnoopyPro.
2. Запустите файл SnoopyPro.exe. Появится окно USB Devices со списком установленных в Windows устройств. Выберите в меню File -> Unpack Drivers, затем выберите File -> Install Service.
3. Выберите в списке интересующее вас устройство (оно должно быть подключено к компьютеру). Устройство проще найти, зная VID и PID устройства. В столбце VID/PID списка текст будет как раз содержать эти VID и PID. К примеру, Ваше устройство имеет VID 0x0B9B и PID 0x4012, тогда строка в списке, соответствующая искомому устройству, будет иметь вид «USB\Vid_0b9b&Pid_4012. «. Щелкните на эту строку правой кнопкой, и выберите Install and Restart.
4. Во втором окне программы SnoopyPro запустится окно лога. Окно лога можно также запустить через меню File -> New. В лог будут накапливаться прослушанные пакеты, и число пакетов в левом верхнем углу пакета будет постоянно увеличиваться.
5. Остановите сбор лога, и тогда Вы сможете его просмотреть. Для остановки сбора лога нажмите кнопку с черным квадратиком.
Собранный лог можно сохранить в файл (File -> Save As. ) или экспортировать в XML (File -> Export. ).
[Free USB Analyzer]
Программа также называется Device Monitoring Studio (т. е. у неё бывают опции для мониторинга не только USB, но и последовательных портов, сети). Опция для мониторинга сети называется USB Monitor.

В бесплатной версии возможности сильно урезаны, но вполне достаточны, чтобы проанализировать обмен пакетами. USB Monitor также имеет 3 платные версии, обладающие дополнительными возможностями.

Установка Free USB Analyzer большой сложности не вызывает благодаря наличию удобного инсталлятора. Однако требуется перезагрузка, и в системе при перезагрузке добавляются значительные изменения. Поэтому рекомендуется перед установкой сделать контрольную точку восстановления системы.