De Documentation/usb/usbmon.txt
na fonte do kernel:
Two formats are supported currently: the original, or '1t' format, and the '1u' format. The '1t' format is deprecated in kernel 2.6.21. The '1u' format adds a few fields, such as ISO frame descriptors, interval, etc. It produces slightly longer lines, but otherwise is a perfect superset of '1t' format.
Depois, continua a explicar o que os campos significam. Os nós 1s
etc. fornecem algum tipo de status (como nreaders
= número de leitores = consumidores de eventos usbmon), mas eu não sei detalhes e nunca tive que usá-los.
Você pode usar ferramentas como wireshark
ou vusbanalyzer para analisar mais confortavelmente o tráfego. Captura via tcpdump
e análise post-mortem com wireshark
também é possível:
sudo tcpdump -i usbmon1 -w usbmon.pcap &
Editar
Você pode carregar o arquivo usbmon.pcap
em wireshark, assim como outros arquivos pcap obtidos pelo tcpdump ou de outra forma.
IIRC, usbhid-dump
lê e despeja o descritor HID como obtido pelo kernel (assim ele não é obtido trocando mensagens), e havia alguns Mudanças na API do kernel e / ou você teve que desvincular o dispositivo USB antes que pudesse acessar o HID, mas eu esqueci os detalhes.
Você pode acessar o descritor HID diretamente, tanto em bruto quanto no kernel, montando debugfs
mount -t debugfs none /sys/kernel/debug
e, em seguida, olhando para /sys/kernel/debug/hid/<dev>/rdesc
. hid-rd
também pode analisar o descritor HID bruto.
E se você estiver apenas após os relatórios da HID, use o dispositivo hidraw
correspondente.