wireshark.org protocol dissector with Osmocom additions
Go to file
Guy Harris 2563e672c8 Fix the list of descriptions of codes in ICMP Unreachable messages.
svn path=/trunk/; revision=458
1999-08-10 04:57:47 +00:00
doc Jochen Friedrich's patch to add a "-R" flag, which takes a 1999-08-08 01:29:24 +00:00
image * Added column formatting functionality. 1998-11-17 04:29:13 +00:00
wiretap Update version numbers to 0.7.0, and update win32 Makefiles. I made some 1999-08-03 20:51:41 +00:00
AUTHORS Update Olivier Abad's e-mail address. 1999-08-02 05:52:52 +00:00
COPYING * Copied in the correct GNU license (I'm such a goober) 1998-10-16 01:18:35 +00:00
ChangeLog Initial revision 1998-09-16 02:39:15 +00:00
INSTALL Added the ability to create a read-only ethereal, i.e., one that 1999-07-09 04:18:36 +00:00
INSTALL.configure * Installation documentation updates 1998-12-29 03:12:07 +00:00
Makefile.am Allow compilation of ethereal in a directory different than 1999-08-07 17:28:21 +00:00
Makefile.nmake Add a "dissect_xdlc_control()" routine, to dissect the control field of 1999-08-04 06:15:07 +00:00
NEWS Added John McDermott's patch for handling ICMP Unreachable|Fragmentation 1999-08-09 18:18:38 +00:00
README Fix a typo. 1999-08-04 21:20:53 +00:00
README.tru64 Miscellaneous updates of README and README.tru64 created. 1999-04-30 21:16:31 +00:00
README.win32 Finally got the win32 ethereal to link properly with MSVC. 1999-07-21 17:40:42 +00:00
VERSION Changed version to 0.7.1 1999-08-05 17:08:13 +00:00
acconfig.h Added the ability to create a read-only ethereal, i.e., one that 1999-07-09 04:18:36 +00:00
acinclude.m4 Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
alignment.h Get rid of the "P*" macros, as we're not using them (Ethereal only reads 1999-05-10 20:17:36 +00:00
autogen.sh Eliminate an extra comma from a message. 1999-08-04 00:21:37 +00:00
capture.c Use execlp instead of execl to scan the PATH for the 1999-08-05 11:12:14 +00:00
capture.h Fix the -S option : 1999-07-28 20:17:24 +00:00
column.c Fix up the comment before "get_column_width()" to reflect current 1999-07-28 03:47:03 +00:00
column.h Have: 1999-07-28 03:29:02 +00:00
config.guess * Scripts needed for configure.in 1998-09-20 00:25:16 +00:00
config.h.win32 Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
configure.in Changed version to 0.7.1 1999-08-05 17:08:13 +00:00
dfilter-grammar.y Removed the "exists" keyword from the grammar. The name of a protocol or a 1999-08-03 15:04:33 +00:00
dfilter-scanner.l Logical operands needed to set the yylval as well as return the 1999-08-05 16:42:31 +00:00
dfilter.c Removed the "exists" keyword from the grammar. The name of a protocol or a 1999-08-03 15:04:33 +00:00
dfilter.h Removed the "exists" keyword from the grammar. The name of a protocol or a 1999-08-03 15:04:33 +00:00
display.c Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
display.h Added "Capture" and "Display" menus; "Capture" has a "Start" item, which 1999-06-19 01:14:51 +00:00
ethereal.c Building a GList by adding elements to the end with "g_list_append()" is 1999-08-10 04:13:37 +00:00
ethereal.h Actually, I think File/Reload is still used if you do a capture with 1999-07-27 02:04:38 +00:00
ethereal.spec Changed version to 0.7.1 1999-08-05 17:08:13 +00:00
ethertype.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
etypes.h Added Aaron Hillegass' summary dialogue. We're ignoring the problem with 1999-06-22 22:02:39 +00:00
file.c Building a GList by adding elements to the end with "g_list_append()" is 1999-08-10 04:13:37 +00:00
file.h Building a GList by adding elements to the end with "g_list_append()" is 1999-08-10 04:13:37 +00:00
filter.c Since ethereal is now dependent on GTK+-1.2.x (because of proto_tree and 1999-07-13 03:08:06 +00:00
filter.h * Pod page update 1998-10-13 02:10:57 +00:00
follow.c Fix TCP follow stream feature: 1999-07-31 13:55:16 +00:00
follow.h Fix TCP follow stream feature: 1999-07-31 13:55:16 +00:00
gtkpacket.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
gtkpacket.h Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
manuf *** empty log message *** 1998-09-27 07:13:29 +00:00
menu.c Fixed match_selected to work with new display filter code. It uses 1999-08-04 03:37:45 +00:00
menu.h Since ethereal is now dependent on GTK+-1.2.x (because of proto_tree and 1999-07-13 03:08:06 +00:00
packet-aarp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-arp.c The protocol tree field created for a protocol itself is of type 1999-07-30 05:42:25 +00:00
packet-atalk.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-bootp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-cdp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-clip.c Patches from Thierry Andry to support Classical IP captures from systems 1999-07-28 23:16:42 +00:00
packet-data.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-dns.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-dns.h Correctly handle the case of the root showing up as a name in a DNS 1999-05-27 05:35:08 +00:00
packet-eth.c Changed the display filter scanner from GLIB's GScanner to lex. The code 1999-08-01 04:28:20 +00:00
packet-fddi.c Changed the display filter scanner from GLIB's GScanner to lex. The code 1999-08-01 04:28:20 +00:00
packet-ftp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-giop.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-gre.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-http.c Fix a typo in "Hypertext". 1999-07-30 00:57:15 +00:00
packet-icmpv6.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ip.c Fix the list of descriptions of codes in ICMP Unreachable messages. 1999-08-10 04:57:47 +00:00
packet-ip.h Added RSVP protocol dissector. 1999-06-11 16:45:02 +00:00
packet-ipsec.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ipv6.c Patch from Bill Fumerola to quiet some EGCS complaints, at least on 1999-08-03 03:48:04 +00:00
packet-ipv6.h Got rid of ipv6 compiler warnings when compiling on RedHat 6.0. 1999-07-23 15:08:25 +00:00
packet-ipx.c Changed the display filter scanner from GLIB's GScanner to lex. The code 1999-08-01 04:28:20 +00:00
packet-ipx.h I've started to figure out the difference between NetBIOS over IPX for 1998-10-14 05:18:32 +00:00
packet-isakmp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-lapb.c Put in an RCS ID. 1999-08-05 02:26:21 +00:00
packet-llc.c Add a "dissect_xdlc_control()" routine, to dissect the control field of 1999-08-04 04:37:46 +00:00
packet-lpd.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
packet-nbipx.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-nbns.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ncp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ncp.h Re-wrote the NCP module in accordance with how NCP is really organized. 1999-03-20 04:38:57 +00:00
packet-nntp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-null.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-osi.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ospf.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ospf.h Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-pop.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-ppp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-pppoe.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
packet-pptp.c Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
packet-radius.c Checked in Johan's Updated RADIUS dissector which uses the new proto_tree 1999-08-03 14:59:16 +00:00
packet-raw.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
packet-rip.c Fix a comment. 1999-08-04 00:33:11 +00:00
packet-rip.h The address family isn't part of the RIP header, it's part of the RIP 1998-11-20 09:24:42 +00:00
packet-rsvp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-rsvp.h Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
packet-rtsp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-sdp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-smb.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-snmp.c Fix it to build with CMU, as well as UCD, SNMP. 1999-07-29 07:11:23 +00:00
packet-tcp.c Fix TCP follow stream feature: 1999-07-31 13:55:16 +00:00
packet-telnet.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-tftp.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-tr.c Fixed a bug in displaying RIF ring/bridge pairs. 1999-08-10 02:54:59 +00:00
packet-trmac.c Made the protocol (but not the fields) use the new proto_tree routine, 1999-07-29 05:47:07 +00:00
packet-udp.c "packet-udp.c" and "packet-x25.c" both have global variables named 1999-08-05 00:05:01 +00:00
packet-vines.c Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
packet-vines.h * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
packet-x25.c Put in an RCS ID. 1999-08-05 02:26:21 +00:00
packet.c Add a "dissect_xdlc_control()" routine, to dissect the control field of 1999-08-04 04:37:46 +00:00
packet.h Building a GList by adding elements to the end with "g_list_append()" is 1999-08-10 04:13:37 +00:00
prefs.c Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
prefs.h Add a "File/Print" menu item, which prints *all* the packets in the 1999-07-23 08:29:24 +00:00
print.c Printing multiple frames in PostScript is a bit tricky, I think - I 1999-07-23 21:09:25 +00:00
print.h Printing multiple frames in PostScript is a bit tricky, I think - I 1999-07-23 21:09:25 +00:00
print.ps * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
proto.c A further memory leak fix from Jochen Friedrich. 1999-08-07 01:34:29 +00:00
proto.h Changed the display filter scanner from GLIB's GScanner to lex. The code 1999-08-01 04:28:20 +00:00
ps.h Added ID tags to the beginning of each source file. 1998-09-16 03:22:19 +00:00
rdps.c Finally got the win32 ethereal to link properly with MSVC. 1999-07-21 17:40:42 +00:00
resolv.c Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
resolv.h Created a new protocol tree implementation and a new display filter 1999-07-07 22:52:57 +00:00
smb.h Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
snprintf-imp.h Squelch a number of "-Wall" errors by: 1998-10-13 07:03:37 +00:00
snprintf.c Add support for "%i" (it's the same as "%d", according to the ANSI C 1999-02-15 06:36:19 +00:00
snprintf.h Squelch a number of "-Wall" errors by: 1998-10-13 07:03:37 +00:00
strerror.c Add our own "strerror()", which we use on platforms that don't have it 1999-06-14 21:46:36 +00:00
strerror.h Add our own "strerror()", which we use on platforms that don't have it 1999-06-14 21:46:36 +00:00
summary.c Building a GList by adding elements to the end with "g_list_append()" is 1999-08-10 04:13:37 +00:00
summary.h Since ethereal is now dependent on GTK+-1.2.x (because of proto_tree and 1999-07-13 03:08:06 +00:00
timestamp.h Added support for compiling on win32 with Visual C and 'nmake'. It compiles, 1999-07-13 02:53:26 +00:00
util.c Added the ability to create a read-only ethereal, i.e., one that 1999-07-09 04:18:36 +00:00
util.h Improve the alert boxes put up for file open/read/write errors. (Some 1999-06-12 09:10:20 +00:00
xdlc.c Patch from Olivier Abad to make it correctly display non-extended 1999-08-05 06:30:05 +00:00
xdlc.h Add a "dissect_xdlc_control()" routine, to dissect the control field of 1999-08-04 04:37:46 +00:00

README

General Information
------- -----------

Ethereal is a network traffic analyzer for Unix and Unix-like operating
systems.  It uses GTK+, a graphical user interface library,
and libpcap, a packet capture and filtering library.

The official home of Ethereal is

    http://ethereal.zing.org

The latest distribution can be found in the subdirectory

    http://ethereal.zing.org/distribution

Interesting and exotic packet traces can be found at

    http://ethereal.zing.org/~gram/sample.html


Installation
------------

Ethereal is known to compile and run on the following systems:

  - Linux (2.0.x, 2.1.x, 2.2.x)
  - Solaris (2.5.1, 2.6)
  - FreeBSD (2.2.5, 2.2.6)
  - Sequent PTX v4.4.5  (Nick Williams <njw@sequent.com>)
  - Tru64 UNIX (formerly Digital UNIX) (3.2, 4.0)

It should run on other systems without too much trouble.

NOTE: the Makefile appears to depend on GNU "make"; it doesn't appear to
work with the "make" that comes with Solaris 7 nor the BSD "make".

In addition, ethereal requires "flex" - it cannot be built
with vanilla "lex" - and either "bison" or the Berkeley "yacc". Your flex
version must be 2.5.1 or greater. Check this with 'flex -V'.

You must therefore install GNU "make", "flex", and either "bison" or
Berkeley "yacc" on systems that lack them.

Full installation instructions can be found in the INSTALL file.
         
See also the appropriate README.<OS> files for OS-specific installation
instructions.

Usage
-----          

In order to capture packets from the network, you need to be running
as root, or have access to the appropriate entry under /dev if your
system is so inclined (BSD-derived systems and Solaris typically fall
into this category.  Although it might be tempting to make the
Ethereal executable setuid root, please don't - alpha code is by nature
not very robust, and liable to contain security holes.

Please consult the man page for a description of each command-line
option and interface feature.


Multiple File Types
-------------------

The wiretap library is a packet-capture library currently under
development parallel to ethereal.  In the future it is hoped that
wiretap will have more features than libpcap, but wiretap is still in
its infancy. However, wiretap is used in ethereal for its ability
to read multiple file types. You can read the following file
formats, and create display filters for them as well:

libpcap, Sniffer (uncompresed), NetXray, Sniffer Pro, snoop,
Shomiti, LANalyzer, Network Monitor, iptrace 2.0 (AIX), and
RADCOM's WAN/LAN Analyzer


IPv6
----
If your operating system includes IPv6 support, ethereal will attempt to
use reverse name resolution capabilities when decoding IPv6 packets. If
you want to turn off name resolution while using ethereal, start ethereal
with the "-n" option. If you would like to compile ethereal without
support for IPv6 name resolution, use the "--disable-ipv6" option with
"./configure". If you compile ethereal without IPv6 name resolution,
you will still be able to decode IPv6 packets, but you'll only see IPv6
addresses, not host names.

The "Follow TCP Stream" feature only supports TCP over IPv4. Support for TCP
over IPv6 is planned.


SNMP
----
Ethereal can do some basic decoding of SNMP packets, but it relies on an
external SNMP library to do this. You can use either the UCD or the CMU
SNMP libraries. The configure script will automatically determine which
library you have on your system and will use it. If you have an SNMP
library but _do not_ want to have ethereal use it, you can run configure
with the "--disable-snmp" option. No SNMP support will be compiled into
ethereal with this option.


Disclaimer
----------

There is no warranty, expressed or implied, associated with this product.
Use at your own risk.


Gerald Combs <gerald@zing.org>
Gilbert Ramirez <gram@verdict.uthscsa.edu>