wireshark/wiretap
Gilbert Ramirez 7757b2e72b I removed the per-file encapsulation type from wiretap, and make all filetypes
provide a per-packet encapsulation type. this required minor modifications to
ethereal.

svn path=/trunk/; revision=162
1999-01-07 16:15:37 +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 Added the iptrace (AIX's packet-capture tool) file format to wiretap. 1999-01-02 06:10:55 +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 * Final commit for version 0.5.1 1999-01-04 01:31:18 +00:00
Makefile.am * Final commit for version 0.5.1 1999-01-04 01:31:18 +00:00
Makefile.in * Final commit for version 0.5.1 1999-01-04 01:31:18 +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 * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +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 * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
configure.in Pick up from Ethereal's "configure.in" the test to check whether we're 1998-11-21 03:26:54 +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 Added the iptrace (AIX's packet-capture tool) file format to wiretap. 1999-01-02 06:10:55 +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
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 I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +00:00
wtap.h I removed the per-file encapsulation type from wiretap, and make all filetypes 1999-01-07 16:15:37 +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>