As mentioned in a previous post, usbmon is a kernel level facility. However, it does have a user space counter part that can be found on the inter webs. This kernel facility basically collects packet like information being transferred over all USB buses. Usbmon reports requests that are being performed by Host Controller Drivers (HCD). One should note that usbmon will not provide accurate information if these HCDs are not functioning properly.
Usbmon provides a text based and binary based API to access information being produced. This allows the information being produced by usbmon to be accessed in many ways including: Wireshark, Tcpdump, and even cat.