Пожалуйста, кто-нибудь объяснит мне в простых терминах, как использовать usbmon для отслеживания объема данных, передаваемых с pendrive?
3 ответа
Примеры usbmon.txt и usbmon.txt дают четкое объяснение usbmon или usbdump.
Вы должны найти, какая шина подключена к вашему устройству. Для этого откройте свой терминал и введите:
cat /sys/kernel/debug/usb/devices
Это даст вам вывод, похожий на:
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0557 ProdID=2004 Rev= 1.00
S: Manufacturer=ATEN
S: Product=UC100KM V2.00
В приведенном выше примере вывода T имеет Bus с его идентификатором. Итак, идентификатор шины 03.
или же
Чтобы увидеть идентификатор шины, вы также можете использовать lsusb, откройте терминал и введите:
lsusb
Это даст вам вывод, похожий на:
Bus 003 Device 002: ID 0557:2004 ATEN UC100KM V2.00
Что означает идентификатор автобуса 003.
Теперь вы знаете, что USB подключен к BUS ID 003. Затем в терминале типа:
cat /sys/kernel/debug/usb/usbmon/3u > /tmp/1.mon.out
В приведенной выше команде вы отслеживаете передачу данных, происходящую в шине ID 03. Если вы хотите контролировать передачу данных на всех шинах, введите:
cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out
Который будет сканировать, пока передача не дойдет до конца. Если вы хотите прервать, используйте CTRL+C.
Чтобы понять результат, прочитайте: usbmon: фреймворк USB-мониторинга
Найдите номер автобуса, на котором находится ваше устройство (см. Ответ Шекара). Затем в raw /dev /usbmonX используйте pipemeter (или pipebench) для измерения пропускной способности или выведите его в файл и визуализируйте его рост с помощью спидометра..fe для устройства на шине № 2:
# next three commands are equivalent - use any one
# pipemeter /dev/usbmon2 > /dev/null
# pipemeter < /dev/usbmon2 > /dev/null
# cat /dev/usbmon2 | pipemeter > /dev/null
# in 1st terminal
# cat /dev/usbmon2 > /tmp/usbdump
# in 2nd terminal
# speedometer /tmp/usbdump
Форматированный текст, выводимый из файлов /sys /kernel /debug /usb /usbmon /Xu, создает издержки для небольших объемов трафика, но, похоже, усекает большие блоки данных, поэтому необработанное устройство usbmon должно давать вам более точные цифры.
Установите wireshark, чем проще всего:
- Проверьте устройство "Bus" и номер "Device" с помощью lsusb (в "" - поля lsusb)
- Смонтировать usbmon
sudo modprobe usbmon
- Начать Wireshark
sudo wireshark
- В wireshark выберите, что слушать:
usbmon{Bus nr form lsusb} fe: usbmon1
- Добавить фильтр для вашего номера устройства
Более чистый способ - добавить правило для usbmon для вашего пользователя, чем вы можете использовать его (и wireshark) без прав root.