wireshark.org protocol dissector with Osmocom additions
Go to file
Guy Harris 7d152d2237 Get rid of the include of <arpa/tftp.h>; put the #defines for packet
types in "packet-tftp.c", and grab the opcode directly from the first 2
bytes of the packet, using "pntohs()" (which will also keep us from
crashing, on processors that require strict alignment, if the UDP
payload isn't aligned on a 2-byte boundary).

Also use "pntohs()" to grab the block number in data and acknowledgment
packets, for the same reason we use it to grab the opcode.

svn path=/trunk/; revision=286
1999-05-13 05:46:04 +00:00
doc Credited John McDermott <jjm@jkintl.com> for his pseudo-real-time 1999-05-12 06:04:47 +00:00
image * Added column formatting functionality. 1998-11-17 04:29:13 +00:00
wiretap Add support for Network Monitor 2.0 files, thanks to information 1999-05-12 21:40:07 +00:00
AUTHORS Credited John McDermott <jjm@jkintl.com> for his pseudo-real-time 1999-05-12 06:04:47 +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 Update it to note that GTK+ has stable 1.2.x versions now. 1999-05-04 18:26:22 +00:00
INSTALL.configure * Installation documentation updates 1998-12-29 03:12:07 +00:00
Makefile.am Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
Makefile.in Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
NEWS Fixed 0.6.0 packaging problems. 1999-05-01 05:19:25 +00:00
README Miscellaneous updates of README and README.tru64 created. 1999-04-30 21:16:31 +00:00
README.tru64 Miscellaneous updates of README and README.tru64 created. 1999-04-30 21:16:31 +00:00
VERSION Fixed 0.6.0 packaging problems. 1999-05-01 05:19:25 +00:00
acconfig.h Add a "acinclude.m4" file that defines a "AC_ETHEREAL_STRUCT_SA_LEN" 1998-11-17 02:17:27 +00:00
acinclude.m4 Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new 1999-03-28 18:32:03 +00:00
aclocal.m4 Fixed 0.6.0 packaging problems. 1999-05-01 05:19:25 +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
capture.c Live data capture and display enhancement that allows network capture and 1999-05-11 18:51:10 +00:00
capture.h Live data capture and display enhancement that allows network capture and 1999-05-11 18:51:10 +00:00
column.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
column.h * Added column formatting functionality. 1998-11-17 04:29:13 +00:00
config.guess * Scripts needed for configure.in 1998-09-20 00:25:16 +00:00
config.h.in Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
config.sub * Scripts needed for configure.in 1998-09-20 00:25:16 +00:00
configure Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
configure.in Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
ethereal.1 Credited John McDermott <jjm@jkintl.com> for his pseudo-real-time 1999-05-12 06:04:47 +00:00
ethereal.c Credited John McDermott <jjm@jkintl.com> for his pseudo-real-time 1999-05-12 06:04:47 +00:00
ethereal.h Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's 1999-04-06 16:24:50 +00:00
ethereal.spec Fixed 0.6.0 packaging problems. 1999-05-01 05:19:25 +00:00
ethertype.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
etypes.h Added "Cisco Discovery Protocol" Hooks 1998-12-19 00:12:23 +00:00
file.c Fixed problem where filename of capture file would not be displayed in 1999-05-11 20:07:47 +00:00
file.h Live data capture and display enhancement that allows network capture and 1999-05-11 18:51:10 +00:00
filter.c * GTK+ 1.1/1.2 compatibility changes (use gtk_scrolled_window_add_with_viewport 1998-12-27 20:44:53 +00:00
filter.h * Pod page update 1998-10-13 02:10:57 +00:00
follow.c Fixes to the TCP reassembly code to correctly handle too short 1999-03-23 20:25:50 +00:00
follow.h Fixes to the TCP reassembly code to correctly handle too short 1999-03-23 20:25:50 +00:00
gtkpacket.c Changed variable type of argument 'pd' in hex printing routine to match 1999-05-01 05:39:06 +00:00
gtkpacket.h Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
install-sh Initial revision 1998-09-16 02:39:15 +00:00
manuf *** empty log message *** 1998-09-27 07:13:29 +00:00
menu.c Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's 1999-04-06 16:24:50 +00:00
menu.h A patch spread across many files to let Ethereal compile under GTK+-1.1.x. 1998-12-17 05:42:33 +00:00
missing Initial revision 1998-09-16 02:39:15 +00:00
mkinstalldirs Initial revision 1998-09-16 02:39:15 +00:00
packet-aarp.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-arp.c Turn "arpaddr_to_str()" into "bytes_to_str()", and make it public, so it 1999-05-11 08:21:39 +00:00
packet-atalk.c Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new 1999-03-28 18:32:03 +00:00
packet-bootp.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-cdp.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-data.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-dns.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-dns.h Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-eth.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-fddi.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-ftp.c Removing some includes of tftp.h from places it should not be 1999-05-13 01:05:11 +00:00
packet-giop.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-http.c Changes to the routines to help decode text-oriented protocols (FTP, 1999-03-30 04:41:01 +00:00
packet-icmpv6.c A fix for Solaris 2.5.1 compilation. 1999-03-29 02:24:29 +00:00
packet-ip.c Minor performance improvement and TCP option decoding fixed (when no tree). 1999-05-12 20:44:59 +00:00
packet-ip.h Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new 1999-03-28 18:32:03 +00:00
packet-ipsec.c Two more files for ipv6. 1999-03-29 02:21:34 +00:00
packet-ipv6.c Changed the flowinfo field in the ipv6 header to flow info + traffic class, as 1999-04-09 13:32:31 +00:00
packet-ipv6.h Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's 1999-04-06 16:24:50 +00:00
packet-ipx.c Fixed the number of parameters for the other super-IPX protocols so that 1999-05-10 20:51:36 +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-llc.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-lpd.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-nbipx.c This small change lets me read SMBtrans packets that come over NBIPX. 1999-05-10 19:01:32 +00:00
packet-nbns.c Pass NBDS packets on to SMB even if we're only generating a summary 1999-05-10 22:07:09 +00:00
packet-ncp.c Fixed the number of parameters for the other super-IPX protocols so that 1999-05-10 20:51:36 +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 Add NNTP support. 1999-04-06 02:02:12 +00:00
packet-null.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-osi.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-ospf.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +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 Removing some includes of tftp.h from places it should not be 1999-05-13 01:05:11 +00:00
packet-ppp.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-raw.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-rip.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +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-smb.c Removing some includes of tftp.h from places it should not be 1999-05-13 01:05:11 +00:00
packet-snmp.c Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
packet-tcp.c Minor performance improvement and TCP option decoding fixed (when no tree). 1999-05-12 20:44:59 +00:00
packet-telnet.c Add an RCS ID. 1999-04-05 23:39:51 +00:00
packet-tftp.c Get rid of the include of <arpa/tftp.h>; put the #defines for packet 1999-05-13 05:46:04 +00:00
packet-tr.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-trmac.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-udp.c Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
packet-vines.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
packet-vines.h * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
packet.c Turn "arpaddr_to_str()" into "bytes_to_str()", and make it public, so it 1999-05-11 08:21:39 +00:00
packet.h Added Didier Jorand's dissect_snmp routine. This is only compiled in 1999-05-12 05:56:42 +00:00
prefs.c Added display filters to wiretap. 1999-03-01 18:57:07 +00:00
prefs.h * Added column formatting functionality. 1998-11-17 04:29:13 +00:00
print.c Removed all references to gtk objects from packet*.[ch] files. They now 1999-03-23 03:14:46 +00:00
print.h * Added preference file saves and reads. 1998-10-28 21:38:11 +00:00
print.ps * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
ps.h Added ID tags to the beginning of each source file. 1998-09-16 03:22:19 +00:00
rdps.c Added ID tags to the beginning of each source file. 1998-09-16 03:22:19 +00:00
resolv.c Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new 1999-03-28 18:32:03 +00:00
resolv.h Jun-ichiro's IPv6 patch is merged in with ethereal and now uses the new 1999-03-28 18:32:03 +00:00
smb.h Add some SMB codes and error codes from the 1999-05-11 07:22:31 +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
stamp-h.in Initial revision 1998-09-16 02:39:15 +00:00
util.c Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's 1999-04-06 16:24:50 +00:00
util.h Capturing packets from ethereal now saves the capture in an "anonymous" buffer. That is, it's 1999-04-06 16:24:50 +00:00
ylwrap Fixed 0.6.0 packaging problems. 1999-05-01 05:19:25 +00:00

README

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

Ethereal is a network traffic analyzer for Unix and Unix-like operating
systems.  It is based on 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.


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.  You can compile ethereal with the wiretap library by using
'./configure --with-wiretap'.  Using wiretap will allow you to read
libpcap, Sniffer, NetXray (and Sniffer Pro), Sun "snoop", LANalyzer,
Microsoft Network Monitor, and AIX "iptrace" 2.0 trace files. Some minimal
display filters now work. But because "Follow TCP Stream" relies on IP and TCP
display filtering, and those aren't yet available in wiretap's display filter
system, "Follow TCP Stream" is turned off when you compile --with-wiretap.

You can still capture packets from within ethereal using libpcap, and therefore
use libpcap-style capture filters, however.

If you want to add support for other packet-capture file formats, please
look at the wiretap source code in the wiretap directory.

Please report any problems that are wiretap related to
Gilbert Ramirez <gram@verdict.uthscsa.edu>.


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.


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>