Hardware USB sniffers tend to be very expensive, I have, in the past, used a virtual machine (vmware) and got it to log the USB traffic. But either way, you will end up with lots of data that will take quite a while to process (USB is really quite complicated).
Just capturing the I2C is probably going to be easier - I haven't come across many I2C sniffers, as for most uses a logic analyser (or digital oscilloscope) is more than adequate. The only advantage of a sniffer would be collecting data over a longer period. As far as recommending logic analysers, it really depends on your needs - the open bench logic sniffer is really cheap, but has only a short memory, many people like the Saleae products for a low cost logic analyser, but they aren't cheap by any means. If you give more information on your needs, it might be easier for people to make recommendations.