Fix to TCP reassembly code for retransmitted data, from Edgar Iglesias.
[obnox/wireshark/wip.git] / doc / ethereal.pod.template
index b26a65fb0aae00b46c7b8ac2f267250104c1ce40..72698d0bc810d56f444b360decf83346025f863a 100644 (file)
@@ -7,20 +7,20 @@ Ethereal - Interactively browse network traffic
 
 B<ethereal>
 S<[ B<-B> byte view height ]>
-S<[ B<-b> bold font ]>
 S<[ B<-c> count ]>
-S<[ B<-D> ]>
-S<[ B<-f> filter expression ]>
+S<[ B<-f> capture filter expression ]>
 S<[ B<-h> ]>
 S<[ B<-i> interface ]> 
 S<[ B<-k> ]>
+S<[ B<-l> ]>
 S<[ B<-m> font ]>
 S<[ B<-n> ]>
 S<[ B<-o> preference setting ] ...>
+S<[ B<-p> ]>
 S<[ B<-P> packet list height ]>
 S<[ B<-Q> ]>
 S<[ B<-r> infile ]>
-S<[ B<-R> filter expression ]>
+S<[ B<-R> display filter expression ]>
 S<[ B<-S> ]>
 S<[ B<-s> snaplen ]>
 S<[ B<-T> tree view height ]>
@@ -37,15 +37,16 @@ capture files, including those of B<tcpdump>.  In addition, B<Ethereal>
 can read capture files from B<snoop> (including B<Shomiti>) and
 B<atmsnoop>, B<LanAlyzer>, B<Sniffer> (compressed or uncompressed),
 Microsoft B<Network Monitor>, AIX's B<iptrace>, B<NetXray>, B<Sniffer
-Pro>, B<RADCOM>'s WAN/LAN analyzer, B<Lucent/Ascend> router debug
-output, HP-UX's B<nettl>, the dump output from B<Toshiba's> ISDN
-routers, the output from B<i4btrace> from the ISDN4BSD project, and
-output in IPLog format from the Cisco Secure Intrusion Detection System.
-There is no need to tell B<Ethereal> what type of file you are reading;
-it will determine the file type by itself.  B<Ethereal> is also capable
-of reading any of these file formats if they are compressed using gzip. 
-B<Ethereal> recognizes this directly from the file; the '.gz' extension
-is not required for this purpose.
+Pro>, B<Etherpeek>, B<RADCOM>'s WAN/LAN analyzer, B<Lucent/Ascend>
+router debug output, HP-UX's B<nettl>, the dump output from B<Toshiba's>
+ISDN routers, the output from B<i4btrace> from the ISDN4BSD project, the
+output in B<IPLog> format from the Cisco Secure Intrusion Detection
+System, and B<pppd logs> (pppdump format).  There is no need to tell
+B<Ethereal> what type of file you are reading; it will determine the
+file type by itself.  B<Ethereal> is also capable of reading any of
+these file formats if they are compressed using gzip.  B<Ethereal>
+recognizes this directly from the file; the '.gz' extension is not
+required for this purpose.
 
 Like other protocol analyzers, B<Ethereal>'s main window shows 3 views
 of a packet.  It shows a summary line, briefly describing what the
@@ -77,21 +78,11 @@ be unable to read compressed files.
 
 Sets the initial height of the byte view (bottom) pane.
 
-=item -b
-
-Sets the name of the bold font used for the data in the byte view
-pane that corresponds to the field selected in the protocol tree pane.
-
 =item -c
 
 Sets the default number of packets to read when capturing live
 data.
 
-=item -D
-
-Turns off treating the original IPv4 TOS field as the Differentiated
-Services Field. The structure of the DS Field is defined in RFC 2474.
-
 =item -f
 
 Sets the capture filter expression.
@@ -118,9 +109,18 @@ choosing the first loopback interface if there are no non-loopback
 interfaces; if there are no interfaces, B<Ethereal> reports an error and
 doesn't start the capture.
 
