bus hound
website: http://www.perisoft.net/index.htm
Bus Hound is a software product for capturing device data transfers and protocol. Bus Hound can also be used to build and submit commands to devices including bus resets.
See the below screen shots for a good look at the tools:
Bus Hound supports every device that can be attached to IDE, SCSI, USB, FireWire, iSCSI and Fibre Channel buses. This means it can be used with disk drives, DVD drives, keyboards, mice, digital cameras, printers, scanners, speakers, web cams, and everything else. Bus Hound also supports capturing data from the serial port, parallel port, ps/2 mice, and ps/2 keyboards.