Мониторинг активности USB-устройств |
[исправить] |
Начиная с Linux-ядра версии 2.6.11 в составе поставляется модуль usbmon,
позволяющий осуществить полный мониторинг обмена данными с USB-устройствами.
Загружаем модуль:
modprobe usbmon
Если не смонтирована debugfs, монтируем:
mount| grep debugfs
mount -t debugfs none_debugs /sys/kernel/debug
Для анализа USB-пересылок также можно использовать Java-приложение из состава пакета
USBMon-0.4.tar.gz:
wget http://people.redhat.com/zaitcev/linux/USBMon-0.4.tar.gz
tar xzf USBMon-0.4.tar.gz
cd USBMon
vi Makefile # правим путь в переменной JAVAC, оставляем просто javac (ставится из пакета openjdk-6-jdk)
make
java USBMon
Но удобнее, проще и нагляднее анализировать usbmon трафик в Wireshark, в
котором достаточно выбрать интерфейс для сниффинга usbmon0 или usbmonN, где N
номер USB-шины, которую можно определить, например, утилитой lsusb. Главное
удобство Wireshark состоит в гибких возможностях фильтрации, например, можно
отобразить только соответствующие определенным критериям пересылки.
При наличии libpcap 1.0 для перехвата данных можно использовать любую
поддерживающую данную библиотеку утилиту, включая tcpdump, начиная с версии 4.0:
tcpdump -i usbmon0 -w usb.pcap
указание опции "-w" обязательно, без нее будет выведена ошибка "tcpdump:
unsupported data link type USB_LINUX". Наглядно отслеживать пересылки tcpdump
еще не умеет, но сохраненный файл usb.pcap можно использовать в сторонних
анализаторах, таких как wireshark.
Сохранить дамп пересылок можно в текстовом виде, просто перенаправив вывод из
сокета в директории /sys/kernel/debug/usb/usbmon:
ls /sys/kernel/debug/usb/usbmon
0s 1s 1u 2t 3s 3u 4t 5s 5u 6t 7s 7u
0u 1t 2s 2u 3t 4s 4u 5t 6s 6u 7t
где, 0* - сокет сбора данных о всех шинах. Буквы "s", "u" и "t" указывают на
формат вывода, отличающийся детализацией.
cat /sys/kernel/debug/usb/usbmon/0u > usbmon.out
|
|
|
04.01.2011
|
Раздел: Корень / Администратору / Система / Просмотр состояния и мониторинг системы |
1.1, e2 (?), 11:32, 06/01/2011 [ответить]
| +/– |
Круто. Можно проводить реверс-инженеринг для USB устройств не поддерживающихся в Linux.
| |
|
2.3, pavlinux (ok), 21:14, 06/01/2011 [^] [^^] [^^^] [ответить]
| +/– |
Как Вы его проведёте, если оно не поддерживается? :)
Если только в Венду в виртуалку
| |
|
3.4, e2 (?), 01:11, 08/01/2011 [^] [^^] [^^^] [ответить]
| +/– |
begin
задать вопрос,
полубаться,
ответить на вопрос в стиле КО.
end
| |
|
2.5, User294 (ok), 11:32, 09/01/2011 [^] [^^] [^^^] [ответить]
| +/– |
> Можно проводить реверс-инженеринг для USB устройств не поддерживающихся в Linux.
Это такой современный вариант pkunzip.zip? :) А то если девайс не поддерживается - что сниффать то предполагается? oO
| |
|
3.7, pavlinux (ok), 14:22, 09/01/2011 [^] [^^] [^^^] [ответить]
| +/– |
>> Можно проводить реверс-инженеринг для USB устройств не поддерживающихся в Linux.
> Это такой современный вариант pkunzip.zip? :) А то если девайс не поддерживается
> - что сниффать то предполагается? oO
Из отпуска что ль вернулся? Как там в Альпах, лыжи катят?!
| |
|
|
|