Ethereal-dev: Re: [Ethereal-dev] Getting signal from USB port

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Fri, 28 Jan 2005 01:04:34 -0800
hasna dahnini wrote:

I want to know how I can get the signal from the USB port and analyse it on Ethereal ?

What do you mean by "get the signal from the USB port"?

If you mean that you want to use Ethereal as a USB analyzer rather than as an analyzer for networks such as Ethernet, Token Ring, PPP, 802.11, FDDI, etc., capturing raw USB traffic (e.g. between a keyboard, mouse, camera, etc. and a host), the answer is "you can't". The mechanism Ethereal uses to capture packets is the libpcap/WinPcap library, which, at least at present, doesn't support capturing on raw USB because nobody's contribute to the libpcap developers any code to do so. Libpcap/WinPcap depend on mechanisms provided by the core operating system on top of which it runs; perhaps none of those operating systems provide a mechanism for capturing raw USB traffic, in which case it'd be impossible to contribute code for libpcap to do so - you'd first have to develop code for the OS in question to do so, and then make libpcap/WinPcap use that code.

If you mean that, as per Laurent Rabret's mail, you want to capture regular network traffic on a modem of some sort (802.11, ADSL, etc.) that connects to the host on a USB port, then you might be able to capture that traffic, but

1) it won't look like raw USB traffic, it'll probably look like 802.11 or Ethernet traffic if it's a USB 802.11 interface, or PPP traffic if it's an ADSL modem, or something such as that;

2) whether you'll be able to capture on it depends on whether the driver for the USB device supports that.

For ADSL modems, the traffic will *probably* look like PPP traffic, at least as presented to the part of the OS's networking stack that would connect to the packet capture mechanism (although I can't guarantee that). Whether you could capture on that would depend on whether the capture mechanism supports capturing on PPP interfaces; on most UN*Xes it will probably do so, and on Windows you will, as per Laurent Rabret's mail, need WinPcap 3.1 beta 4, at least on Windows NT 4.0/2000/XP/Server 2003 (Windows 95/98/Me, if they support ADSL modems, might not require that).

For 802.11 interfaces, it will probably work as well as it does with other 802.11 interfaces; unfortunately, on Windows, that all too often means "not very well". See

	http://www.ethereal.com/faq#q5.41

and

	http://www.ethereal.com/faq#q5.42

for the full sad story of 802.11 capture with WinPcap applications (WinDump, Analyzer, Ethereal, etc.) on 802.11 interfaces on Windows. It might work better on Linux or various BSDs if they have drivers for the interface.