wireshark/wiretap
Gilbert Ramirez 10c23c3cd2 I changed the wtap_open_offline() function so that it takes only the
filename as the parameter. So far all the filetypes that wiretap can read
can be inferred from the first few bytes of the file, so we never
have to give wiretap a hint as to the file type.

svn path=/trunk/; revision=173
1999-01-21 05:03:56 +00:00
..
AUTHORS I gave Guy the credit he deserves. 1998-11-20 05:54:39 +00:00
COPYING I added the LANalzyer file format to wiretap. I cleaned up some code in the 1998-11-12 06:01:27 +00:00
ChangeLog Logged my change about per-packet encapsulation types. 1999-01-07 16:43:40 +00:00
INSTALL A lengthy patch to add the wiretap library. Wiretap is not used by default 1998-11-12 00:06:47 +00:00
Makefile * Modified Makefile.am and configure.in so that wiretap isn't built unless 1999-01-13 04:14:29 +00:00
Makefile.am Add suppport for Microsoft Network Monitor Ethernet capture files. 1999-01-17 09:33:15 +00:00
Makefile.in Add suppport for Microsoft Network Monitor Ethernet capture files. 1999-01-17 09:33:15 +00:00
NEWS A lengthy patch to add the wiretap library. Wiretap is not used by default 1998-11-12 00:06:47 +00:00
README I made sure to note that wiretap only supports iptrace 2.0 files so far. 1999-01-02 06:50:30 +00:00
acconfig.h Add "acconfig.h" to make the "auto*" stuff happy. 1998-11-15 00:32:01 +00:00
aclocal.m4 Add suppport for Microsoft Network Monitor Ethernet capture files. 1999-01-17 09:33:15 +00:00
buffer.c More patches from Guy, cleaning up warnings when using gcc -Wall. 1998-11-12 23:29:34 +00:00
buffer.h I added the LANalzyer file format to wiretap. I cleaned up some code in the 1998-11-12 06:01:27 +00:00
config.h.in More patches from Guy to make wiretap compile better. I definitely 1998-11-13 03:21:20 +00:00
configure Add suppport for Microsoft Network Monitor Ethernet capture files. 1999-01-17 09:33:15 +00:00
configure.in * Modified Makefile.am and configure.in so that wiretap isn't built unless 1999-01-13 04:14:29 +00:00
debug.h A lengthy patch to add the wiretap library. Wiretap is not used by default 1998-11-12 00:06:47 +00:00
file.c I changed the wtap_open_offline() function so that it takes only the 1999-01-21 05:03:56 +00:00
iptrace.c I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
iptrace.h Added files to handle AIX iptrace 2.0 files in wiretap. 1999-01-03 04:30:13 +00:00
lanalyzer.c I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
lanalyzer.h I added the LANalzyer file format to wiretap. I cleaned up some code in the 1998-11-12 06:01:27 +00:00
libpcap.c I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
libpcap.h Add support to wiretap for reading Sun "snoop" capture files. 1998-11-15 05:29:17 +00:00
netmon.c Added Guy's netmon.[ch] files to CVS for him. His firewall admins forgot 1999-01-18 21:34:54 +00:00
netmon.h Added Guy's netmon.[ch] files to CVS for him. His firewall admins forgot 1999-01-18 21:34:54 +00:00
ngsniffer.c I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
ngsniffer.h Added Guy Harris' patch to read Sniffer ATM trace files. Very nice. 1998-12-17 06:39:13 +00:00
snoop.c I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
snoop.h Add support to wiretap for reading Sun "snoop" capture files. 1998-11-15 05:29:17 +00:00
wtap.c Use g_free instead of free so that I don't have to include <stdlib.h> 1999-01-08 17:24:01 +00:00
wtap.h I changed the wtap_open_offline() function so that it takes only the 1999-01-21 05:03:56 +00:00

README

$Id: README,v 1.6 1999/01/02 06:50:30 gram Exp $

Wiretap is a library that is being developed as a future replacement for
libpcap, the current standard Unix library for packet capturing. Libpcap is
great in that it is very platform independent and has a wonderful BPF
optimizing engine. But it has some shortcomings as well. These shortcomings
came to a head during the development of Ethereal (http://ethereal.zing.org),
a packet analyzer. As such, I began developing wiretap so that:

1. The library can easily be amended with new packet filtering objects.
Libpcap is very TCP/IP-oriented. I want to filter on IPX objects, SNA objects,
etc. I also want any decent programmer to be able to add new filters to the
library.

2. The library can read file formats from many packet-capturing utilities.
Libpcap only reads Libpcap files.

3. The library can capture on more than one network interface at a time, and
save this trace in one file.

4. Network names can be resolved immediately after a trace and saved in the
trace file. That way, I can ship a trace of my firewall-protected network to a
colleague, and he'll see the proper hostnames for the IP addresses in the
packet capture, even though he doesn't have access to the DNS server behind my
LAN's firewall.

5. I want to look into the possibility of compressing packet data when saved
to a file, like Sniffer.

6. The packet-filter can be optimized for the host OS. Not all OSes have BPF;
SunOS has NIT and Solaris has DLPI, which both use the CMU/Stanford
packet-filter psuedomachine. RMON has another type of packet-filter syntax
which we could support.

Currently, only #2 is available. Wiretap doesn't even do any filtering yet. It
can only be used to read packet capture files.

File Formats
============

Libpcap
-------
The "libpcap" file format was determined by reading the "libpcap" code;
wiretap reads the "libpcap" file format with its own code, rather than
using the "libpcap" library's code to read it.

Sniffer (uncompressed)
-------
The Sniffer format is documented in the Sniffer manual.  Unfortunately,
Sniffer manuals tend to document only the format for the Sniffer model
they document. Token-Ring and ethernet seems to work well, though.
If you have an ATM Sniffer file, both Guy and I would be *very*
interested in receiving a sample. (see 'AUTHORS' file for our e-mail
addresses). When using LANE, the ATM Sniffer appears to record the emulated
LAN information; that is, only the ethernet or token-ring information is
stored in the trace file, not any information about ATM cells.

LANalyzer
---------
The LANalyzer format is available from http://www.novell.com. Search their
knowledge base for "Trace File Format". 

"snoop"
-------
The Solaris 2.x "snoop" program's format is documented in RFC 1761.

"iptrace"
---------
This is the capture program that comes with AIX 3.x and 4.x. Right now wiretap
only supports iptrace 2.0 (AIX4) because I don't have access to an AIX3
machine.  iptrace has an undocumented, yet very simple, file format.
The interesting thing about iptrace is that it will record packets coming in from
all network interfaces; a single iptrace file can contain multiple datalink types.
I have tested iptrace on ethernet and token-ring; if you can provide an iptrace file with
any other datalink type, I would appreciate a copy. (with the output from
'ipreport' too, if possible).

Gilbert Ramirez
<gram@verdict.uthscsa.edu>