From Jon Oberheide: add a missing hf[] entry for a field.
[obnox/wireshark/wip.git] / doc / ethereal.pod
1
2 =head1 NAME
3
4 ethereal - Interactively browse network traffic
5
6 =head1 SYNOPSYS
7
8 B<ethereal>
9 S<[ B<-a> capture autostop condition ] ...>
10 S<[ B<-b> number of ring buffer files [:duration] ]>
11 S<[ B<-B> byte view height ]>
12 S<[ B<-c> count ]>
13 S<[ B<-f> capture filter expression ]>
14 S<[ B<-h> ]>
15 S<[ B<-i> interface ]> 
16 S<[ B<-k> ]>
17 S<[ B<-l> ]>
18 S<[ B<-L> ]>
19 S<[ B<-m> font ]>
20 S<[ B<-n> ]>
21 S<[ B<-N> resolving flags ] >
22 S<[ B<-o> preference setting ] ...>
23 S<[ B<-p> ]>
24 S<[ B<-P> packet list height ]>
25 S<[ B<-Q> ]>
26 S<[ B<-r> infile ]>
27 S<[ B<-R> display filter expression ]>
28 S<[ B<-S> ]>
29 S<[ B<-s> snaplen ]>
30 S<[ B<-T> tree view height ]>
31 S<[ B<-t> time stamp format ]>
32 S<[ B<-v> ]>
33 S<[ B<-w> savefile]>
34 S<[ B<-y> link type ]>
35 S<[ B<-z> statistics-string ]>
36 S<[ infile ]>
37
38 =head1 DESCRIPTION
39
40 B<Ethereal> is a GUI network protocol analyzer.  It lets you
41 interactively browse packet data from a live network or from a
42 previously saved capture file.  B<Ethereal>'s native capture file format
43 is B<libpcap> format, which is also the format used by B<tcpdump> and
44 various other tools.  In addition, B<Ethereal> can read capture files
45 from B<snoop> and B<atmsnoop>, Shomiti/Finisar B<Surveyor> captures,
46 Novell B<LANalyzer> captures, Network General/Network Associates
47 DOS-based B<Sniffer> (compressed or uncompressed) captures, Microsoft
48 B<Network Monitor> captures, files from AIX's B<iptrace>, Cinco Networks
49 B<NetXRay> captures, captures from Network Associates Windows-based
50 B<Sniffer>, AG Group/WildPackets
51 B<EtherPeek>/B<TokenPeek>/B<AiroPeek>/B<EtherHelp> captures, captures
52 from B<RADCOM>'s WAN/LAN analyzer, B<Lucent/Ascend> router debug output,
53 files from HP-UX's B<nettl>, the dump output from B<Toshiba's> ISDN
54 routers, the output from B<i4btrace> from the ISDN4BSD project, the
55 output in B<IPLog> format from the Cisco Secure Intrusion Detection
56 System, B<pppd logs> (pppdump format), the output from VMS's
57 B<TCPIPtrace>/B<TCPtrace>/B<UCX$TRACE> utilities, the text output from
58 the B<DBS Etherwatch> VMS utility, traffic capture files from Visual
59 Networks' Visual UpTime, the output from B<CoSine> L2 debug, the output
60 from Accellent's 5Views LAN agents, captures in Endace Measurement
61 Systems' ERF format, Linux Bluez Bluetooth stack B<hcidump -w> traces,
62 captures from Network Instruments Observer version 9, and traces from
63 the EyeSDN USB S0.  There is no need to tell B<Ethereal> what type of
64 file you are reading; it will determine the file type by itself. 
65 B<Ethereal> is also capable of reading any of these file formats if they
66 are compressed using gzip.  B<Ethereal> recognizes this directly from
67 the file; the '.gz' extension is not required for this purpose.
68
69 Like other protocol analyzers, B<Ethereal>'s main window shows 3 views
70 of a packet.  It shows a summary line, briefly describing what the
71 packet is.  A protocol tree is shown, allowing you to drill down to
72 exact protocol or field that you interested in.  Finally, a hex dump
73 shows you exactly what the packet looks like when it goes over the wire.
74
75 In addition, B<Ethereal> has some features that make it unique.  It can
76 assemble all the packets in a TCP conversation and show you the ASCII
77 (or EBCDIC, or hex) data in that conversation.  Display filters in
78 B<Ethereal> are very powerful; more fields are filterable in B<Ethereal>
79 than in other protocol analyzers, and the syntax you can use to create
80 your filters is richer.  As B<Ethereal> progresses, expect more and more
81 protocol fields to be allowed in display filters.
82
83 Packet capturing is performed with the pcap library.  The capture filter
84 syntax follows the rules of the pcap library.  This syntax is different
85 from the display filter syntax.
86
87 Compressed file support uses (and therefore requires) the zlib library. 
88 If the zlib library is not present, B<Ethereal> will compile, but will
89 be unable to read compressed files.
90
91 The pathname of a capture file to be read can be specified with the
92 B<-r> option or can be specified as a command-line argument.
93
94 =head1 OPTIONS
95
96 =over 4
97
98 Most users will want to start B<Ethereal> without options and configure
99 it from the menus instead. Those users may just skip this section.
100
101 =item -a
102
103 Specify a criterion that specifies when B<Ethereal> is to stop writing
104 to a capture file.  The criterion is of the form I<test>B<:>I<value>,
105 where I<test> is one of:
106
107 =for man .RS
108
109 =for html <P><DL>
110
111 =item duration
112
113 Stop writing to a capture file after I<value> seconds have elapsed.
114
115 =item filesize
116
117 Stop writing to a capture file after it reaches a size of I<value>
118 kilobytes (where a kilobyte is 1000 bytes, not 1024 bytes).
119
120 =for man .RE
121
122 =for html </DL>
123
124 =item -b
125
126 If a maximum capture file size was specified, cause B<Ethereal> to run
127 in "ring buffer" mode, with the specified number of files.  In "ring
128 buffer" mode, B<Ethereal> will write to several capture files. 
129 Their name is based on the number of the file and on the creation date 
130 and time.
131
132 When the first capture file fills up, B<Ethereal> will switch to writing
133 to the next file, until it fills up the last file, at which point it'll
134 discard the data in the first file (unless 0 is specified, in which case,
135 the number of files is unlimited) and start writing to that file and so on.
136
137 If the optional duration is specified, B<Ethereal> will switch also 
138 to the next file when the specified number of seconds has elapsed even
139 if the current file is not completely fills up.
140
141 =item -B
142
143 Set the initial height of the byte view (bottom) pane.
144
145 =item -c
146
147 Set the default number of packets to read when capturing live
148 data.
149
150 =item -f
151
152 Set the capture filter expression.
153
154 =item -h
155
156 Print the version and options and exit.
157
158 =item -i
159
160 Set the name of the network interface or pipe to use for live packet
161 capture.
162
163 Network interface names should match one of the names listed in
164 "B<tethereal -D>".  If you're using Unix, "B<netstat -i>" or "B<ifconfig
165 -a>" might also work to list interface names, although not all versions
166 of Unix support the B<-a> flag to B<ifconfig>.
167
168 Pipe names should be either the name of a FIFO (named pipe) or ``-'' to
169 read data from the standard input.  Data read from pipes must be in
170 standard libpcap format.
171
172 =item -k
173
174 Start the capture session immediately.  If the B<-i> flag was
175 specified, the capture uses the specified interface.  Otherwise,
176 B<Ethereal> searches the list of interfaces, choosing the first
177 non-loopback interface if there are any non-loopback interfaces, and
178 choosing the first loopback interface if there are no non-loopback
179 interfaces; if there are no interfaces, B<Ethereal> reports an error and
180 doesn't start the capture.
181
182 =item -l
183
184 Turn on automatic scrolling if the packet display is being updated
185 automatically as packets arrive during a capture (as specified by the
186 B<-S> flag).
187
188 =item -L
189
190 List the data link types supported by the interface and exit.
191
192 =item -m
193
194 Set the name of the font used by B<Ethereal> for most text. 
195 B<Ethereal> will construct the name of the bold font used for the data
196 in the byte view pane that corresponds to the field selected in the
197 protocol tree pane from the name of the main text font.
198
199 =item -n
200
201 Disable network object name resolution (such as hostname, TCP and UDP port
202 names).
203
204 =item -N
205
206 Turn on name resolving for particular types of addresses and port
207 numbers, with name resolving for other types of addresses and port
208 numbers turned off; the argument is a string that may contain the
209 letters B<m> to enable MAC address resolution, B<n> to enable network
210 address resolution, and B<t> to enable transport-layer port number
211 resolution.  This overrides B<-n> if both B<-N> and B<-n> are present.
212 The letter B<C> enables concurrent (asynchronous) DNS lookups.
213
214 =item -o
215
216 Set a preference value, overriding the default value and any value read
217 from a preference file.  The argument to the flag is a string of the
218 form I<prefname>B<:>I<value>, where I<prefname> is the name of the
219 preference (which is the same name that would appear in the preference
220 file), and I<value> is the value to which it should be set.
221
222 =item -p
223
224 I<Don't> put the interface into promiscuous mode.  Note that the
225 interface might be in promiscuous mode for some other reason; hence,
226 B<-p> cannot be used to ensure that the only traffic that is captured is
227 traffic sent to or from the machine on which B<Ethereal> is running,
228 broadcast traffic, and multicast traffic to addresses received by that
229 machine.
230
231 =item -P
232
233 Set the initial height of the packet list (top) pane.
234
235 =item -Q
236
237 Cause B<Ethereal> to exit after the end of capture session (useful in
238 batch mode with B<-c> option for instance); this option requires the
239 B<-i> and B<-w> parameters.
240
241 =item -r
242
243 Read packet data from I<infile>.
244
245 =item -R
246
247 When reading a capture file specified with the B<-r> flag, causes the
248 specified filter (which uses the syntax of display filters, rather than
249 that of capture filters) to be applied to all packets read from the
250 capture file; packets not matching the filter are discarded.
251
252 =item -S
253
254 Perform the live packet capture in a separate process, and automatically
255 update the packet display as packets are seen.
256
257 =item -s
258
259 Set the default snapshot length to use when capturing live data. 
260 No more than I<snaplen> bytes of each network packet will be read into
261 memory, or saved to disk.
262
263 =item -T
264
265 Set the initial height of the tree view (middle) pane.
266
267 =item -t
268
269 Set the format of the packet timestamp displayed in the packet list
270 window.  The format can be one of 'r' (relative), 'a' (absolute), 'ad'
271 (absolute with date), or 'd' (delta).  The relative time is the time
272 elapsed between the first packet and the current packet.  The absolute
273 time is the actual time the packet was captured, with no date displayed;
274 the absolute date and time is the actual time and date the packet was
275 captured.  The delta time is the time since the previous packet was
276 captured.  The default is relative.
277
278 =item -v
279
280 Print the version and exit.
281
282 =item -w
283
284 Set the default capture file name.
285
286 =item -y
287
288 If a capture is started from the command line with B<-k>, set the data
289 link type to use while capturing packets.  The values reported by B<-L>
290 are the values that can be used.
291
292 =item -z
293
294 Get B<Ethereal> to collect various types of statistics and display the result
295 in a window that updates in semi-real time.
296 Currently implemented statistics are:
297
298 B<-z> dcerpc,srt,I<uuid>,I<major>.I<minor>[,I<filter>]
299
300 Collect call/reply SRT (Service Response Time) data for DCERPC interface I<uuid>, 
301 version I<major>.I<minor>.
302 Data collected is number of calls for each procedure, MinSRT, MaxSRT 
303 and AvgSRT. 
304 Example: use B<-z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0> to collect data for CIFS SAMR Interface.  
305 This option can be used multiple times on the command line. 
306
307 If the optional filterstring is provided, the stats will only be calculated
308 on those calls that match that filter.
309 Example: use B<-z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4> to collect SAMR
310 SRT statistics for a specific host.
311
312 B<-z> io,stat
313
314 Collect packet/bytes statistics for the capture in intervals of 1 seconds.
315 This option will open a window with up to 5 color-coded graphs where
316 number-of-packets-per-second or number-of-bytes-per-second statistics
317 can be calculated and displayed.
318
319 This option can be used multiple times on the command line. 
320
321 This graph window can also be opened from the Analyze:Statistics:Traffic:IO-Stat
322 menu item.
323
324
325 B<-z> rpc,srt,I<program>,I<version>[,<filter>]
326
327 Collect call/reply SRT (Service Response Time) data for I<program>/I<version>.  Data collected
328 is number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. 
329 Example: use B<-z rpc,srt,100003,3> to collect data for NFS v3.  This
330 option can be used multiple times on the command line. 
331
332 If the optional filter string is provided, the stats will only be calculated
333 on those calls that match that filter.
334 Example: use B<-z rpc,srt,100003,3,nfs.fh.hash==0x12345678> to collect NFS v3
335 SRT statistics for a specific file.
336
337 B<-z> rpc,programs
338
339 Collect call/reply RTT data for all known ONC-RPC programs/versions.  
340 Data collected is number of calls for each protocol/version, MinRTT, 
341 MaxRTT and AvgRTT. 
342
343 B<-z> smb,srt[,I<filter>]
344
345 Collect call/reply SRT (Service Response Time) data for SMB.  Data collected
346 is number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT. 
347 Example: use B<-z smb,srt>.
348
349 The data will be presented as separate tables for all normal SMB commands,
350 all Transaction2 commands and all NT Transaction commands.
351 Only those commands that are seen in the capture will have its stats
352 displayed.
353 Only the first command in a xAndX command chain will be used in the
354 calculation.  So for common SessionSetupAndX + TreeConnectAndX chains,
355 only the SessionSetupAndX call will be used in the statistics.
356 This is a flaw that might be fixed in the future.
357
358 This option can be used multiple times on the command line. 
359
360 If the optional filterstring is provided, the stats will only be calculated
361 on those calls that match that filter.
362 Example: use B<-z "smb,srt,ip.addr==1.2.3.4"> to only collect stats for
363 SMB packets echanged by the host at IP address 1.2.3.4 .
364
365 B<-z> fc,srt[,I<filter>]
366
367 Collect call/reply SRT (Service Response Time) data for FC.  Data collected
368 is number of calls for each Fibre Channel command, MinSRT, MaxSRT and AvgSRT. 
369 Example: use B<-z fc,srt>.
370 The Service Response Time is calculated as the time delta between the
371 First packet of the exchange and the Last packet of the exchange.
372
373 The data will be presented as separate tables for all normal FC commands,
374 Only those commands that are seen in the capture will have its stats
375 displayed.
376
377 This option can be used multiple times on the command line. 
378
379 If the optional filterstring is provided, the stats will only be calculated
380 on those calls that match that filter.
381 Example: use B<-z "fc,srt,fc.id==01.02.03"> to only collect stats for
382 FC packets echanged by the host at FC address 01.02.03 .
383
384 B<-z> ldap,srt[,I<filter>]
385
386 Collect call/reply SRT (Service Response Time) data for LDAP.  Data collected
387 is number of calls for each implemented LDAP command, MinSRT, MaxSRT and AvgSRT. 
388 Example: use B<-z ldap,srt>.
389 The Service Response Time is calculated as the time delta between the
390 Request and the Response.
391
392 The data will be presented as separate tables for all implemented LDAP commands,
393 Only those commands that are seen in the capture will have its stats
394 displayed.
395
396 This option can be used multiple times on the command line. 
397
398 If the optional filterstring is provided, the stats will only be calculated
399 on those calls that match that filter.
400 Example: use B<-z "ldap,srt,ip.addr==10.1.1.1"> to only collect stats for
401 LDAP packets echanged by the host at IP address 10.1.1.1 .
402
403 The only LDAP command that are currently implemented and the stats will be available for are:
404 BIND
405 SEARCH
406 MODIFY
407 ADD
408 DELETE
409 MODRDN
410 COMPARE
411 EXTENDED
412
413
414 B<-z> mgcp,srt[I<,filter>]
415
416 Collect requests/response SRT (Service Response Time) data for MGCP. 
417 This is similar to B<-z smb,srt>). Data collected is number of calls
418 for each known MGCP Type, Minimum SRT, Maximum SRT and Average SRT.
419 Example: use B<-z mgcp,srt>.
420
421 This option can be used multiple times on the command line. 
422
423 If the optional filterstring is provided, the stats will only be calculated
424 on those calls that match that filter.
425 Example: use B<-z "mgcp,srt,ip.addr==1.2.3.4"> to only collect stats for
426 MGCP packets exchanged by the host at IP address 1.2.3.4 .
427
428 B<-z> conv,I<type>[,I<filter>]
429
430 Create a table that lists all conversations that could be seen in the
431 capture.  I<type> specifies for which type of conversation we want to
432 generate the statistics; currently the supported ones are
433
434   "eth"   Ethernet
435   "fc"    Fibre Channel addresses
436   "fddi"  FDDI addresses
437   "ip"    IP addresses
438   "ipx"   IPX addresses
439   "tcp"   TCP/IP socket pairs   Both IPv4 and IPv6 are supported
440   "tr"    TokenRing
441   "udp"   UDP/IP socket pairs   Both IPv4 and IPv6 are supported
442
443 If the optional filter string is specified, only those packets that match the
444 filter will be used in the calculations.
445
446 The table is presented with one line for each conversation and displays
447 number of packets/bytes in each direction as well as total number of
448 packets/bytes.  By default, the table is sorted according to total number
449 of packets.
450
451 These tables can also be generated at runtime by selecting the appropriate
452 conversation type from the menu "Tools/Statistics/Conversation List/".
453
454 B<-z> h225,counter[I<,filter>]
455
456 Count ITU-T H.225 messages and their reasons. In the first column you get a 
457 list of H.225 messages and H.225 message reasons, which occur in the current
458 capture file. The number of occurences of each message or reason is displayed 
459 in the second column.
460
461 Example: use B<-z h225,counter>.
462
463 This option can be used multiple times on the command line. 
464
465 If the optional filterstring is provided, the stats will only be calculated
466 on those calls that match that filter.
467 Example: use B<-z "h225,counter,ip.addr==1.2.3.4"> to only collect stats for
468 H.225 packets exchanged by the host at IP address 1.2.3.4 .
469
470
471 B<-z> h225,srt[I<,filter>]
472
473 Collect requests/response SRT (Service Response Time) data for ITU-T H.225 RAS. 
474 Data collected is number of calls of each ITU-T H.225 RAS Message Type,
475 Minimum SRT, Maximum SRT, Average SRT, Minimum in Packet, and Maximum in Packet. 
476 You will also get the number of Open Requests (Unresponded Requests), 
477 Discarded Responses (Responses without matching request) and Duplicate Messages.
478 Example: use B<-z h225,srt>.
479
480 This option can be used multiple times on the command line. 
481
482 If the optional filterstring is provided, the stats will only be calculated
483 on those calls that match that filter.
484 Example: use B<-z "h225,srt,ip.addr==1.2.3.4"> to only collect stats for
485 ITU-T H.225 RAS packets exchanged by the host at IP address 1.2.3.4 .
486
487
488
489 =back
490
491 =head1 INTERFACE
492
493 =head2 MENU ITEMS
494
495 =over 4
496
497 =item File:Open, File:Open Recent, File:Close
498
499 Open or close a capture file.  The I<File:Open> dialog box
500 allows a filter to be specified; when the capture file is read, the
501 filter is applied to all packets read from the file, and packets not
502 matching the filter are discarded. The I<File:Open Recent> is a submenu 
503 and will show a list of previously opened files.
504
505 =item File:Save, File:Save As
506
507 Save the current capture, or the packets currently displayed from that
508 capture, to a file.  Check boxes let you select whether to save all
509 packets, or just those that have passed the current display filter and/or
510 those that are currently marked, and an option menu lets you select (from 
511 a list of file formats in which at particular capture, or the packets 
512 currently displayed from that capture, can be saved), a file format in 
513 which to save it.
514
515 =item File:Export
516
517 Export captured data, currently very limited.
518
519 =item File:Print
520
521 Print, for a selectable range of packets in the current capture, either 
522 the summary line for the packet or the protocol tree view of the packet; 
523 when printing the protocol tree view, the hex dump of the packet can be 
524 printed as well. Printing options can be set with the I<Edit:Preferences> 
525 menu item, or in the dialog box popped up by this item.
526
527 =item File:Quit
528
529 Exit the application.
530
531 =item Edit:Find Packet
532
533 Search forward or backward, starting with the currently selected packet
534 (or the most recently selected packet, if no packet is selected).  Search
535 criteria can be a display filter expression, a string of hexadecimal 
536 digits, or a text string.
537
538 When searching for a text string, you can search the packet data, or you
539 can search the text in the Info column in the packet list pane or in the
540 protocol tree pane.
541
542 Hexadecimal digits can be separated by colons, periods, or dashes.
543 Text string searches can be ASCII or Unicode (or both), and may be
544 case insensitive.
545
546 =item Edit:Find Next
547
548 Search forward, starting with the currently selected packet
549 (or the most recently selected packet, if no packet is selected), for a
550 packet matching the filter from the previous search.
551
552 =item Edit:Find Previous
553
554 Search backward, starting with the currently selected packet (or the
555 most recently selected packet, if no packet is selected), for a packet
556 matching the filter from the previous search.
557
558 =item Edit:Time Reference:Set Time Reference
559
560 Set (or unset if currently set) the selected packet as a Time Reference packet.
561 When a packet is set as a Time Reference packet, the timestamps in the packet
562 pane will be replaced with the string "*REF*".
563 The relative time timestamp in later packets will then be calculated relative
564 to the timestamp of this Time Reference packet and not the first packet in 
565 the capture.
566
567 Packets that have been selected as Time Reference packets will always be 
568 displayed in the packet pane. Display filters will not affect or hide these 
569 packets.
570
571 If there is a column displayed for "Culmulative Bytes" this counter will 
572 be reset at every Time Reference packet.
573
574 =item Edit:Time Reference:Find Next
575
576 Find the next time referenced packet.
577
578 =item Edit:Time Reference:Find Previous
579
580 Find the previously time referenced packet.
581
582 =item Edit:Mark Packet
583
584 Mark (or unmark if currently marked) the selected packet.  The field
585 "frame.marked" is set for packets that are marked, so that, for example,
586 a display filters can be used to display only marked packets, and so that
587 the L<Find Packet> menu item can be used to find the next or previous
588 marked packet.
589
590 =item Edit:Mark All Packets
591
592 Mark all packets that are currently displayed.
593
594 =item Edit:Unmark All Packets
595
596 Unmark all packets that are currently displayed.
597
598 =item Edit:Preferences
599
600 Set the packet printing, column display, TCP stream coloring, and GUI
601 options (see L<"Preferences"> below).
602
603 =item View:Show
604
605 Show or hide the main window controls, like the main toolbar.
606
607 =item View:Time Display Format
608
609 Set the format of the packet timestamp displayed in the packet list window 
610 to relative, absolute, absolute date and time, or delta.
611
612 =item View:Name Resolution
613
614 Enable or disable translation of addresses to names in the display.
615
616 =item View:Auto Scroll in Live Capture
617
618 Enable or disable the automatic scrolling of the
619 packet list while a live capture is in progress.
620
621 =item View:Zoom In
622
623 Zoom into the main window data.
624
625 =item View:Zoom Out
626
627 Zoom out of the main window data.
628
629 =item View:Normal Size
630
631 Reset the zoom factor of zoom in / zoom out back to normal font size.
632
633 =item View:Collapse All
634
635 Collapse the protocol tree branches.
636
637 =item View:Expand All
638
639 Expands all branches of the protocol tree.
640
641 =item View:Coloring Rules
642
643 Change the foreground and background colors of the packet information in
644 the list of packets, based upon display filters.  The list of display
645 filters is applied to each packet sequentially.  After the first display
646 filter matches a packet, any additional display filters in the list are
647 ignored.  Therefore, if you are filtering on the existence of protocols,
648 you should list the higher-level protocols first, and the lower-level
649 protocols last.
650
651 =over
652
653 =item How Colorization Works
654
655 Packets are colored according to a list of color filters. Each filter
656 consists of a name, a filter expression and a coloration. A packet is
657 colored according to the first filter that it matches, Color filter
658 expressions use exactly the same syntax as display filter expressions.
659  
660 When Ethereal starts the color filters are loaded from:
661 1. The user's personal color filters file or, if that does not exist,
662 2. The global color filters file.
663 If neither of these exist then the packets will not be colored.
664
665 =item The Color Filters Dialog
666
667 This dialog displays a list of color filters and allows it to be
668 modified.
669
670 =over
671
672 =item THE FILTER LIST
673
674 Single rows may be selected by clicking. Multiple rows may be selected
675 by using the ctrl and shift keys in combination with the mouse button.
676
677 =item NEW
678
679 Adds a new filter at the bottom of the list and opens the Edit Color
680 Filter dialog box. You will have to alter the filter expression at
681 least before the filter will be accepted. The format of color filter
682 expressions is identical to that of display filters. The new filter is
683 selected, so it may immediately be moved up and down, deleted or edited.
684 To avoid confusion all filters are unselected before the new filter is
685 created.
686
687 =item EDIT
688
689 Opens the Edit Color Filter dialog box for the selected filter. (If this
690 button is disabled you may have more than one filter selected, making it
691 ambiguous which is to be edited.)
692
693 =item DELETE
694
695 Deletes the selected color filter(s).
696
697 =item EXPORT
698
699 Allows you to choose a file in which to save the current list of color
700 filters. You may also choose to save only the selected filters. A
701 button is provided to save the filters in the global color filters file
702 (you must have sufficient permissions to write this file, of course).
703
704 =item IMPORT
705
706 Allows you to choose a file containing color filters which are then
707 added to the bottom of the current list. All the added filters are
708 selected, so they may be moved to the correct position in the list as a
709 group. To avoid confusion, all filters are unselected before the new
710 filters are imported. A button is provided to load the filters from the
711 global color filters file.
712
713 =item CLEAR
714
715 Deletes your personal color filters file, reloads the global
716 color filters file, if any, and closes the dialog.
717
718 =item UP
719
720 Moves the selected filter(s) up the list, making it more likely that
721 they will be used to color packets.
722
723 =item DOWN
724
725 Moves the selected filter(s) down the list, making it less likely that
726 they will be used to color packets.
727
728 =item OK
729
730 Closes the dialog and uses the color filters as they stand.
731
732 =item APPLY
733
734 Colors the packets according to the current list of color filters, but
735 does not close the dialog.
736
737 =item SAVE
738
739 Saves the current list of color filters in your personal color filters
740 file. Unless you do this they will not be used the next time you start
741 Ethereal.
742
743 =item CLOSE
744
745 Closes the dialog without changing the coloration of the packets. Note
746 that changes you have made to the current list of color filters are not
747 undone.
748
749 =back
750
751 =back
752
753 =item View:Show Packet In New Window
754
755 Create a new window containing a protocol tree view and a hex dump
756 window of the currently selected packet; this window will continue to
757 display that packet's protocol tree and data even if another packet is
758 selected.
759
760 =item View:Reload
761
762 Reload a capture file.  Same as I<File:Close> and I<File:Open> the same 
763 file again.
764
765 =item Go:Go To Packet
766
767 Go to a particular numbered packet.
768
769 =item Go:Go To Corresponding Packet
770
771 If a field in the protocol tree pane containing a packet number is
772 selected, go to the packet number specified by that field.  (This works
773 only if the dissector that put that entry into the protocol tree put it
774 into the tree as a filterable field rather than just as text.)  This can
775 be used, for example, to go to the packet for the request corresponding
776 to a reply, or the reply corresponding to a request, if that packet
777 number has been put into the protocol tree.
778
779 =item Go:First Packet
780
781 Go to the first packet in the capture.
782
783 =item Go:Last Packet
784
785 Go to the last packet in the capture.
786
787 =item Capture:Start
788
789 Initiate a live packet capture (see L<"Capture Options"> below).  A
790 temporary file will be created to hold the capture.  The location of the
791 file can be chosen by setting your TMPDIR environment variable before
792 starting B<Ethereal>.  Otherwise, the default TMPDIR location is
793 system-dependent, but is likely either F</var/tmp> or F</tmp>.
794
795 =item Capture:Stop
796
797 In a capture that updates the packet display as packets arrive (so that
798 Ethereal responds to user input other than pressing the "Stop" button in
799 the capture packet statistics dialog box), stop the capture.
800
801 =item Capture:Capture Filters
802
803 Edit the saved list of capture filters, allowing filters to be added,
804 changed, or deleted.
805
806 =item Analyze:Display Filters
807
808 Edit the saved list of display filters, allowing filters to be added,
809 changed, or deleted.
810
811 =item Analyze:Match
812
813 Create a display filter, or add to the display filter strip at the
814 bottom, a display filter based on the data currently highlighted in the
815 protocol tree, and apply the filter.
816
817 If that data is a field that can be tested in a display filter
818 expression, the display filter will test that field; otherwise, the
819 display filter will be based on absolute offset within the packet, and
820 so could be unreliable if the packet contains protocols with
821 variable-length headers, such as a source-routed token-ring packet.
822
823 The B<Selected> option creates a display filter that tests for a match
824 of the data; the B<Not Selected> option creates a display filter that
825 tests for a non-match of the data.  The B<And Selected>, B<Or Selected>,
826 B<And Not Selected>, and B<Or Not Selected> options add to the end of
827 the display filter in the strip at the bottom an AND or OR operator
828 followed by the new display filter expression.
829
830 =item Analyze:Prepare
831
832 Create a display filter, or add to the display filter strip at the
833 bottom, a display filter based on the data currently highlighted in the
834 protocol tree, but don't apply the filter.
835
836 =item Analyze:Enabled Protocols
837
838 Allow protocol dissection to be enabled or disabled for a specific
839 protocol.  Individual protocols can be enabled or disabled by clicking
840 on them in the list or by highlighting them and pressing the space bar.
841 The entire list can be enabled, disabled, or inverted using the buttons
842 below the list.
843
844 When a protocol is disabled, dissection in a particular packet stops
845 when that protocol is reached, and Ethereal moves on to the next packet.
846 Any higher-layer protocols that would otherwise have been processed will
847 not be displayed.  For example, disabling TCP will prevent the dissection
848 and display of TCP, HTTP, SMTP, Telnet, and any other protocol exclusively
849 dependent on TCP.
850
851 The list of protocols can be saved, so that Ethereal will start up with
852 the protocols in that list disabled.
853
854 =item Analyze:Decode As
855
856 If you have a packet selected, present a dialog allowing you to change
857 which dissectors are used to decode this packet.  The dialog has one
858 panel each for the link layer, network layer and transport layer
859 protocol/port numbers, and will allow each of these to be changed
860 independently.  For example, if the selected packet is a TCP packet to
861 port 12345, using this dialog you can instruct Ethereal to decode all
862 packets to or from that TCP port as HTTP packets.
863
864 =item Analyze:User Specified Decodes
865
866 Create a new window showing whether any protocol ID to dissector
867 mappings have been changed by the user.  This window also allows the
868 user to reset all decodes to their default values.
869
870 =item Analyze:Follow TCP Stream
871
872 If you have a TCP packet selected, display the contents of the data
873 stream for the TCP connection to which that packet belongs, as text, in
874 a separate window, and leave the list of packets in a filtered state,
875 with only those packets that are part of that TCP connection being
876 displayed.  You can revert to your old view by pressing ENTER in the
877 display filter text box, thereby invoking your old display filter (or
878 resetting it back to no display filter).
879
880 The window in which the data stream is displayed lets you select:
881
882 =over 8
883
884 =item *
885
886 whether to display the entire conversation, or one or the other side of
887 it;
888
889 =item *
890
891 whether the data being displayed is to be treated as ASCII or EBCDIC
892 text or as raw hex data;
893
894 =back 4
895
896 and lets you print what's currently being displayed, using the same
897 print options that are used for the I<File:Print Packet> menu item, or
898 save it as text to a file.
899
900 =item Statistics:Summary
901
902 Show summary information about the capture, including elapsed time,
903 packet counts, byte counts, and the like.  If a display filter is in
904 effect, summary information will be shown about the capture and about
905 the packets currently being displayed.
906
907 =item Statistics:Protocol Hierarchy
908
909 Show the number of packets, and the number of bytes in those packets,
910 for each protocol in the trace.  It organizes the protocols in the same
911 hierarchy in which they were found in the trace.  Besides counting the
912 packets in which the protocol exists, a count is also made for packets
913 in which the protocol is the last protocol in the stack.  These
914 last-protocol counts show you how many packets (and the byte count
915 associated with those packets) B<ended> in a particular protocol.  In
916 the table, they are listed under "End Packets" and "End Bytes".
917
918 =item Statistics:IO Graphs
919
920 Open a window where up to 5 graphs in different colors can be displayed
921 to indicate number of packets or number of bytes per second for all packets
922 matching the specified filter.
923 By default only one graph will be displayed showing number of packets per second.
924
925 The top part of the window contains the graphs and scales for the X and
926 Y axis.  If the graph is too long to fit inside the window there is a
927 horizontal scrollbar below the drawing area that can scroll the graphs
928 to the left or the right.  The horizontal axis displays the time into
929 the capture and the vertical axis will display the measured quantity at
930 that time.
931
932 Below the drawing area and the scrollbar are the controls.  On the
933 bottom left there will be five similar sets of controls to control each
934 induvidual graph such as "Display:<button>" which button will toggle
935 that individual graph on/off.  If <button> is ticked, the graph will be
936 displayed.  "Color:<color>" which is just a button to show which color
937 will be used to draw that graph (color is only available in Gtk2
938 version) and finally "Filter:<filter-text>" which can be used to specify
939 a display filter for that particular graph.
940
941 If filter-text is empty then all packets will be used to calculate the
942 quantity for that graph.  If filter-text is specified only those packets
943 that match that display filter will be considered in the calculation of
944 quantity.
945
946 To the right of the 5 graph controls there are four menus to control
947 global aspects of the draw area and graphs.  The "Unit:" menu is used to
948 control what to measure; "packets/tick", "bytes/tick" or "advanced..."
949
950 packets/tick will measure the number of packets matching the (if
951 specified) display filter for the graph in each measurement interval. 
952
953 bytes/tick will measure the total number of bytes in all packets matching
954 the (if specified) display filter for the graph in each measurement
955 interval.
956
957 advanced... see below
958
959 "Tick interval:" specifies what measurement intervals to use.  The
960 default is 1 second and means that the data will be counted over 1
961 second intervals. 
962
963 "Pixels per tick:" specifies how many pixels wide each measurement
964 interval will be in the drawing area.  The default is 5 pixels per tick. 
965
966 "Y-scale:" controls the max value for the y-axis.  Default value is
967 "auto" which means that B<Ethereal> will try to adjust the maxvalue
968 automatically.
969
970 "advanced..." If Unit:advanced...  is selected the window will display
971 two more controls for each of the five graphs.  One control will be a
972 menu where the type of calculation can be selected from
973 SUM,COUNT,MAX,MIN,AVG and LOAD, and one control, textbox, where the name of a
974 single display filter field can be specified.
975
976 The following restrictions apply to type and field combinations:
977 SUM: available for all types of integers and will calculate the SUM of all 
978         occurences of this field in teh capture. Note that some field can 
979         occur multiple times in the same packet and then all instances will
980         be summed up.
981         Example: 'tcp.len' which will count the amount of payload data
982         transferred across tcp in each interval.
983 COUNT: available for all field types. This will COUNT the number of times
984         a certain field occurs in each interval. Note that some fields
985         may occur multiple times in each packet and if that is the case
986         then each instance willb e counted independently and COUNT
987         will be greater than the number of packets.
988 MAX: available for all integer and relative time fields. This will calculate
989         the max seen integer/time value seen for the field during the interval.
990         Example: 'smb.time' which will plot the maximum SMB response time.
991 MIN: available for all integer and relative time fields. This will calculate
992         the min seen integer/time value seen for the field during the interval.
993         Example: 'smb.time' which will plot the minimum SMB response time.
994 AVG: available for all integer and relative time fields.This will calculate
995         the average seen integer/time value seen for the field during the 
996         interval.
997         Example: 'smb.time' which will plot the average SMB response time.
998 LOAD: available only for relative time fields (response times).
999
1000
1001 Example of advanced:
1002 Display how NFS response time MAX/MIN/AVG changes over time:
1003
1004 Set first graph to   filter:nfs&&rpc.time Calc:MAX rpc.time
1005 Set second graph to  filter:nfs&&rpc.time Calc:AVG rpc.time
1006 Set third graph to   filter:nfs&&rpc.time Calc:MIN rpc.time
1007
1008
1009 Example of advanced:
1010 Display how the average packetsize from host a.b.c.d changes over time.
1011
1012 Set first graph to   filter:ip.addr==a.b.c.d&&frame.pkt_len  Calc:AVG frame.pkt_len
1013
1014
1015 LOAD:
1016 The LOAD io-stat type is very different from anything you have ever seen 
1017 before! While the response times themself as plotted by MIN,MAX,AVG are 
1018 indications on the Server load (which affects the Server response time),  
1019 the LOAD measurement measures the Client LOAD.
1020 What this measures is how much workload the client generates, 
1021 i.e. how fast will the client issue new commands when the previous ones 
1022 completed.
1023 i.e. the level of concurrency the client can maintain.
1024 The higher the number, the more and faster is the client issuing new
1025 commands. When the LOAD goes down, it may be due to client load making
1026 the client slower in issuing new commands (there may be other reasons as
1027 well, maybe the client just dont have any commands it wants to issue
1028 right then).
1029
1030 Load is measured in concurrency/number of overlapping i/o and the value
1031 1000 means there is a constant load of one i/o.
1032
1033 In each tick interval the amount of overlap is measured.
1034 See the graph below containing three commands:
1035 Below the graph are the LOAD values for each interval that would be calculated.
1036 |     |     |     |     |     |     |     |     |
1037 |     |     |     |     |     |     |     |     |
1038 |     |  o=====*  |     |     |     |     |     |
1039 |     |     |     |     |     |     |     |     |
1040 |  o========*     | o============*  |     |     |
1041 |     |     |     |     |     |     |     |     |
1042 --------------------------------------------------> Time
1043  500   1500   500  750   1000   500    0     0
1044
1045
1046 =item Statistics:Conversation List
1047
1048 This option will open a new window that displays a list of all
1049 conversations between two endpoints.  The list has one row for each
1050 unique conversation and displays total number of packets/bytes seen as
1051 well as number of packets/bytes in each direction.
1052
1053 By default the list is sorted according to the number of packets but by
1054 clicking on the column header; it is possible to re-sort the list in
1055 ascending or descending order by any column.
1056
1057 By first selecting a conversation by clicking on it and then using the 
1058 right mouse button (on those platforms that have a right
1059 mouse button) ethereal will display a popup menu offering several different 
1060 filter operations to apply to the capture.
1061
1062
1063 These statistics windows can also be invoked from the Ethereal command
1064 line using the B<-z conv> argument. 
1065
1066 =item Statistics:Service Response Time:DCE-RPC
1067
1068 Open a window to display Service Response Time statistics for an 
1069 arbitrary DCE-RPC program
1070 interface and display B<Procedure>, B<Number of Calls>, B<Minimum SRT>,
1071 B<Maximum SRT> and B<Average SRT> for all procedures for that
1072 program/version.  These windows opened will update in semi-real time to
1073 reflect changes when doing live captures or when reading new capture
1074 files into B<Ethereal>.
1075
1076 This dialog will also allow an optional filter string to be used.
1077 If an optional filter string is used only such DCE-RPC request/response pairs 
1078 that match that filter will be used to calculate the statistics. If no filter 
1079 string is specified all request/response pairs will be used.
1080
1081 =item Statistics:Service Response Time:Fibre Channel
1082
1083 Open a window to display Service Response Time statistics for Fibre Channel
1084 and display B<FC Type>, B<Number of Calls>, B<Minimum SRT>,
1085 B<Maximum SRT> and B<Average SRT> for all FC types.
1086 These windows opened will update in semi-real time to
1087 reflect changes when doing live captures or when reading new capture
1088 files into B<Ethereal>.
1089 The Service Response Time is calculated as the time delta between the
1090 First packet of the exchange and the Last packet of the exchange.
1091
1092 This dialog will also allow an optional filter string to be used.
1093 If an optional filter string is used only such FC first/last exchange pairs 
1094 that match that filter will be used to calculate the statistics. If no filter 
1095 string is specified all request/response pairs will be used.
1096
1097 =item Statistics:Service Response Time:ONC-RPC
1098
1099 Open a window to display statistics for an arbitrary ONC-RPC program interface
1100 and display B<Procedure>, B<Number of Calls>, B<Minimum SRT>, B<Maximum SRT> and B<Average SRT> for all procedures for that program/version.
1101 These windows opened will update in semi-real time to reflect changes when
1102 doing live captures or when reading new capture files into B<Ethereal>.
1103
1104 This dialog will also allow an optional filter string to be used.
1105 If an optional filter string is used only such ONC-RPC request/response pairs 
1106 that match that filter will be used to calculate the statistics. If no filter 
1107 string is specified all request/response pairs will be used.
1108
1109 By first selecting a conversation by clicking on it and then using the 
1110 right mouse button (on those platforms that have a right
1111 mouse button) ethereal will display a popup menu offering several different 
1112 filter operations to apply to the capture.
1113
1114 =item Statistics:Service Response Time:SMB
1115
1116 Collect call/reply SRT (Service Response Time) data for SMB.  Data collected
1117 is number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT. 
1118
1119 The data will be presented as separate tables for all normal SMB commands,
1120 all Transaction2 commands and all NT Transaction commands.
1121 Only those commands that are seen in the capture will have its stats
1122 displayed.
1123 Only the first command in a xAndX command chain will be used in the
1124 calculation.  So for common SessionSetupAndX + TreeConnectAndX chains,
1125 only the SessionSetupAndX call will be used in the statistics.
1126 This is a flaw that might be fixed in the future.
1127
1128 You can apply an optional filter string in a dialog box, before starting
1129 the calculation. The stats will only be calculated 
1130 on those calls matching that filter.
1131
1132 By first selecting a conversation by clicking on it and then using the 
1133 right mouse button (on those platforms that have a right
1134 mouse button) ethereal will display a popup menu offering several different 
1135 filter operations to apply to the capture.
1136
1137 =item Statistics:Service Response Time:MGCP
1138
1139 Collect requests/response SRT (Service Response Time) data for MGCP. 
1140 Data collected is B<number of calls> for each known MGCP Type, 
1141 B<Minimum SRT>, B<Maximum SRT>, B<Average SRT>, B<Minimum in Packet>, and B<Maximum in Packet>. 
1142 These windows opened will update in semi-real time to reflect changes when
1143 doing live captures or when reading new capture files into B<Ethereal>.
1144
1145 You can apply an optional filter string in a dialog box, before starting
1146 the calculation. The statistics will only be calculated 
1147 on those calls matching that filter.
1148
1149 =item Statistics:Service Response Time:ITU-T H.225 RAS
1150
1151 Collect requests/response SRT (Service Response Time) data for ITU-T H.225 RAS. 
1152 Data collected is B<number of calls> for each known ITU-T H.225 RAS Message Type,
1153 B<Minimum SRT>, B<Maximum SRT>, B<Average SRT>, B<Minimum in Packet>, and B<Maximum in Packet>.
1154 You will also get the number of B<Open Requests> (Unresponded Requests), 
1155 B<Discarded Responses> (Responses without matching request) and Duplicate Messages.
1156 These windows opened will update in semi-real time to reflect changes when
1157 doing live captures or when reading new capture files into B<Ethereal>.
1158
1159 You can apply an optional filter string in a dialog box, before starting
1160 the calculation. The statistics will only be calculated 
1161 on those calls matching that filter.
1162
1163 =item Statistics:ITU-T H.225
1164
1165 Count ITU-T H.225 messages and their reasons. In the first column you get a 
1166 list of H.225 messages and H.225 message reasons, which occur in the current
1167 capture file. The number of occurences of each message or reason will be displayed 
1168 in the second column.
1169 This window opened will update in semi-real time to reflect changes when
1170 doing live captures or when reading new capture files into B<Ethereal>.
1171
1172 You can apply an optional filter string in a dialog box, before starting
1173 the counter. The statistics will only be calculated 
1174 on those calls matching that filter.
1175
1176 =item Statistics:ONC-RPC Programs
1177
1178 This dialog will open a window showing aggregated RTT statistics for all
1179 ONC-RPC Programs/versions that exist in the capture file.
1180
1181 =item Help:Contents
1182
1183 Some help texts.
1184
1185 =item Help:Supported Protocols
1186
1187 List of supported protocols and display filter protocol fields.
1188
1189 =item Help:About Plugins
1190
1191 See what dynamically loadable dissector plugin modules have been loaded
1192 (see I<"Plugins"> below).
1193
1194 =item Help:About Ethereal
1195
1196 What this is all about...
1197
1198 =back
1199
1200 =head2 WINDOWS
1201
1202 =over 4
1203
1204 =item Main Window
1205
1206 The main window is split into three panes.  You can resize each pane using
1207 a "thumb" at the right end of each divider line.  Below the panes is a
1208 strip that shows the current filter and informational text.
1209
1210 =over 6
1211
1212 =item Top Pane
1213
1214 The top pane contains the list of network packets that you can scroll
1215 through and select.  By default, the packet number, packet timestamp,
1216 source and destination addresses, protocol, and description are
1217 displayed for each packet; the I<Columns> page in the dialog box popped
1218 up by I<Edit:Preferences> lets you change this (although, unfortunately,
1219 you currently have to save the preferences, and exit and restart
1220 Ethereal, for those changes to take effect).
1221
1222 If you click on the heading for a column, the display will be sorted by
1223 that column; clicking on the heading again will reverse the sort order
1224 for that column.
1225
1226 An effort is made to display information as high up the protocol stack
1227 as possible, e.g. IP addresses are displayed for IP packets, but the
1228 MAC layer address is displayed for unknown packet types.
1229
1230 The right mouse button can be used to pop up a menu of operations.
1231
1232 The middle mouse button can be used to mark a packet.
1233
1234 =item Middle Pane
1235
1236 The middle pane contains a I<protocol tree> for the currently-selected
1237 packet.  The tree displays each field and its value in each protocol
1238 header in the stack.  The right mouse button can be used to pop up a
1239 menu of operations.
1240
1241 =item Bottom Pane
1242
1243 The lowest pane contains a hex dump of the actual packet data. 
1244 Selecting a field in the I<protocol tree> highlights the corresponding
1245 bytes in this section.
1246
1247 The right mouse button can be used to pop up a menu of operations.
1248
1249 =item Current Filter
1250
1251 A display filter can be entered into the strip at the bottom. 
1252 A filter for HTTP, HTTPS, and DNS traffic might look like this:
1253
1254   tcp.port == 80 || tcp.port == 443 || tcp.port == 53
1255
1256 Selecting the I<Filter:> button lets you choose from a list of named
1257 filters that you can optionally save.  Pressing the Return or Enter
1258 keys, or selecting the I<Apply> button, will cause the filter to be
1259 applied to the current list of packets.  Selecting the I<Reset> button
1260 clears the display filter so that all packets are displayed.
1261
1262 =back
1263
1264 =item Preferences
1265
1266 The I<Preferences> dialog lets you control various personal preferences
1267 for the behavior of B<Ethereal>.
1268
1269 =over 6
1270
1271 =item Printing Preferences
1272
1273 The radio buttons at the top of the I<Printing> page allow you choose
1274 between printing packets with the I<File:Print Packet> menu item as text
1275 or PostScript, and sending the output directly to a command or saving it
1276 to a file.  The I<Command:> text entry box, on UNIX-compatible systems,
1277 is the command to send files to (usually B<lpr>), and the I<File:> entry
1278 box lets you enter the name of the file you wish to save to. 
1279 Additionally, you can select the I<File:> button to browse the file
1280 system for a particular save file.
1281
1282 =item Column Preferences
1283
1284 The I<Columns> page lets you specify the number, title, and format
1285 of each column in the packet list.
1286
1287 The I<Column title> entry is used to specify the title of the column
1288 displayed at the top of the packet list.  The type of data that the column
1289 displays can be specified using the I<Column format> option menu.
1290 The row of buttons on the left perform the following actions:
1291
1292 =over 6
1293
1294 =item Add New
1295
1296 Adds a new column to the list.
1297
1298 =item Delete
1299
1300 Deletes the currently selected list item.
1301
1302 =item Up / Down
1303
1304 Moves the selected list item up or down one position.
1305
1306 =item OK
1307
1308 Currently has no effect.
1309
1310 =item Save
1311
1312 Saves the current column format as the default.
1313
1314 =item Cancel
1315
1316 Closes the dialog without making any changes.
1317
1318 =back
1319
1320 =item TCP Streams Preferences
1321
1322 The I<TCP Streams> page can be used to change the color of the text
1323 displayed in the TCP stream window.  To change a color, simply select
1324 an attribute from the "Set:" menu and use the color selector to get the
1325 desired color.  The new text colors are displayed in a sample window.
1326
1327 =item User Interface Preferences
1328
1329 The I<User Interface> page is used to modify small aspects of the GUI to
1330 your own personal taste:
1331
1332 =over 6
1333
1334 =item Scrollbars
1335
1336 The vertical scrollbars in the three panes can be set to be either on
1337 the left or the right. 
1338
1339 =item Selection Bars
1340
1341 The selection bar in the packet list and protocol tree can have either a
1342 "browse" or "select" behavior.  If the selection bar has a "browse"
1343 behavior, the arrow keys will move an outline of the selection bar,
1344 allowing you to browse the rest of the list or tree without changing the
1345 selection until you press the space bar.  If the selection bar has a
1346 "select" behavior, the arrow keys will move the selection bar and change
1347 the selection to the new item in the packet list or protocol tree.
1348
1349 =item Tree Line Style
1350
1351 Trees can be drawn with no lines, solid lines, or dotted lines between
1352 items, or can be drawn with "tab" headings.
1353
1354 =item Tree Expander Style
1355
1356 The expander item that can be clicked to show or hide items under a tree
1357 item can be omitted (note that this will prevent you from changing
1358 whether those items are shown or hidden!), or can be drawn as squares,
1359 triangles, or circles.
1360
1361 =item Hex Display
1362
1363 The highlight method in the hex dump display for the selected protocol
1364 item can be set to use either inverse video, or bold characters.
1365
1366 =item Save Window Position
1367
1368 If this item is selected, the position of the main Ethereal window will
1369 be saved when Ethereal exits, and used when Ethereal is started again.
1370
1371 =item Save Window Size
1372
1373 If this item is selected, the size of the main Ethereal window will
1374 be saved when Ethereal exits, and used when Ethereal is started again.
1375
1376 =item File Open Dialog Behavior
1377
1378 This item allows the user to select how Ethereal handles the listing
1379 of the "File Open" Dialog when opening trace files.  "Remember Last
1380 Directory" causes Ethereal to automatically position the dialog in the
1381 directory of the most recently opened file, even between launches of Ethereal.
1382 "Always Open in Directory" allows the user to define a persistent directory
1383 that the dialog will always default to.
1384
1385 =item Directory:
1386
1387 Allows the user to specify a persistent File Open directory.  Trailing
1388 slashes or backslashes will automatically be added.
1389
1390 =item Fonts
1391
1392 The "Font..." button lets you select the font to be used for most text.
1393
1394 =item Colors
1395
1396 The "Colors..." button lets you select the colors to be used for instance
1397 for the marked packets.
1398
1399 =back
1400
1401 =item Capture Preferences
1402
1403 The I<Capture> page lets you specify various parameters for capturing
1404 live packet data; these are used the first time a capture is started.
1405
1406 The I<Interface:> combo box lets you specify the interface from which to
1407 capture packet data, or the name of a FIFO from which to get the packet
1408 data.
1409
1410 The I<Data link type:> option menu lets you, for some interfaces, select
1411 the data link header you want to see on the packets you capture.  For
1412 example, in some OSes and with some versions of libpcap, you can choose,
1413 on an 802.11 interface, whether the packets should appear as Ethernet
1414 packets (with a fake Ethernet header) or as 802.11 packets.
1415
1416 The I<Limit each packet to ... bytes> check box lets you set the
1417 snapshot length to use when capturing live data; turn on the check box,
1418 and then set the number of bytes to use as the snapshot length.
1419
1420 The I<Filter:> text entry lets you set a capture filter expression to be
1421 used when capturing.
1422
1423 If any of the environment variables SSH_CONNECTION, SSH_CLIENT,
1424 REMOTEHOST, DISPLAY, or CLIENTNAME are set, Ethereal will create a
1425 default capture filter that excludes traffic from the hosts and ports
1426 defined in those variables.
1427
1428 The I<Capture packets in promiscuous mode> check box lets you specify
1429 whether to put the interface in promiscuous mode when capturing.
1430
1431 The I<Update list of packets in real time> check box lets you specify
1432 that the display should be updated as packets are seen.
1433
1434 The I<Automatic scrolling in live capture> check box lets you specify
1435 whether, in an "Update list of packets in real time" capture, the packet
1436 list pane should automatically scroll to show the most recently captured
1437 packets.
1438
1439 =item Protocol Preferences
1440
1441 There are also pages for various protocols that Ethereal dissects,
1442 controlling the way Ethereal handles those protocols.
1443
1444 =back
1445
1446 =item Edit Capture Filter List
1447
1448 =item Edit Display Filter List
1449
1450 =item Capture Filter
1451
1452 =item Display Filter
1453
1454 =item Read Filter
1455
1456 =item Search Filter
1457
1458 The I<Edit Capture Filter List> dialog lets you create, modify, and
1459 delete capture filters, and the I<Edit Display Filter List> dialog lets
1460 you create, modify, and delete display filters.
1461
1462 The I<Capture Filter> dialog lets you do all of the editing operations
1463 listed, and also lets you choose or construct a filter to be used when
1464 capturing packets.
1465
1466 The I<Display Filter> dialog lets you do all of the editing operations
1467 listed, and also lets you choose or construct a filter to be used to
1468 filter the current capture being viewed.
1469
1470 The I<Read Filter> dialog lets you do all of the editing operations
1471 listed, and also lets you choose or construct a filter to be used to
1472 as a read filter for a capture file you open.
1473
1474 The I<Search Filter> dialog lets you do all of the editing operations
1475 listed, and also lets you choose or construct a filter expression to be
1476 used in a find operation.
1477
1478 In all of those dialogs, the I<Filter name> entry specifies a
1479 descriptive name for a filter, e.g.  B<Web and DNS traffic>.  The
1480 I<Filter string> entry is the text that actually describes the filtering
1481 action to take, as described above.The dialog buttons perform the
1482 following actions:
1483
1484 =over 6
1485
1486 =item New
1487
1488 If there is text in the two entry boxes, creates a new associated list
1489 item.
1490
1491 =item Edit
1492
1493 Modifies the currently selected list item to match what's in the entry
1494 boxes.
1495
1496 =item Delete
1497
1498 Deletes the currently selected list item.
1499
1500 =item Add Expression...
1501
1502 For display filter expressions, pops up a dialog box to allow you to
1503 construct a filter expression to test a particular field; it offers
1504 lists of field names, and, when appropriate, lists from which to select
1505 tests to perform on the field and values with which to compare it.  In
1506 that dialog box, the OK button will cause the filter expression you
1507 constructed to be entered into the I<Filter string> entry at the current
1508 cursor position.
1509
1510 =item OK
1511
1512 In the I<Capture Filter> dialog, closes the dialog box and makes the
1513 filter in the I<Filter string> entry the filter in the I<Capture
1514 Preferences> dialog.  In the I<Display Filter> dialog, closes the dialog
1515 box and makes the filter in the I<Filter string> entry the current
1516 display filter, and applies it to the current capture.  In the I<Read
1517 Filter> dialog, closes the dialog box and makes the filter in the
1518 I<Filter string> entry the filter in the I<Open Capture File> dialog. 
1519 In the I<Search Filter> dialog, closes the dialog box and makes the
1520 filter in the I<Filter string> entry the filter in the I<Find Packet>
1521 dialog.
1522
1523 =item Apply
1524
1525 Makes the filter in the I<Filter string> entry the current display
1526 filter, and applies it to the current capture.
1527
1528 =item Save
1529
1530 Saves the current filter list in F<$HOME/.ethereal/cfilters> on
1531 UNIX-compatible systems, and F<%APPDATA%\Ethereal\cfilters> (or, if
1532 %APPDATA% isn't defined,
1533 F<%USERPROFILE%\Application Data\Ethereal\cfilters>)
1534 on Windows systems, if the list of filters being edited is the list of
1535 capture filters, or in F<$HOME/.ethereal/dfilters> on UNIX-compatible
1536 systems, and F<%APPDATA%\Ethereal\dfilters> (or, if %APPDATA% isn't
1537 defined, F<%USERPROFILE%\Application Data\Ethereal\dfilters>) on Windows
1538 systems, if the list of filters being edited is the list of display
1539 filters.
1540
1541 =item Close
1542
1543 Closes the dialog without doing anything with the filter in the I<Filter
1544 string> entry.
1545
1546 =back
1547
1548 =item Capture Options
1549
1550 The I<Capture Options> dialog lets you specify various parameters for
1551 capturing live packet data.
1552
1553 The I<Interface:> field lets you specify the interface from which to
1554 capture packet data or a command from which to get the packet data via a
1555 pipe.
1556
1557 The I<Link layer header type:> field lets you specify the interfaces link
1558 layer header type. This field is usually disabled, as most interface have 
1559 only one header type.
1560
1561 The I<Capture packets in promiscuous mode> check box lets you specify
1562 whether the interface should be put into promiscuous mode when
1563 capturing.
1564
1565 The I<Limit each packet to ... bytes> check box and field lets you
1566 specify a maximum number of bytes per packet to capture and save; if the
1567 check box is not checked, the limit will be 65535 bytes.
1568
1569 The I<Capture Filter:> entry lets you specify the capture filter using a
1570 tcpdump-style filter string as described above.
1571
1572 The I<File:> entry lets you specify the file into which captured packets
1573 should be saved, as in the I<Printer Options> dialog above.  If not
1574 specified, the captured packets will be saved in a temporary file; you
1575 can save those packets to a file with the I<File:Save As> menu item.
1576
1577 The I<Use multiple files> check box lets you specify that the capture
1578 should be done in "multiple files" mode. This option is disabled, if the 
1579 I<Update list of packets in real time> option is checked.
1580
1581 The I<Next file every ...  megabyte(s)> check box and fields lets
1582 you specify that a switch to a next file should be done
1583 if the specified filesize is reached. You can also select the appriate 
1584 unit, but beware that the filesize has a maximum of 2 GB.
1585 The check box is forced to be checked, as "multiple files" mode requires a 
1586 file size to be specified.
1587
1588 The I<Next file every ... minute(s)> check box and fields lets 
1589 you specify that the switch to a next file should be done after the specified
1590 time has elapsed, even if the specified capture size is not reached.
1591
1592 The I<Ring buffer with ... files> field lets you specify the number 
1593 of files of a ring buffer. This feature will capture into to the first file
1594 again, after the specified amount of files were used.
1595
1596 The I<Stop capture after ... files> field lets you specify the number 
1597 of capture files used, until the capture is stopped.
1598
1599 The I<Stop capture after ... packet(s)> check box and field let
1600 you specify that Ethereal should stop capturing after having captured
1601 some number of packets; if the check box is not checked, Ethereal will
1602 not stop capturing at some fixed number of captured packets.
1603
1604 The I<Stop capture after ... megabyte(s)> check box and field lets 
1605 you specify that Ethereal should stop capturing after the file to which 
1606 captured packets are being saved grows as large as or larger than some 
1607 specified number of megabytes. If the check box is not checked, Ethereal 
1608 will not stop capturing at some capture file size (although the operating 
1609 system on which Ethereal is running, or the available disk space, may still 
1610 limit the maximum size of a capture file). This option is disabled, if 
1611 "multiple files" mode is used, 
1612
1613 The I<Stop capture after ...  second(s)> check box and field let you
1614 specify that Ethereal should stop capturing after it has been capturing
1615 for some number of seconds; if the check box is not checked, Ethereal
1616 will not stop capturing after some fixed time has elapsed.
1617
1618 The I<Update list of packets in real time> check box lets you specify
1619 whether the display should be updated as packets are captured and, if
1620 you specify that, the I<Automatic scrolling in live capture> check box
1621 lets you specify the packet list pane should automatically scroll to
1622 show the most recently captured packets as new packets arrive.
1623
1624 The I<Enable MAC name resolution>, I<Enable network name resolution> and
1625 I<Enable transport name resolution> check boxes let you specify whether
1626 MAC addresses, network addresses, and transport-layer port numbers
1627 should be translated to names.
1628
1629 =item Plugins
1630
1631 The I<Plugins> dialog lets you view the dissector plugin modules
1632 available on your system.
1633
1634 The I<Plugins List> shows the name and version of each dissector plugin
1635 module found on your system.  The plugins are searched in the following
1636 directories: the F<lib/ethereal/plugins/$VERSION> directory under the
1637 main installation directory (for example,
1638 F</usr/local/lib/ethereal/plugins/$VERSION>),
1639 F</usr/lib/ethereal/plugins/$VERSION>,
1640 F</usr/local/lib/ethereal/plugins/$VERSION>, and
1641 F<$HOME/.ethereal/plugins> on UNIX-compatible systems, and in the
1642 F<plugins\$VERSION> directory under the main installation directory (for
1643 example, F<C:\Program Files\Ethereal\plugins\$VERSION>) and
1644 F<%APPDATA%\Ethereal\plugins\$VERSION> (or, if %APPDATA% isn't defined,
1645 F<%USERPROFILE%\Application Data\Ethereal\plugins\$VERSION>) on Windows
1646 systems; $VERSION is the version number of the plugin interface, which
1647 is typically the version number of Ethereal.  Note that a dissector
1648 plugin module may support more than one protocol; there is not
1649 necessarily a one-to-one correspondence between dissector plugin modules
1650 and protocols.  Protocols supported by a dissector plugin module are
1651 enabled and disabled using the I<Edit:Protocols> dialog box, just as
1652 protocols built into Ethereal are.
1653
1654 =back
1655
1656 =head1 CAPTURE FILTER SYNTAX
1657
1658 See the tcpdump(8) manual page.
1659
1660 =head1 DISPLAY FILTER SYNTAX
1661
1662 For a complete table of protocol and protocol fields that are filterable
1663 in B<Ethereal> see ethereal-filter(4).
1664
1665 =head1 FILES
1666
1667 The F<ethereal.conf> file, which is installed in the F<etc> directory
1668 under the main installation directory (for example, F</usr/local/etc>)
1669 on UNIX-compatible systems, and in the main installation directory (for
1670 example, F<C:\Program Files\Ethereal>) on Windows systems, and the
1671 personal preferences file, which is F<$HOME/.ethereal/preferences> on
1672 UNIX-compatible systems and F<%APPDATA%\Ethereal\preferences> (or, if
1673 %APPDATA% isn't defined,
1674 F<%USERPROFILE%\Application Data\Ethereal\preferences>) on
1675 Windows systems, contain system-wide and personal preference settings,
1676 respectively.  The file contains preference settings of the form
1677 I<prefname>B<:>I<value>, one per line, where I<prefname> is the name of
1678 the preference (which is the same name that would appear in the
1679 preference file), and I<value> is the value to which it should be set;
1680 white space is allowed between B<:> and I<value>.  A preference setting
1681 can be continued on subsequent lines by indenting the continuation lines
1682 with white space.  A B<#> character starts a comment that runs to the
1683 end of the line.
1684
1685 The system-wide preference file is read first, if it exists, overriding
1686 B<Ethereal>'s default values; the personal preferences file is then
1687 read, if it exists, overriding default values and values read from the
1688 system-wide preference file.
1689
1690 Note that whenever the preferences are saved by using the I<Save> button
1691 in the I<Edit:Preferences> dialog box, your personal preferences file
1692 will be overwritten with the new settings, destroying any comments that
1693 were in the file.
1694
1695 The disabled protocols file, which is F<$HOME/.ethereal/disabled_protos>
1696 on UNIX-compatible systems and F<%APPDATA%\Ethereal\disabled_protos>
1697 (or, if %APPDATA% isn't defined, F<%USERPROFILE%\Application
1698 Data\Ethereal\disabled_protos>) on Windows systems, contain a list of
1699 protocols that have been disabled, so that their dissectors are never
1700 called.  The file contains protocol names, one per line, where the
1701 protocol name is the same name that would be used in a display filter
1702 for the protocol.  A B<#> character starts a comment that runs to the
1703 end of the line.
1704
1705 Note that whenever the disabled protocols list is saved by using the
1706 I<Save> button in the I<Edit:Protocols> dialog box, your disabled
1707 protocols file will be overwritten with the new settings, destroying any
1708 comments that were in the file.
1709
1710 The F<ethers> file, which is found in the F</etc> directory on
1711 UNIX-compatible systems, and in the main installation directory (for
1712 example, F<C:\Program Files\Ethereal>) on Windows systems, is consulted
1713 to correlate 6-byte hardware addresses to names.  If an address is not
1714 found in the F<ethers> file, the F<$HOME/.ethereal/ethers> file on
1715 UNIX-compatible systems, and the F<%APPDATA%\Ethereal\ethers> file (or, if
1716 %APPDATA% isn't defined, the
1717 F<%USERPROFILE%\Application Data\Ethereal\ethers> file) on Windows
1718 systems is consulted next.  Each line contains one hardware
1719 address and name, separated by whitespace.  The digits of the hardware
1720 address are separated by either a colon (:), a dash (-), or a period
1721 (.).  The following three lines are valid lines of an ethers file:
1722
1723   ff:ff:ff:ff:ff:ff          Broadcast
1724   c0-00-ff-ff-ff-ff          TR_broadcast
1725   00.00.00.00.00.00          Zero_broadcast
1726
1727 The F<manuf> file, which is installed in the F<etc> directory under the
1728 main installation directory (for example, F</usr/local/etc>) on
1729 UNIX-compatible systems, and in the main installation directory (for
1730 example, F<C:\Program Files\Ethereal>) on Windows systems, matches the
1731 3-byte vendor portion of a 6-byte hardware address with the
1732 manufacturer's name; it can also contain well-known MAC addresses and
1733 address ranges specified with a netmask.  The format of the file is the
1734 same as the F<ethers> file, except that entries of the form
1735
1736   00:00:0C      Cisco
1737
1738 can be provided, with the 3-byte OUI and the name for a vendor, and
1739 entries of the form
1740
1741   00-00-0C-07-AC/40     All-HSRP-routers
1742
1743 can be specified, with a MAC address and a mask indicating how many bits
1744 of the address must match.  Trailing zero bytes can be omitted from
1745 address ranges.  That entry, for example, will match addresses from
1746 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF.  The mask need not be a
1747 multiple of 8.
1748
1749 The F<ipxnets> file, which is found in the F</etc> directory on
1750 UNIX-compatible systems, and in the main installation directory (for
1751 example, F<C:\Program Files\Ethereal>) on Windows systems, correlates
1752 4-byte IPX network numbers to names.  If a network number is not found
1753 in the F<ipxnets> file, the F<$HOME/.ethereal/ipxnets> file on
1754 UNIX-compatible systems, and the F<%APPDATA%\Ethereal\ipxnets> file (or,
1755 if %APPDATA% isn't defined, the
1756 F<%USERPROFILE%\Application Data\Ethereal\ipxnets> file)
1757 on Windows systems, is consulted next.  The format is the same as the
1758 F<ethers> file, except that each address if four bytes instead of six. 
1759 Additionally, the address can be represented a single hexadecimal
1760 number, as is more common in the IPX world, rather than four hex octets. 
1761 For example, these four lines are valid lines of an ipxnets file.
1762
1763   C0.A8.2C.00              HR
1764   c0-a8-1c-00              CEO
1765   00:00:BE:EF              IT_Server1
1766   110f                     FileServer3
1767
1768 The global color filters file, F<colorfilters>, which is installed in
1769 the F<etc> directory under the main installation directory (for example,
1770 F</usr/local/etc>) on UNIX-compatible systems, and in the main
1771 installation directory (for example, F<C:\Program Files\Ethereal>) on
1772 Windows systems, and the personal color filters file, which is
1773 F<$HOME/.ethereal/colorfilters> on UNIX-compatible systems and
1774 F<%APPDATA%\Ethereal\colorfilters> (or, if %APPDATA% isn't defined,
1775 F<%USERPROFILE%\Application Data\Ethereal\color filters>) on Windows
1776 systems, contain system-wide and personal color filters,
1777 respectively.
1778
1779 =head1 SEE ALSO
1780
1781 I<ethereal-filter(4)> I<tethereal(1)>, I<editcap(1)>, I<tcpdump(8)>, I<pcap(3)>
1782
1783 =head1 NOTES
1784
1785 The latest version of B<Ethereal> can be found at
1786 B<http://www.ethereal.com>.
1787
1788 =head1 AUTHORS
1789
1790   Original Author
1791   -------- ------
1792   Gerald Combs  <gerald[AT]ethereal.com>
1793
1794
1795   Contributors
1796   ------------
1797   Gilbert Ramirez          <gram[AT]alumni.rice.edu>
1798   Hannes R. Boehm          <hannes[AT]boehm.org>
1799   Mike Hall                <mike [AT] hallzone.net>
1800   Bobo Rajec               <bobo[AT]bsp-consulting.sk>
1801   Laurent Deniel           <laurent.deniel[AT]free.fr>
1802   Don Lafontaine           <lafont02[AT]cn.ca>
1803   Guy Harris               <guy[AT]alum.mit.edu>
1804   Simon Wilkinson          <sxw[AT]dcs.ed.ac.uk>
1805   Joerg Mayer              <jmayer[AT]loplof.de>
1806   Martin Maciaszek         <fastjack[AT]i-s-o.net>
1807   Didier Jorand            <Didier.Jorand[AT]alcatel.fr>
1808   Jun-ichiro itojun Hagino <itojun[AT]itojun.org>
1809   Richard Sharpe           <sharpe[AT]ns.aus.com>
1810   John McDermott           <jjm[AT]jkintl.com> 
1811   Jeff Jahr                <jjahr[AT]shastanets.com>
1812   Brad Robel-Forrest       <bradr[AT]watchguard.com>
1813   Ashok Narayanan          <ashokn[AT]cisco.com>
1814   Aaron Hillegass          <aaron[AT]classmax.com>
1815   Jason Lango              <jal[AT]netapp.com>
1816   Johan Feyaerts           <Johan.Feyaerts[AT]siemens.atea.be>
1817   Olivier Abad             <oabad[AT]noos.fr>
1818   Thierry Andry            <Thierry.Andry[AT]advalvas.be>
1819   Jeff Foster              <jfoste[AT]woodward.com>
1820   Peter Torvals            <petertv[AT]xoommail.com>
1821   Christophe Tronche       <ch.tronche[AT]computer.org>
1822   Nathan Neulinger         <nneul[AT]umr.edu>
1823   Tomislav Vujec           <tvujec[AT]carnet.hr>
1824   Kojak                    <kojak[AT]bigwig.net>
1825   Uwe Girlich              <Uwe.Girlich[AT]philosys.de>
1826   Warren Young             <tangent[AT]mail.com>
1827   Heikki Vatiainen         <hessu[AT]cs.tut.fi>
1828   Greg Hankins             <gregh[AT]twoguys.org>
1829   Jerry Talkington         <jerryt[AT]netapp.com>
1830   Dave Chapeskie           <dchapes[AT]ddm.on.ca>
1831   James Coe                <jammer[AT]cin.net>
1832   Bert Driehuis            <driehuis[AT]playbeing.org>
1833   Stuart Stanley           <stuarts[AT]mxmail.net>
1834   John Thomes              <john[AT]ensemblecom.com>
1835   Laurent Cazalet          <laurent.cazalet[AT]mailclub.net>
1836   Thomas Parvais           <thomas.parvais[AT]advalvas.be>
1837   Gerrit Gehnen            <G.Gehnen[AT]atrie.de>
1838   Craig Newell             <craign[AT]cheque.uq.edu.au>
1839   Ed Meaney                <emeaney[AT]cisco.com>
1840   Dietmar Petras           <DPetras[AT]ELSA.de> 
1841   Fred Reimer              <fwr[AT]ga.prestige.net>
1842   Florian Lohoff           <flo[AT]rfc822.org>
1843   Jochen Friedrich         <jochen+ethereal[AT]scram.de>
1844   Paul Welchinski          <paul.welchinski[AT]telusplanet.net>
1845   Doug Nazar               <nazard[AT]dragoninc.on.ca>
1846   Andreas Sikkema          <h323 [AT] ramdyne.nl>
1847   Mark Muhlestein          <mmm[AT]netapp.com>
1848   Graham Bloice            <graham.bloice[AT]trihedral.com>
1849   Ralf Schneider           <ralf.schneider[AT]alcatel.se>
1850   Yaniv Kaul               <ykaul[AT]netvision.net.il>
1851   Paul Ionescu             <paul[AT]acorp.ro>
1852   Mark Burton              <markb[AT]ordern.com>
1853   Stefan Raab              <sraab[AT]cisco.com>
1854   Mark Clayton             <clayton[AT]shore.net>
1855   Michael Rozhavsky        <mike[AT]tochna.technion.ac.il>
1856   Dug Song                 <dugsong[AT]monkey.org>
1857   Michael Tuexen           <Michael.Tuexen [AT] siemens.com>
1858   Bruce Korb               <bkorb[AT]sco.com>
1859   Jose Pedro Oliveira      <jpo[AT]di.uminho.pt>
1860   David Frascone           <dave[AT]frascone.com>
1861   Peter Kjellerstedt       <pkj[AT]axis.com>
1862   Phil Techau              <phil_t[AT]altavista.net>
1863   Wes Hardaker             <wjhardaker[AT]ucdavis.edu>
1864   Robert Tsai              <rtsai[AT]netapp.com>
1865   Craig Metz               <cmetz[AT]inner.net>
1866   Per Flock                <per.flock[AT]axis.com>
1867   Jack Keane               <jkeane[AT]OpenReach.com>
1868   Brian Wellington         <bwelling[AT]xbill.org>
1869   Santeri Paavolainen      <santtu[AT]ssh.com>
1870   Ulrich Kiermayr          <uk[AT]ap.univie.ac.at>
1871   Neil Hunter              <neil.hunter[AT]energis-squared.com>
1872   Ralf Holzer              <ralf[AT]well.com>
1873   Craig Rodrigues          <rodrigc [AT] attbi.com>
1874   Ed Warnicke              <hagbard[AT]physics.rutgers.edu>
1875   Johan Jorgensen          <johan.jorgensen[AT]axis.com>
1876   Frank Singleton          <frank.singleton[AT]ericsson.com>
1877   Kevin Shi                <techishi[AT]ms22.hinet.net>
1878   Mike Frisch              <mfrisch[AT]isurfer.ca>
1879   Burke Lau                <burke_lau[AT]agilent.com>
1880   Martti Kuparinen         <martti.kuparinen[AT]iki.fi>
1881   David Hampton            <dhampton[AT]mac.com>
1882   Kent Engström            <kent[AT]unit.liu.se>
1883   Ronnie Sahlberg          <sahlberg[AT]optushome.com.au>
1884   Borosa Tomislav          <tomislav.borosa[AT]SIEMENS.HR>
1885   Alexandre P. Ferreira    <alexandref[AT]tcoip.com.br>
1886   Simharajan Srishylam     <Simharajan.Srishylam[AT]netapp.com>
1887   Greg Kilfoyle            <gregk[AT]redback.com>
1888   James E. Flemer          <jflemer[AT]acm.jhu.edu>
1889   Peter Lei                <peterlei[AT]cisco.com>
1890   Thomas Gimpel            <thomas.gimpel[AT]ferrari.de>
1891   Albert Chin              <china[AT]thewrittenword.com>
1892   Charles Levert           <charles[AT]comm.polymtl.ca>
1893   Todd Sabin               <tas[AT]webspan.net>
1894   Eduardo Pérez Ureta      <eperez[AT]dei.inf.uc3m.es>
1895   Martin Thomas            <martin_a_thomas[AT]yahoo.com>
1896   Hartmut Mueller          <hartmut[AT]wendolene.ping.de>
1897   Michal Melerowicz        <Michal.Melerowicz[AT]nokia.com>
1898   Hannes Gredler           <hannes[AT]juniper.net>
1899   Inoue                    <inoue[AT]ainet.or.jp>
1900   Olivier Biot             <Olivier.Biot[AT]siemens.com>
1901   Patrick Wolfe            <pjw[AT]zocalo.cellular.ameritech.com>
1902   Martin Held              <Martin.Held[AT]icn.siemens.de>
1903   Riaan Swart              <rswart[AT]cs.sun.ac.za>
1904   Christian Lacunza        <celacunza[AT]gmx.net>
1905   Scott Renfro             <scott[AT]renfro.org>
1906   Juan Toledo              <toledo[AT]users.sourceforge.net>
1907   Jean-Christian Pennetier <jeanchristian.pennetier[AT]rd.francetelecom.fr>
1908   Jian Yu                  <bgp4news[AT]yahoo.com>
1909   Eran Mann                <emann[AT]opticalaccess.com>
1910   Andy Hood                <ajhood [AT] fl.net.au>
1911   Randy McEoin             <rmceoin[AT]pe.net>
1912   Edgar Iglesias           <edgar.iglesias[AT]axis.com>
1913   Martina Obermeier        <Martina.Obermeier[AT]icn.siemens.de>
1914   Javier Achirica          <achirica[AT]ttd.net>
1915   B. Johannessen           <bob[AT]havoq.com>
1916   Thierry Pelle            <thierry.pelle[AT]rd.francetelecom.fr>
1917   Francisco Javier Cabello <fjcabello[AT]vtools.es>
1918   Laurent Rabret           <laurent.rabret[AT]rd.francetelecom.fr>
1919   nuf si                   <gnippiks[AT]yahoo.com>
1920   Jeff Morriss             <jeff.morriss[AT]ulticom.com>
1921   Aamer Akhter             <aakhter[AT]cisco.com>
1922   Pekka Savola             <pekkas[AT]netcore.fi>
1923   David Eisner             <cradle[AT]Glue.umd.edu>
1924   Steve Dickson            <steved[AT]talarian.com>
1925   Markus Seehofer          <mseehofe[AT]nt.hirschmann.de>
1926   Lee Berger               <lberger[AT]roy.org>
1927   Motonori Shindo          <mshindo[AT]mshindo.net>
1928   Terje Krogdahl           <tekr[AT]nextra.com>
1929   Jean-Francois Mule       <jfm[AT]cablelabs.com>
1930   Thomas Wittwer           <thomas.wittwer[AT]iclip.ch>
1931   Matthias Nyffenegger     <matthias.nyffenegger[AT]iclip.ch>
1932   Palle Lyckegaard         <Palle[AT]lyckegaard.dk>
1933   Nicolas Balkota          <balkota[AT]mac.com>
1934   Tom Uijldert             <Tom.Uijldert[AT]cmg.nl>
1935   Akira Endoh              <endoh[AT]netmarks.co.jp>
1936   Graeme Hewson            <graeme.hewson[AT]oracle.com>
1937   Pasi Eronen              <pasi.eronen[at]nixu.com>
1938   Georg von Zezschwitz     <gvz[AT]2scale.net>
1939   Steffen Weinreich        <steve[AT]weinreich.org>
1940   Marc Milgram             <ethereal[AT]mmilgram.NOSPAMmail.net>
1941   Gordon McKinney          <gordon[AT]night-ray.com>
1942   Tim Farley               <tfarley[AT]iss.net>
1943   Daniel Thompson          <daniel.thompson[AT]st.com>
1944   Chris Jepeway            <thai-dragon[AT]eleven29.com>
1945   Pavel Novotny            <Pavel.Novotny[AT]icn.siemens.de>
1946   Shinsuke Suzuki          <suz[AT]kame.net>
1947   Andrew C. Feren          <aferen[AT]cetacean.com>
1948   Tomas Kukosa             <tomas.kukosa [AT] siemens.com>
1949   Andreas Stockmeier       <a.stockmeier[AT]avm.de>
1950   Pekka Nikander           <pekka.nikander[AT]nomadiclab.com>
1951   Hamish Moffatt           <hamish[AT]cloud.net.au>
1952   Kazushi Sugyo            <k-sugyou[AT]nwsl.mesh.ad.jp>
1953   Tim Potter               <tpot[AT]samba.org>
1954   Raghu Angadi             <rangadi[AT]inktomi.com>
1955   Taisuke Sasaki           <sasaki[AT]soft.net.fujitsu.co.jp>
1956   Tim Newsham              <newsham[AT]lava.net>
1957   Tom Nisbet               <Tnisbet[AT]VisualNetworks.com>
1958   Darren New               <dnew[AT]san.rr.com>
1959   Pavel Mores              <pvl[AT]uh.cz>
1960   Bernd Becker             <bb[AT]bernd-becker.de>
1961   Heinz Prantner           <Heinz.Prantner[AT]radisys.com>
1962   Irfan Khan               <ikhan[AT]qualcomm.com>
1963   Jayaram V.R              <vjayar[AT]cisco.com>
1964   Dinesh Dutt              <ddutt[AT]cisco.com>
1965   Nagarjuna Venna          <nvenna[AT]Brixnet.com>
1966   Jirka Novak              <j.novak[AT]netsystem.cz>
1967   Ricardo Barroetaveña     <rbarroetavena[AT]veufort.com>
1968   Alan Harrison            <alanharrison[AT]mail.com>
1969   Mike Frantzen            <frantzen[AT]w4g.org>
1970   Charlie Duke             <cduke[AT]fvc.com>
1971   Alfred Arnold            <Alfred.Arnold[AT]elsa.de>
1972   Dermot Bradley           <dermot.bradley[AT]openwave.com>
1973   Adam Sulmicki            <adam[AT]cfar.umd.edu>
1974   Kari Tiirikainen         <kari.tiirikainen[AT]nokia.com>
1975   John Mackenzie           <John.A.Mackenzie[AT]t-online.de>
1976   Peter Valchev            <pvalchev[AT]openbsd.org>
1977   Alex Rozin               <Arozin[AT]mrv.com>
1978   Jouni Malinen            <jkmaline[AT]cc.hut.fi>
1979   Paul E. Erkkila          <pee[AT]erkkila.org>
1980   Jakob Schlyter           <jakob[AT]openbsd.org>
1981   Jim Sienicki             <sienicki[AT]issanni.com>
1982   Steven French            <sfrench[AT]us.ibm.com>
1983   Diana Eichert            <deicher[AT]sandia.gov>
1984   Blair Cooper             <blair[AT]teamon.com>
1985   Kikuchi Ayamura          <ayamura[AT]ayamura.org>
1986   Didier Gautheron         <dgautheron[AT]magic.fr>
1987   Phil Williams            <csypbw[AT]comp.leeds.ac.uk>
1988   Kevin Humphries          <khumphries[AT]networld.com>
1989   Erik Nordström           <erik.nordstrom[AT]it.uu.se>
1990   Devin Heitmueller        <dheitmueller[AT]netilla.com>
1991   Chenjiang Hu             <chu[AT]chiaro.com>
1992   Kan Sasaki               <sasaki[AT]fcc.ad.jp>
1993   Stefan Wenk              <stefan.wenk[AT]gmx.at>
1994   Ruud Linders             <ruud[AT]lucent.com>
1995   Andrew Esh               <Andrew.Esh[AT]tricord.com>
1996   Greg Morris              <GMORRIS[AT]novell.com>
1997   Dirk Steinberg           <dws[AT]dirksteinberg.de>
1998   Kari Heikkila            <kari.o.heikkila[AT]nokia.com>
1999   Olivier Dreux            <Olivier.Dreux[AT]alcatel.fr>
2000   Michael Stiller          <ms[AT]2scale.net>
2001   Antti Tuominen           <ajtuomin[AT]tml.hut.fi>
2002   Martin Gignac            <lmcgign[AT]mobilitylab.net>
2003   John Wells               <wells[AT]ieee.org>
2004   Loic Tortay              <tortay[AT]cc.in2p3.fr>
2005   Steve Housley            <Steve_Housley[AT]eur.3com.com>
2006   Peter Hawkins            <peter[AT]hawkins.emu.id.au>
2007   Bill Fumerola            <billf[AT]FreeBSD.org>
2008   Chris Waters             <chris[AT]waters.co.nz>
2009   Solomon Peachy           <pizza[AT]shaftnet.org>
2010   Jaime Fournier           <Jaime.Fournier [AT] hush.com>
2011   Markus Steinmann         <ms[AT]seh.de>
2012   Tsutomu Mieno            <iitom[AT]utouto.com>
2013   Yasuhiro Shirasaki       <yasuhiro[AT]gnome.gr.jp>
2014   Anand V. Narwani         <anand[AT]narwani.org>
2015   Christopher K. St. John  <cks[AT]distributopia.com>
2016   Nix                      <nix[AT]esperi.demon.co.uk>
2017   Liviu Daia               <Liviu.Daia[AT]imar.ro>
2018   Richard Urwin            <rurwin[AT]schenck.co.uk>
2019   Prabhakar Krishnan       <Prabhakar.Krishnan[AT]netapp.com>
2020   Jim McDonough            <jmcd[AT]us.ibm.com>
2021   Sergei Shokhor           <sshokhor[AT]uroam.com>
2022   Hidetaka Ogawa           <ogawa[AT]bs2.qnes.nec.co.jp>
2023   Jan Kratochvil           <short[AT]ucw.cz>
2024   Alfred Koebler           <ak[AT]icon-sult.de>
2025   Vassilii Khachaturov     <Vassilii.Khachaturov[AT]comverse.com>
2026   Bill Studenmund          <wrstuden[AT]wasabisystems.com>
2027   Brian Bruns              <camber[AT]ais.org>
2028   Flavio Poletti           <flavio[AT]polettix.it>
2029   Marcus Haebler           <haeblerm[AT]yahoo.com>
2030   Ulf Lamping              <ulf.lamping[AT]web.de>
2031   Matthew Smart            <smart[AT]monkey.org>
2032   Luke Howard              <lukeh[AT]au.padl.com>
2033   PC Drew                  <drewpc[AT]ibsncentral.com>
2034   Renzo Tomas              <renzo.toma [AT] xs4all.nl>
2035   Clive A. Stubbings       <eth[AT]vjet.demon.co.uk>
2036   Steve Langasek           <vorlon [AT] netexpress.net>
2037   Brad Hards               <bhards[AT]bigpond.net.au>
2038   cjs 2895                 <cjs2895[AT]hotmail.com>
2039   Lutz Jaenicke            <Lutz.Jaenicke [AT] aet.TU-Cottbus.DE>
2040   Senthil Kumar Nagappan   <sknagappan [AT] yahoo.com>
2041   Jason House              <jhouse [AT] mitre.org>
2042   Peter Fales              <psfales [AT] lucent.com>
2043   Fritz Budiyanto          <fritzb88 [AT] yahoo.com>
2044   Jean-Baptiste Marchand   <Jean-Baptiste.Marchand [AT] hsc.fr>
2045   Andreas Trauer           <andreas.trauer [AT] siemens.com>
2046   Ronald Henderson         <Ronald.Henderson [AT] CognicaseUSA.com>
2047   Brian Ginsbach           <ginsbach [AT] cray.com>
2048   Dave Richards            <d_m_richards [AT] attbi.com>
2049   Martin Regner            <martin.regner [AT] chello.se>
2050   Jason Greene             <jason [AT] inetgurus.net>
2051   Marco Molteni            <mmolteni [AT] cisco.com>
2052   James Harris             <jharris [AT] fourhorsemen.org>
2053   rmkml                    <rmkml [AT] wanadoo.fr>
2054   Anders Broman            <anders.broman [AT] ericsson.com>
2055   Christian Falckenberg    <christian.falckenberg [AT] nortelnetworks.com>
2056   Huagang Xie              <xie [AT] lids.org>
2057   cjs 2895                 <cjs2895 [AT] hotmail.com>
2058   Pasi Kovanen             <Pasi.Kovanen [AT] tahoenetworks.fi>
2059   Teemu Rinta-aho          <teemu.rinta-aho [AT] nomadiclab.com>
2060   Martijn Schipper         <martijn.schipper [AT] intersil.com>
2061   Wayne Parrott            <wayne_p [AT] pacific.net.au>
2062   Laurent Meyer            <laurent.meyer6 [AT] wanadoo.fr>
2063   Lars Roland              <Lars.Roland [AT] gmx.net>
2064   Miha Jemec               <m.jemec [AT] iskratel.si>
2065   Markus Friedl            <markus [AT] openbsd.org>
2066   Todd Montgomery          <tmontgom [AT] tibco.com>
2067   emre                     <emre [AT] flash.net>
2068   Stephen Shelley          <steve.shelley [AT] attbi.com>
2069   Erwin Rol                <erwin [AT] muffin.org>
2070   Duncan Laurie            <duncan [AT] sun.com>
2071   Tony Schene              <schene [AT] pcisys.net>
2072   Matthijs Melchior        <mmelchior [AT] xs4all.nl>
2073   Garth Bushell            <gbushell [AT] elipsan.com>
2074   Mark C. Brown            <mbrown [AT] nosila.net>
2075   Can Erkin Acar           <canacar [AT] eee.metu.edu.tr>
2076   Martin Warnes            <martin.warnes [AT] ntlworld.com>
2077   J Bruce Fields           <bfields [AT] fieldses.org>
2078   tz                       <tz1 [AT] mac.com>
2079   Jeff Liu                 <jqliu [AT] broadcom.com>
2080   Niels Koot               <Niels.Koot [AT] logicacmg.com>
2081   Lionel Ains              <lains [AT] gmx.net>
2082   Joakim Wiberg            <jow [AT] hms-networks.com>
2083   Jeff Rizzo               <riz [AT] boogers.sf.ca.us>
2084   Christoph Wiest          <ch.wiest [AT] tesionmail.de>
2085   Xuan Zhang               <xz [AT] aemail4u.com>
2086   Thierry Martin           <thierry.martin [AT] accellent-group.com>
2087   Oleg Terletsky           <oleg.terletsky [AT] comverse.com>
2088   Michael Lum              <mlum [AT] telostech.com>
2089   Shiang-Ming Huang        <smhuang [AT] pcs.csie.nctu.edu.tw>
2090   Tony Lindstrom           <tony.lindstrom [AT] ericsson.com>
2091   Niklas Ogren             <niklas.ogren [AT] 71.se>
2092   Jesper Peterson          <jesper [AT] endace.com>
2093   Giles Scott              <giles.scott1 [AT] btinternet.com>
2094   Vincent Jardin           <vincent.jardin [AT] 6wind.com>
2095   Jean-Michel Fayard       <jean-michel.fayard [AT] moufrei.de>
2096   Josef Korelus            <jkor [AT] quick.cz>
2097   Brian K. Teravskis       <Brian_Teravskis [AT] Cargill.com>
2098   Nathan Jennings          <njen [AT] bellsouth.net>
2099   Hans Viens               <hviens [AT] mediatrix.com>
2100   Kevin A. Noll            <knoll [AT] poss.com>
2101   Emanuele Caratti         <wiz [AT] libero.it>
2102   Graeme Reid              <graeme.reid [AT] norwoodsystems.com>
2103   Lars Ruoff               <lars.ruoff [AT] sxb.bsf.alcatel.fr>
2104   Samuel Qu                <samuel.qu [AT] utstar.com>
2105   Baktha Muralitharan      <muralidb [AT] cisco.com>
2106   Loïc Minier              <lool [AT] dooz.org>
2107   Marcel Holtmann          <marcel [AT] holtmann.org>
2108   Scott Emberley           <scotte [AT] netinst.com>
2109   Brian Fundakowski Feldman <bfeldman [AT] fla.fujitsu.com>
2110   Yuriy Sidelnikov         <ysidelnikov [AT] hotmail.com>
2111   Matthias Drochner        <M.Drochner [AT] fz-juelich.de>
2112   Dave Sclarsky            <dave_sclarsky [AT] cnt.com>
2113   Scott Hovis              <scott.hovis [AT] ums.msfc.nasa.gov>
2114   David Fort               <david.fort [AT] irisa.fr>
2115   Martijn Schipper         <mschipper [AT] globespanvirata.com>
2116   Felix Fei                <felix.fei [AT] utstar.com>
2117   Christoph Neusch         <christoph.neusch [AT] nortelnetworks.com>
2118   Jan Kiszka               <jan.kiszka [AT] web.de>
2119   Joshua Craig Douglas     <jdouglas [AT] enterasys.com>
2120   Dick Gooris              <gooris [AT] lucent.com>
2121   Michael Shuldman         <michaels [AT] inet.no>
2122   Tadaaki Nagao            <nagao [AT] iij.ad.jp>
2123   Aaron Woo                <woo [AT] itd.nrl.navy.mil>
2124   Chris Wilson             <chris [AT] mxtelecom.com>
2125   Rolf Fiedler             <Rolf.Fiedler [AT] Innoventif.com>
2126   Alastair Maw             <ethereal [AT] almaw.com>
2127   Sam Leffler              <sam [AT] errno.com>
2128   Martin Mathieson         <martin [AT] arca-technologies.com>
2129   Christian Wagner         <Christian.Wagner [AT] stud.uni-karlsruhe.de>
2130   Edwin Calo               <calo [AT] fusemail.com>
2131   Ian Schorr               <ischorr [AT] comcast.net>
2132   Rowan McFarland          <rmcfarla [AT] cisco.com>
2133   John Engelhart           <johne [AT] zang.com>
2134   Ryuji Somegawa           <ryuji-so [AT] is.aist-nara.ac.jp>
2135   metatech                 <metatech [AT] flashmail.com>
2136   Brian Wheeler            <Brian.Wheeler [AT] arrisi.com>
2137   Josh Bailey              <joshbailey [AT] lucent.com>
2138   Jelmer Vernooij          <jelmer [AT] samba.org>
2139   Duncan Sargeant          <dunc-ethereal-dev [AT] rcpt.to>
2140   Love Hörnquist Åstrand   <lha [AT] it.su.se>
2141   Pavel Roskin             <proski [AT] gnu.org>
2142   Georgi Guninski          <guninski [AT] guninski.com>
2143   Jason Copenhaver         <jcopenha [AT] typedef.org>
2144   Eric Perie               <eric.perie [AT] colubris.com>
2145   David Yon                <yon [AT] tacticalsoftware.com>
2146   Marcio Franco            <franco.marcio [AT] rd.francetelecom.fr>
2147   Kaloian Stoilov          <kalkata [AT] yahoo.com>
2148   Steven Lass              <stevenlass [AT] mail.com>
2149   Gregory Stark            <gsstark [AT] mit.edu>
2150   Darren Steele            <steeley [AT] steeley.co.uk>
2151                            <smhuang [AT] pcs.csie.nctu.edu.tw>
2152   Michael Kopp             <michael.kopp [AT] isarnet.de>
2153   Bernd Leibing            <bernd.leibing [AT] kiz.uni-ulm.de>
2154   Chris Heath              <chris [AT] heathens.co.nz>
2155   Gisle Vanem              <giva [AT] bgnett.no>
2156   Ritchie                  <ritchie [AT] tipsybottle.com>
2157   Aki Immonen              <aki.immonen [AT] golftalma.fi>
2158   David E. Weekly          <david [AT] weekly.org>
2159   Steve Ford               <sford [AT] geeky-boy.com>
2160   Masaki Chikama           <masaki-c [AT] is.aist-nara.ac.jp>
2161   Mohammad Hanif           <mhanif [AT] nexthop.com>
2162   Eric Wedel               <ewedel [AT] bluearc.com>
2163   Reinhard Speyerer        <rspmn [AT] arcor.de>
2164   Patrick Kursawe          <phosphan [AT] gentoo.org>
2165   Arsen Chaloyan           <achaloyan [AT] yahoo.com>
2166                            <melerski [AT] poczta.onet.pl>
2167   Arnaud Jacques           <webmaster [AT] securiteinfo.com>
2168   D. Manzella              <manzella [AT] lucent.com>
2169   Jari Mustajarvi          <jari.mustajarvi [AT] nokia.com>
2170   Joost Yervante Damad     <Joost.Damad [AT] siemens.com>
2171   Thomas Anders            <thomas.anders [AT] blue-cable.de>
2172   Pierre Juhen             <pierre.juhen [AT] wanadoo.fr>
2173   David Richards           <drichards [AT] alum.mit.edu>
2174   Shusaku Ueda             <ueda [AT] sra.co.jp>
2175   Jonathan Perkins         <jonathan.perkins [AT] ipaccess.com>
2176   Holger Schurig           <h.schurig [AT] mn-logistik.de>
2177   Peter J. Creath          <peter-ethereal [AT] creath.net>
2178   Magnus Hansson           <mah [AT] hms.se>
2179   Pavel Kankovsky          <kan [AT] dcit.cz>
2180   Nick Black               <dank [AT] reflexsecurity.com>
2181   Bill Guyton              <guyton [AT] bguyton.com>
2182   Chernishov Yury          <Chernishov [AT] iskrauraltel.ru>
2183   Thomas Palmer            <Thomas.Palmer [AT] Gunter.AF.mil>
2184   Jon Oberheide            <jon [AT] focalhost.com>
2185
2186 Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to give his
2187 permission to use his version of snprintf.c.
2188
2189 Dan Lasley <dlasley[AT]promus.com> gave permission for his dumpit() hex-dump
2190 routine to be used.
2191
2192 Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the hex dump
2193 display routine.
2194
2195 We use the exception module from Kazlib, a C library written by
2196 Kaz Kylheku <kaz[AT]ashi.footprints.net>. Thanks goes to him for his
2197 well-written library. The Kazlib home page can be found at
2198 http://users.footprints.net/~kaz/kazlib.html