snooping usb traffic

Hi, I'm interested in implementing a snooping USB traffic between two devices. It would simply pass through any signals received and would appear to the two devices involved that they were operating on a standard usb cable. I would then output all captured traffic to a program running on the host of which the arduino is connected to. Has anyone attempted this before, or are there any immediate gotchas / No's that anyone can think of that I should be aware of?



are there any immediate gotchas

USB generates a lot of traffic (data) the amount of storage you have on an arduino is very small.

I would also write a small piece of code on the host system (linux ) that could pull the data from the arduino periodically and append it to a file. I could then parse this file later to veiw the traffic.

I'm ultimately hoping to implement something like this

for a lot less than the $400 and hopefully with the added bonus of learning stuff too :)


The data speed of modern USB devices is so fast that you would have very few (none ?) cpu cycles on arduino to do anything with the data. Fetching the data over serial from a host PC is very slow and cpu demanding compared to USB speeds.

the device in question is a xbox controller connect to the xbox360. I wouldn't imagine a huge amount of data being transferred per sec. I was hoping that the arduino would be powerful enough to manage this?