Note that non-GNU "make"s appear not to be able to build Ethereal, and
[obnox/wireshark/wip.git] / README
1 General Information
2 ------- -----------
3
4 Ethereal is a network traffic analyzer for Unix and Unix-like operating
5 systems.  It is based on GTK+, a graphical user interface library,
6 and libpcap, a packet capture and filtering library.
7
8 The official home of Ethereal is
9
10     http://ethereal.zing.org
11
12 The latest distribution can be found in the subdirectory
13
14     http://ethereal.zing.org/distribution
15
16 Interesting and exotic packet traces can be found at
17
18     http://ethereal.zing.org/~gram/sample.html
19
20
21 Installation
22 ------------
23
24 Ethereal is known to compile and run on the following systems:
25
26   - Linux (2.0.x, 2.1.x, 2.2.x)
27   - Solaris (2.5.1, 2.6)
28   - FreeBSD (2.2.5, 2.2.6)
29   - Sequent PTX v4.4.5  (Nick Williams <njw@sequent.com>)
30   - Tru64 UNIX (formerly Digital UNIX) (3.2, 4.0)
31
32 It should run on other systems without too much trouble.
33
34 NOTE: the Makefile appears to depend on GNU "make"; it doesn't appear to
35 work with the "make" that comes with Solaris 7 nor the BSD "make".
36
37 In addition, wiretap (see below) requires "flex" - it cannot be built
38 with vanilla "lex" - and either "bison" or the Berkeley "yacc"; whilst
39 the "yacc" that comes with Solaris 7 has a "-p" flag to replace "yy" in
40 various variable names with a specified prefix, to allow multiple
41 yacc-built parsers in the same program, it doesn't replace "yy" in the
42 "y.tab.h" file, so the lexical analyzer has no clue that "yylval" has
43 been renamed to "wtap_lval".  (What *were* they thinking?)
44
45 You must therefore install GNU "make", "flex", and either "bison" or
46 Berkeley "yacc" on systems that lack them.
47
48 Full installation instructions can be found in the INSTALL file.
49          
50 See also the appropriate README.<OS> files for OS-specific installation
51 instructions.
52
53 Usage
54 -----          
55
56 In order to capture packets from the network, you need to be running
57 as root, or have access to the appropriate entry under /dev if your
58 system is so inclined (BSD-derived systems and Solaris typically fall
59 into this category.  Although it might be tempting to make the
60 Ethereal executable setuid root, please don't - alpha code is by nature
61 not very robust, and liable to contain security holes.
62
63 Please consult the man page for a description of each command-line
64 option and interface feature.
65
66
67 Multiple File Types
68 -------------------
69
70 The wiretap library is a packet-capture library currently under
71 development parallel to ethereal.  In the future it is hoped that
72 wiretap will have more features than libpcap, but wiretap is still in
73 its infancy.  You can compile ethereal with the wiretap library by using
74 './configure --with-wiretap'.  Using wiretap will allow you to read
75 libpcap, Sniffer, NetXray (and Sniffer Pro), Sun "snoop", LANalyzer,
76 Microsoft Network Monitor, and AIX "iptrace" 2.0 trace files. Some minimal
77 display filters now work. But because "Follow TCP Stream" relies on IP and TCP
78 display filtering, and those aren't yet available in wiretap's display filter
79 system, "Follow TCP Stream" is turned off when you compile --with-wiretap.
80
81 You can still capture packets from within ethereal using libpcap, and therefore
82 use libpcap-style capture filters, however.
83
84 If you want to add support for other packet-capture file formats, please
85 look at the wiretap source code in the wiretap directory.
86
87 Please report any problems that are wiretap related to
88 Gilbert Ramirez <gram@verdict.uthscsa.edu>.
89
90
91 IPv6
92 ----
93 If your operating system includes IPv6 support, ethereal will attempt to
94 use reverse name resolution capabilities when decoding IPv6 packets. If
95 you want to turn off name resolution while using ethereal, start ethereal
96 with the "-n" option. If you would like to compile ethereal without
97 support for IPv6 name resolution, use the "--disable-ipv6" option with
98 "./configure". If you compile ethereal without IPv6 name resolution,
99 you will still be able to decode IPv6 packets, but you'll only see IPv6
100 addresses, not host names.
101
102 The "Follow TCP Stream" feature only supports TCP over IPv4. Support for TCP
103 over IPv6 is planned.
104
105
106 SNMP
107 ----
108 Ethereal can do some basic decoding of SNMP packets, but it relies on an
109 external SNMP library to do this. You can use either the UCD or the CMU
110 SNMP libraries. The configure script will automatically determine which
111 library you have on your system and will use it. If you have an SNMP
112 library but _do not_ want to have ethereal use it, you can run configure
113 with the "--disable-snmp" option. No SNMP support will be compiled into
114 ethereal with this option.
115
116
117 Disclaimer
118 ----------
119
120 There is no warranty, expressed or implied, associated with this product.
121 Use at your own risk.
122
123
124 Gerald Combs <gerald@zing.org>
125 Gilbert Ramirez <gram@verdict.uthscsa.edu>