+=item -l
+
+Turns on automatic scrolling if the packet display is being updated
+automatically as packets arrive during a capture (as specified by the
+B<-S> flag).
+
 =item -m
 
-Sets the name of the font used by B<Ethereal> for most text.
+Sets the name of the font used by B<Ethereal> for most text. 
+B<Ethereal> will construct the name of the bold font used for the data
+in the byte view pane that corresponds to the field selected in the
+protocol tree pane from the name of the main text font.
 
 =item -n
 
@@ -135,6 +135,15 @@ form I<prefname>B<:>I<value>, where I<prefname> is the name of the
 preference (which is the same name that would appear in the preference
 file), and I<value> is the value to which it should be set.
 
+=item -p
+
+I<Don't> put the interface into promiscuous mode.  Note that the
+interface might be in promiscuous mode for some other reason; hence,
+B<-p> cannot be used to ensure that the only traffic that is captured is
+traffic sent to or from the machine on which B<Ethereal> is running,
+broadcast traffic, and multicast traffic to addresses received by that
+machine.
+
 =item -P
 
 Sets the initial height of the packet list (top) pane.
@@ -175,11 +184,13 @@ Sets the initial height of the tree view (middle) pane.
 =item -t
 
 Sets the format of the packet timestamp displayed in the packet list
-window.  The format can be one of 'r' (relative), 'a' (absolute), or 'd'
-(delta).  The relative time is the time elapsed between the first packet
-and the current packet.  The absolute time is the actual date and time the
-packet was captured.  The delta time is the time since the previous packet
-was captured.  The default is relative.
+window.  The format can be one of 'r' (relative), 'a' (absolute), 'ad'
+(absolute with date), or 'd' (delta).  The relative time is the time
+elapsed between the first packet and the current packet.  The absolute
+time is the actual time the packet was captured, with no date displayed;
+the absolute date and time is the actual time and date the packet was
+captured.  The delta time is the time since the previous packet was
+captured.  The default is relative.
 
 =item -v
 
@@ -207,11 +218,12 @@ matching the filter are discarded.
 =item File:Save, File:Save As
 
 Save the current capture, or the packets currently displayed from that
-capture, to a file.  A check box lets you select whether to save all
-packets, or just those that have passed the current display filter, and
-an option menu lets you select (from a list of file formats in which at
-particular capture, or the packets currently displayed from that
-capture, can be saved), a file format in which to save it.
+capture, to a file.  Check boxes let you select whether to save all
+packets, or just those that have passed the current display filter and/or
+those that are currently marked, and an option menu lets you select (from 
+a list of file formats in which at particular capture, or the packets 
+currently displayed from that capture, can be saved), a file format in 
+which to save it.
 
 =item File:Print
 
@@ -242,16 +254,37 @@ selected), for a packet matching a given display filter.
 
 Allows you to go to a particular numbered packet.
 
+=item Edit:Mark Frame
+
+Allows you to mark (or unmark if currently marked) the selected packet.
+
+=item Edit:Mark All Frames
+
+Allows you to mark all packets that are currently displayed.
+
+=item Edit:Unmark All Frames
+
+Allows you to unmark all packets that are currently displayed.
+
 =item Edit:Preferences
 
 Sets the packet printing, column display, TCP stream coloring, and GUI
 options (see L<"Preferences"> below).
 
-=item Edit:Filters
+=item Edit:Capture Filters
+
+Edits the saved list of capture filters, allowing filters to be added,
+changed, or deleted.
 
-Edits the saved list of filters, allowing filters to be added, changed,
-or deleted, and lets a selected filter be applied to the current
-capture, if any.
+=item Edit:Display Filters
+
+Edits the saved list of display filters, allowing filters to be added,
+changed, or deleted.
+
+=item Edit:Protocols
+
+Edits the list of protocols, allowing protocol dissection to be 
+enabled or disabled.
 
 =item Capture:Start
 
@@ -261,14 +294,19 @@ file can be chosen by setting your TMPDIR environment variable before
 starting B<Ethereal>.  Otherwise, the default TMPDIR location is
 system-dependent, but is likely either F</var/tmp> or F</tmp>.
 
+=item Capture:Stop
+
+In a capture that updates the packet display as packets arrive (so that
+Ethereal responds to user input other than pressing the "Stop" button in
+the capture packet statistics dialog box), stops the capture.
+
 =item Display:Options
 
 Allows you to sets the format of the packet timestamp displayed in the
-packet list window to relative, absolute, or delta, to enable or disable
-the automatic scrolling of the packet list while a live capture is in
-progress, to enable or disable translation of addresses to names in the
-display, or to enable or disable interpretation of the IPv4 TOS field as
-the Differentiated Services field.
+packet list window to relative, absolute, absolute date and time, or
+delta, to enable or disable the automatic scrolling of the packet list
+while a live capture is in progress or to enable or disable translation
+of addresses to names in the display.
 
 =item Display:Match Selected
 
@@ -309,10 +347,16 @@ window of the currently selected packet; this window will continue to
 display that packet's protocol tree and data even if another packet is
 selected.
 
+=item Display:User Specified Decodes
+
+Creates a new window showing whether any protocol ID to dissector
+mappings have been changed by the user.  This window also allows the
+user to reset all decodes to their default values.
+
 =item Tools:Plugins
 
-Allows you to use and configure dynamically loadable modules (see
-L<"Plugins"> below).
+Allows you to see what dynamically loadable dissector plugin modules
+have been loaded (see I<"Plugins"> below).
 
 =item Tools:Follow TCP Stream
 
@@ -353,6 +397,30 @@ save it as text to a file.
 
 =back
 
+=item Tools:Decode As
+
+If you have a packet selected, this menu item will present a dialog
+allowing you to change which dissectors are used to decode this
+packet.  The dialog has one panel each for the link layer, network
+layer and transport layer protocol/port numbers, and will allow each
+of these to be changed independently.  For example, if the selected
+packet is a TCP packet to port 12345, using this dialog you can
+instruct Ethereal to decode all packets to or from that TCP port as
+HTTP packets.
+
+=item Tools:Protocol Hierarchy Statistics
+
+This shows the number of packets, and the number of bytes
+in those packets, for each protocol in the trace. It
+organizes the protocols in the same hierarchy in which
+they were found in the trace. Besides counting the packets
+in which the protocol exists, a count is also made
+for packets in which the protocol is the last protocol in
+the stack. These last-protocol counts show you how many packets
+(and the byte count associated with those packets) B<ended> in a particular
+protocol. In the table, they are listed under "End Packets" and
+"End Bytes".
+
 =head2 WINDOWS
 
 =over 4
@@ -385,6 +453,8 @@ MAC layer address is displayed for unknown packet types.
 
 The right mouse button can be used to pop up a menu of operations.
 
+The middle mouse button can be used to mark a packet.
+
 =item Middle Pane
 
 The middle pane contains a I<protocol tree> for the currently-selected
@@ -398,6 +468,8 @@ The lowest pane contains a hex dump of the actual packet data.
 Selecting a field in the I<protocol tree> highlights the corresponding
 bytes in this section.
 
+The right mouse button can be used to pop up a menu of operations.
+
 =item Current Filter
 
 A display filter can be entered into the strip at the bottom. 
@@ -437,8 +509,8 @@ of each column in the packet list.
 
 The I<Column title> entry is used to specify the title of the column
 displayed at the top of the packet list.  The type of data that the column
-displays can be specified using the I<Column format> option menu.  The row
-of buttons on the left perform the following actions:
+displays can be specified using the I<Column format> option menu.
+The row of buttons on the left perform the following actions:
 
 =over 6
 
@@ -482,8 +554,18 @@ desired color.  The new text colors are displayed in a sample window.
 =item GUI Preferences
 
 The I<GUI> page is used to modify small aspects of the GUI to your own
-personal taste. The vertical scrollbars in the three panes can be
-set to be either on the left or the right. The selection bar in the
+personal taste:
+
+=over 6
+
+=item Scrollbars
+
+The vertical scrollbars in the three panes can be set to be either on
+the left or the right. 
+
+=item Selection Bars
+
+The selection bar in the
 packet list and protocol tree can have either a "browse" or "select"
 behavior. If the selection bar has a "browse" behavior, the arrow keys
 will move an outline of the selection bar, allowing you to browse
@@ -491,6 +573,19 @@ the rest of the list or tree without changing the selection
 until you press the space bar. If the selection bar has a "select"
 behavior, the arrow keys will move the selection bar and change
 the selection to the new item in the packet list or protocol tree.
+The highlight method in the hex dump display for the selected protocol
+item can be set to use either inverse video, or bold characters.
+
+=item Fonts
+
+The "Font..." button lets you select the font to be used for most text.
+
+=item Colors
+
+The "Colors..." button lets you select the colors to be used for instance
+for the marked frames.
+
+=back
 
 =item Protocol Preferences
 
@@ -499,21 +594,49 @@ controlling the way Ethereal handles those protocols.
 
 =back
 
-=item Filters
+=item Edit Capture Filter List
+
+=item Edit Display Filter List
+
+=item Capture Filter
+
+=item Display Filter
+
+=item Read Filter
+
+=item Search Filter
+
+The I<Edit Capture Filter List> dialog lets you create, modify, and
+delete capture filters, and the I<Edit Display Filter List> dialog lets
+you create, modify, and delete display filters.
+
+The I<Capture Filter> dialog lets you do all of the editing operations
+listed, and also lets you choose or construct a filter to be used when
+capturing packets.
+
+The I<Display Filter> dialog lets you do all of the editing operations
+listed, and also lets you choose or construct a filter to be used to
+filter the current capture being viewed.
+
+The I<Read Filter> dialog lets you do all of the editing operations
+listed, and also lets you choose or construct a filter to be used to
+as a read filter for a capture file you open.
 
-The I<Filters> dialog lets you create and modify filters, and set the
-default filter to use when capturing data or opening a capture file.
+The I<Search Filter> dialog lets you do all of the editing operations
+listed, and also lets you choose or construct a filter expression to be
+used in a find operation.
 
-The I<Filter name> entry specifies a descriptive name for a filter, e.g.
-B<Web and DNS traffic>.  The I<Filter string> entry is the text that
-actually describes the filtering action to take, as described above.The
-dialog buttons perform the following actions:
+In all of those dialogs, the I<Filter name> entry specifies a
+descriptive name for a filter, e.g.  B<Web and DNS traffic>.  The
+I<Filter string> entry is the text that actually describes the filtering
+action to take, as described above.The dialog buttons perform the
+following actions:
 
 =over 6
 
 =item New
 
-If there is text in the two entry boxes, it creates a new associated list
+If there is text in the two entry boxes, creates a new associated list
 item.
 
 =item Change
@@ -529,25 +652,45 @@ Makes a copy of the currently selected list item.
 
 Deletes the currently selected list item.
 
-=item Apply
+=item Add Expression...
 
-Sets the currently selected list item as the active filter, and applies
-it to the current capture, if any.
-(The currently selected list item must be a display filter, not a
-capture filter.)  If nothing is selected, turns filtering off.
+For display filter expressions, pops up a dialog box to allow you to
+construct a filter expression to test a particular field; it offers
+lists of field names, and, when appropriate, lists from which to select
+tests to perform on the field and values with which to compare it.  In
+that dialog box, the OK button will cause the filter expression you
+constructed to be entered into the I<Filter string> entry at the current
+cursor position.
 
 =item OK
 
-Sets the currently selected list item as the active filter.  If nothing
-is selected, turns filtering off.
+In the I<Capture Filter> dialog, closes the dialog box and makes the
+filter in the I<Filter string> entry the filter in the I<Capture
+Preferences> dialog.  In the I<Display Filter> dialog, closes the dialog
+box and makes the filter in the I<Filter string> entry the current
+display filter, and applies it to the current capture.  In the I<Read
+Filter> dialog, closes the dialog box and makes the filter in the
+I<Filter string> entry the filter in the I<Open Capture File> dialog. 
+In the I<Search Filter> dialog, closes the dialog box and makes the
+filter in the I<Filter string> entry the filter in the I<Find Frame>
+dialog.
+
+=item Apply
+
+Makes the filter in the I<Filter string> entry the current display
+filter, and applies it to the current capture.
 
 =item Save
 
-Saves the current filter list in F<$HOME/.ethereal/filters>.
+Saves the current filter list in F<$HOME/.ethereal/cfilters> if the list
+of filters being edited is the list of capture filters or in
+F<$HOME/.ethereal/dfilters> if the list of filters being edited is the
+list of display filters.
 
-=item Cancel
+=item Close
 
-Closes the dialog without making any changes.
+Closes the dialog without doing anything with the filter in the I<Filter
+string> entry.
 
 =back
 
@@ -557,48 +700,49 @@ The I<Capture Preferences> dialog lets you specify various parameters for
 capturing live packet data.
 
 The I<Interface:> combo box lets you specify the interface from which to
-capture packet data, or the name of a FIFO from which to get the packet data.
-The I<Count:> entry specifies the number of packets to capture.  Entering 0
-will capture packets indefinitely.  The I<Filter:> entry lets you specify the
-capture filter using a tcpdump-style filter string as described above.  The
-I<File:> entry specifies the file to save to, as in the I<Printer Options>
-dialog above.  You can specify the maximum number of bytes to capture per
-packet with the I<Capture length> entry, can specify that the display should be
-updated as packets are captured with the I<Update list of packets in real time>
-check box, can specify whether in such a capture the packet list pane should
-scroll to show the most recently captured packets with the I<Automatic
-scrolling in live capture> check box, and can specify whether addresses should
-be translated to names in the display with the I<Enable name resolution> check
-box.
+capture packet data, or the name of a FIFO from which to get the packet
+data.  The I<Count:> entry specifies the number of packets to capture. 
+Entering 0 will capture packets indefinitely.  The I<Filter:> entry lets
+you specify the capture filter using a tcpdump-style filter string as
+described above.  The I<File:> entry specifies the file to save to, as
+in the I<Printer Options> dialog above.  You can specify the maximum
+number of bytes to capture per packet with the I<Capture length> entry,
+can specify whether the interface is to be put in promiscuous mode or
+not with the I<Capture packets in promiscuous mode> check box, can
+specify that the display should be updated as packets are captured with
+the I<Update list of packets in real time> check box, can specify
+whether in such a capture the packet list pane should scroll to show the
+most recently captured packets with the I<Automatic scrolling in live
+capture> check box, and can specify whether addresses should be
+translated to names in the display with the I<Enable name resolution>
+check box.
 
 =item Display Options
 
-The I<Display Options> dialog lets you specify the format of the time stamp
-in the packet list.  You can select "Time of day" for absolute time stamps,
-"Seconds since beginning of capture" for relative time stamps, or
+The I<Display Options> dialog lets you specify the format of the time
+stamp in the packet list.  You can select "Time of day" for absolute
+time stamps, "Date and time of day" for absolute time stamps with the
+date, "Seconds since beginning of capture" for relative time stamps, or
 "Seconds since previous frame" for delta time stamps.  You can also
 specify whether, when the display is updated as packets are captured,
 the list should automatically scroll to show the most recently captured
-packets or not, whether addresses should be translated to names in the
-display, and whether IPv4 TOS field should be treated as the
-Differentiated Services field.
+packets or not and whether addresses should be translated to names in
+the display.
 
 =item Plugins
 
-The I<Plugins> dialog lets you view and configure the plugins available
-on your system.
-
-The I<Plugins List> shows the name, description, version and state
-(enabled or not) of each plugin found on your system. The plugins are
-searched in the following directories: F</usr/share/ethereal/plugins>,
-F</usr/local/share/ethereal/plugins> and F<~/.ethereal/plugins>
+The I<Plugins> dialog lets you view the dissector plugin modules
+available on your system.
 
-A plugin must be activated using the I<Enable> button in order to use it
-to dissect packets. It can also be deactivated with the I<Disable> button.
-
-The I<Filter> button shows the filter used to select packets which should
-be dissected by a plugin (see L<"DISPLAY FILTER SYNTAX"> below). This
-filter can be modified.
+The I<Plugins List> shows the name and version of each dissector plugin
+module found on your system.  The plugins are searched in the following
+directories: F</usr/share/ethereal/plugins>,
+F</usr/local/share/ethereal/plugins> and F<~/.ethereal/plugins>.  Note
+that a dissector plugin module may support more than one protocol; there
+is not necessarily a one-to-one correspondence between dissector plugin
+modules and protocols.  Protocols supported by a dissector plugin module
+are enabled and disabled using the I<Edit:Protocols> dialog box, just as
+protocols built into Ethereal are.
 
 =head1 CAPTURE FILTER SYNTAX
 
@@ -649,19 +793,17 @@ The following three display filters are equivalent:
     frame.pkt_len > 012
     frame.pkt_len > 0xa
 
-Boolean values are either true or false.  However, a boolean field is
-present in a protocol decode only if its value is true.  If the value is
-false, the field is not presence.  You can therefore check the truth
-value of a boolean field by simply checking for its existence, that is,
-by naming the field.  For example, a token-ring packet's source route
-field is boolean.  To find any source-routed packets, the display filter
-is simply:
+Boolean values are either true or false.  In a display filter expression
+testing the value of a Boolean field, "true" is expressed as 1 or any
+other non-zero value, and "false" is expressed as zero.  For example, a
+token-ring packet's source route field is boolean.  To find any
+source-routed packets, a display filter would be:
 
-    tr.sr
+    tr.sr == 1
 
-Non source-routed packets can be found with the negation of that filter:
+Non source-routed packets can be found with:
 
-    ! tr.sr
+    tr.sr == 0
 
 Ethernet addresses, as well as a string of bytes, are represented in hex
 digits.  The hex digits may be separated by colons, periods, or hyphens:
@@ -685,53 +827,24 @@ eq, ne, gt, ge, lt, and le.  The IPv4 address is stored in host order,
 so you do not have to worry about how the endianness of an IPv4 address
 when using it in a display filter.
 
-Classless InterDomain Routing (CIDR) notation can be used to test if an
-IPv4 address is in a certain subnet.  For example, this display filter
-will find all packets in the 129.111 Class-B network:
-
-    ip.addr == 129.111.0.0/16
-
-Remember, the number after the slash represents the number of bits used
-to represent the network.  CIDR notation can also be used with
-hostnames, in this example of finding IP addresses on the same Class C
-network as 'sneezy':
-
-    ip.addr eq sneezy/24
-
-The CIDR notation can only be used on IP addresses or hostnames, not in
-variable names.  So, a display filter like "ip.src/24 == ip.dst/24" is
-not valid.  (yet)
-
 IPX networks are represented by unsigned 32-bit integers.  Most likely
 you will be using hexadecimal when testing for IPX network values:
 
     ipx.srcnet == 0xc0a82c00
 
-A substring operator also exists.  You can check the substring
+A slice operator also exists.  You can check the substring
 (byte-string) of any protocol or field.  For example, you can filter on
 the vendor portion of an ethernet address (the first three bytes) like
 this:
 
     eth.src[0:3] == 00:00:83
 
-Or more simply, since the number of bytes is inherent in the byte-string
-you provide, you can provide just the offset.  The previous example can
-be stated like this:
-
-    eth.src[0] == 00:00:83
+If the length of your byte-slice is only one byte, then it is still
+represented in hex, but without the preceding "0x": 
 
-In fact, the only time you need to explicitly provide a length is when
-you don't provide a byte-string, and are comparing fields against
-fields:
+    llc[3] == aa
 
-    fddi.src[0:3] == fddi.dst[0:3]
-
-If the length of your byte-string is only one byte, then it must be
-represented in the same way as an unsigned 8-bit integer:
-
-    llc[3] == 0xaa
-
-You can use the substring operator on a protocol name, too.  And
+You can use the slice operator on a protocol name, too.  And
 remember, the "frame" protocol encompasses the entire packet, allowing
 you to look at the nth byte of a packet regardless of its frame type
 (Ethernet, token-ring, etc.).
@@ -740,16 +853,28 @@ you to look at the nth byte of a packet regardless of its frame type
     ipx[0:2] == ff:ff
     llc[3:1] eq 0xaa
 
-Offsets for byte-strings can also be negative, in which case the
-negative number indicates the number of bytes from the end of the field
-or protocol that you are testing.  Here's how to check the last 4 bytes
-of a frame:
 
-    frame[-4] == 0.1.2.3
+The following syntax governs slices:
 
-or
+       [i:j]   i = start_offset, j = length
+       [i-j]   i = start_offet, j = end_offset, inclusive.
+       [i]     i = start_offset, length = 1
+       [:j]    start_offset = 0, length = j
+       [i:]    start_offset = i, end_offset = end_of_field
+
+
+Offsets and lengths can be negative, in which case they indicate the offset from the
+*end* of the field.  Here's how to check the last 4 bytes of a frame:
 
     frame[-4:4] == 0.1.2.3
+or
+    frame[-4:] == 0.1.2.3
+
+
+You can create complex concatenations of slices using the comma operator:
+
+       field[1,3-5,9:] == 01:03:04:05:09:0a:0b
+
 
 All the above tests can be combined together with logical expressions. 
 These too are expressable in C-like syntax or with English-like
@@ -757,7 +882,6 @@ abbreviations:
 
     and, &&   Logical AND
     or, ||    Logical OR
-    xor, ^^   Logical XOR
     not, !    Logical NOT
 
 Expressions can be grouped by parentheses as well.  The following are
@@ -852,18 +976,18 @@ For example, these four lines are valid lines of an ipxnets file.
 
 =head1 SEE ALSO
 
-L<tcpdump(8)>, L<pcap(3)>
+L<tethereal(1)>, L<editcap(1)>, L<tcpdump(8)>, L<pcap(3)>
 
 =head1 NOTES
 
 The latest version of B<Ethereal> can be found at
-B<http://ethereal.zing.org>.
+B<http://www.ethereal.com>.
 
 =head1 AUTHORS
 
   Original Author
   -------- ------
-  Gerald Combs  <gerald@zing.org>
+  Gerald Combs  <gerald@ethereal.com>
 
 
   Contributors
@@ -876,7 +1000,7 @@ B<http://ethereal.zing.org>.
   Don Lafontaine           <lafont02@cn.ca>
   Guy Harris               <guy@alum.mit.edu>
   Simon Wilkinson          <sxw@dcs.ed.ac.uk>
-  Joerg Mayer              <jmayer@telemation.de>
+  Joerg Mayer              <jmayer@loplof.de>
   Martin Maciaszek         <fastjack@i-s-o.net>
   Didier Jorand            <Didier.Jorand@alcatel.fr>
   Jun-ichiro itojun Hagino <itojun@iijlab.net>
@@ -921,11 +1045,10 @@ B<http://ethereal.zing.org>.
   Mark Muhlestein          <mmm@netapp.com>
   Graham Bloice            <graham.bloice@trihedral.com>
   Ralf Schneider           <ralf.schneider@alcatel.se>
-  Yaniv Kaul               <ykaul@checkpoint.com>
+  Yaniv Kaul               <ykaul@netvision.net.il>
   Paul Ionescu             <ipaul@romsys.ro>
   Mark Burton              <markb@ordern.com>
-  Michael Tuexen           <Michael.Tuexen@icn.siemens.de>
-  Stefan Raab              <stefan.raab@nextel.com>
+  Stefan Raab              <sraab@cisco.com>
   Mark Clayton             <clayton@shore.net>
   Michael Rozhavsky        <mike@tochna.technion.ac.il>
   Dug Song                 <dugsong@monkey.org>
@@ -936,6 +1059,55 @@ B<http://ethereal.zing.org>.
   Peter Kjellerstedt       <pkj@axis.com>
   Phil Techau              <phil_t@altavista.net>
   Wes Hardaker             <wjhardaker@ucdavis.edu>
+  Robert Tsai              <rtsai@netapp.com>
+  Craig Metz               <cmetz@inner.net>
+  Per Flock                <per.flock@axis.com>
+  Jack Keane               <jkeane@OpenReach.com>
+  Brian Wellington         <bwelling@xbill.org>
+  Santeri Paavolainen      <santtu@ssh.com>
+  Ulrich Kiermayr          <uk@ap.univie.ac.at>
+  Neil Hunter              <neil.hunter@energis-squared.com>
+  Ralf Holzer              <ralf@well.com>
+  Craig Rodrigues          <rodrigc@mediaone.net>
+  Ed Warnicke              <hagbard@physics.rutgers.edu>
+  Johan Jorgensen          <johan.jorgensen@axis.com>
+  Frank Singleton          <frank.singleton@ericsson.com>
+  Kevin Shi                <techishi@ms22.hinet.net>
+  Mike Frisch              <mfrisch@saturn.tlug.org>
+  Burke Lau                <burke_lau@agilent.com>
+  Martti Kuparinen         <martti.kuparinen@nomadiclab.com>
+  David Hampton            <dhampton@mac.com>
+  Kent Engström            <kent@unit.liu.se>
+  Ronnie Sahlberg          <rsahlber@bigpond.net.au>
+  Alexandre P. Ferreira    <alexandref@spliceip.com.br>
+  Simharajan Srishylam     <Simharajan.Srishylam@netapp.com>
+  Greg Kilfoyle            <gregk@redback.com>
+  James E. Flemer          <jflemer@acm.jhu.edu>
+  Peter Lei                <peterlei@cisco.com>
+  Thomas Gimpel            <thomas.gimpel@ferrari.de>
+  Albert Chin              <china@thewrittenword.com>
+  Charles Levert           <charles@comm.polymtl.ca>
+  Todd Sabin               <tas@webspan.net>
+  Eduardo Pérez Ureta      <eperez@dei.inf.uc3m.es>
+  Martin Thomas            <martin_a_thomas@yahoo.com>
+  Hartmut Mueller          <hartmut@wendolene.ping.de>
+  Michal Melerowicz        <Michal.Melerowicz@nokia.com>
+  Hannes Gredler           <hannes@juniper.net>
+  Inoue                    <inoue@ainet.or.jp>
+  Olivier Biot             <Olivier.Biot@siemens.atea.be>
+  Patrick Wolfe            <pjw@zocalo.cellular.ameritech.com>
+  Martin Held              <Martin.Held@icn.siemens.de>
+  Riaan Swart              <rswart@cs.sun.ac.za>
+  Christian Lacunza        <celacunza@gmx.net>
+  Michael Rozhavsky        <mike@tochna.technion.ac.il>
+  Scott Renfro             <scott@renfro.org>
+  Juan Toledo              <toledo@users.sourceforge.net>
+  Jean-Christian Pennetier <jeanchristian.pennetier@rd.francetelecom.fr>
+  Jian Yu                  <bgp4news@yahoo.com>
+  Eran Mann                <emann@opticalaccess.com>
+  Andy Hood                <ahood@westpac.com.au>
+  Randy McEoin             <rmceoin@pe.net>
+  Edgar Iglesias           <edgar.iglesias@axis.com>
 
 Alain Magloire <alainm@rcsm.ece.mcgill.ca> was kind enough to give his
 permission to use his version of snprintf.c.