5

Пожалуйста, кто-нибудь объяснит мне в простых терминах, как использовать usbmon для отслеживания объема данных, передаваемых с pendrive?

3 ответа3

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-мониторинга

2

Найдите номер автобуса, на котором находится ваше устройство (см. Ответ Шекара). Затем в 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 должно давать вам более точные цифры.

2

Установите wireshark, чем проще всего:

  1. Проверьте устройство "Bus" и номер "Device" с помощью lsusb (в "" - поля lsusb)
  2. Смонтировать usbmon sudo modprobe usbmon
  3. Начать Wireshark sudo wireshark
  4. В wireshark выберите, что слушать: usbmon{Bus nr form lsusb} fe: usbmon1
  5. Добавить фильтр для вашего номера устройства

Более чистый способ - добавить правило для usbmon для вашего пользователя, чем вы можете использовать его (и wireshark) без прав root.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .