aboutsummaryrefslogtreecommitdiffstats
path: root/doc/ethereal.pod.template
blob: e6c13af48f820acbd0339f4ac46d5d0ad5ef9c2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
=head1 NAME

Ethereal - Interactively browse network traffic

=head1 SYNOPSYS

B<ethereal>
S<[ B<-B> byte view height ]>
S<[ B<-b> bold font ]>
S<[ B<-c> count ]>
S<[ B<-F> ]>
S<[ B<-f> filter expression ]>
S<[ B<-G> ]>
S<[ B<-h> ]>
S<[ B<-i> interface ]> 
S<[ B<-k> ]>
S<[ B<-m> font ]>
S<[ B<-n> ]>
S<[ B<-P> packet list height ]>
S<[ B<-Q> ]>
S<[ B<-r> infile ]>
S<[ B<-S> ]>
S<[ B<-s> snaplen ]>
S<[ B<-T> tree view height ]>
S<[ B<-t> time stamp format ]>
S<[ B<-v> ]>
S<[ B<-w> savefile]>

=head1 DESCRIPTION

B<Ethereal> is a network protocol analyzer based on the B<GTK+> GUI toolkit.  It lets
you interactively browse packet data from a live network or from a previously saved
capture file. Ethereal knows how to read B<pcap> / B<tcpdump> formatted capture files,
as well as those of B<snoop>, B<LanAlyzer>, uncompressed B<Sniffer>,
Microsoft B<Network Monitor>, AIX's B<iptrace>, B<NetXray>, and B<Sniffer Pro>.

=head1 OPTIONS

=over 4

=item -B

Sets the initial height of the byte view (bottom) pane.

=item -b

Sets the name of the bold font used for the data in the byte view
pane that corresponds to the field selected in the protocol tree pane.

=item -c

Sets the default number of packets to read when capturing live
data.

=item -F

Specifies that the live packet capture will be performed in a separate
process. It is then possible to open/reload the file to display the
packets actually captured.

=item -f

Sets the capture filter expression.

=item -G

Dumps a glossary of display filter keywords to stdout and exits.

=item -h

Prints the version and options and exits.

=item -i

Sets the name of the interface to use for live packet capture.  It
should match one of the names listed in "B<netstat -i>" or "B<ifconfig -a>".

=item -k

Starts the capture session immediately; this option requires 
the B<-i> and B<-w> parameters.

=item -m

Sets the name of the font used by B<Ethereal> for most text.

=item -n

Disables network object name resolution (such as hostname, TCP and UDP port
names).

=item -P

Sets the initial height of the packet list (top) pane.

=item -Q

Causes B<Ethereal> to exit after the end of capture session (useful in
batch mode with B<-c> option for instance); this option requires the
B<-i> and B<-w> parameters.

=item -r

Reads packet data from I<file>.

=item -S

Specifies that the live packet capture will be performed in a separate
process (same as option B<-F>) and that the packet displaying should be
synchronized with the capture session without human operation 
(i.e. without load/reload). This is an experimental feature.

=item -s

Sets the default snapshot length to use when capturing live data. 
No more than I<snaplen> bytes of each network packet will be read into
memory, or saved to disk.

=item -T

Sets the initial height of the tree view (middle) pane

=item -t

Sets the format of the packet timestamp displayed in the packet list
window.  The format can be one of 'r' (relative), 'a' (absolute), or 'd'
(delta).  The relative time is the time elapsed between the first packet
and the current packet.  The absolute time is the actual date and time the
packet was captured.  The delta time is the time since the previous packet
was captured.  The default is relative.

=item -v

Prints the version and exits.

=item -w

Sets the default capture file name.

=back

=head1 INTERFACE

=head2 MENU ITEMS

=over 4

=item File:Open, File:Close, File:Reload

Open, close, or reload a capture file.

=item File:Print Packet

Print a description of each protocol header found in the packet, followed
by the packet data itself.  Printing options can be set with the
I<Edit:Preferences> menu item.

=item File:Quit

Exits the application.

=item Edit:Preferences

Sets the packet printing and filter options (see L<"Preferences"> below).

=item Capture:Start

Initiates a live packet capture (see L<"Capture Preferences"> below).
A temporary file will be created to hold the capture. The location of the
file can be chosen by setting your TMPDIR environment variable before
starting ethereal. Otherwise, the default TMPDIR location is system-dependent,
but is likely either /var/tmp or /tmp.

=item Display:Options

Sets the format of the packet timestamp displayed in the packet list
window to relative, absolute, or delta.

=item Tools:Follow TCP Stream

If you have a TCP packet selected, it will display the contents of the TCP
data stream in a separate window.

=back

=head2 WINDOWS

=over 4

=item Main Window

The main window is split into three panes.  You can resize each pane using
a "thumb" at the right end of each divider line.  Below the panes is a
strip that shows the file load progress, current filter, and informational
text.

The top pane contains the list of network packets that you can scroll
through and select.  The packet number, packet timestamp, source and
destination addresses, protocol, and description are printed for each
packet.  An effort is made to display information as high up the protocol
stack as possible, e.g. IP addresses are displayed for IP packets, but the
MAC layer address is displayed for unknown packet types.

The middle pane contains a I<protocol tree> for the currently-selected
packet.  The tree displays each field and its value in each protocol header
in the stack.

The lowest pane contains a hex dump of the actual packet data. 
Selecting a field in the I<protocol tree> highlights the corresponding
bytes in this section.

A display filter can be entered into the strip at the bottom. 
A filter for HTTP, HTTPS, and DNS traffic might look like this:

  tcp.port == 80 || tcp.port == 443 || tcp.port == 53

Selecting the I<Filter:> button lets you choose from a list of named
filters that you can optionally save.  Pressing the Return or Enter
keys will cause the filter to be applied to the current list of packets.

=item Preferences

The I<Preferences> dialog lets you select the output format of packets
printed using the I<File:Print Packet> menu item and configure
commonly-used filters.

=over 6

=item Printing Preferences

The radio buttons at the top of the I<Printing> page allow you choose
between  printing the packets as text or PostScript, and sending the
output directly to a command or saving it to a file.  The I<Command:> text
entry box is the command to send files to (usually B<lpr>), and the
I<File:> entry box lets you enter the name of the file you wish to save
to.  Additinally, you can select the I<File:> button to browse the file
system for a particular save file.

=item Filter Preferences

The I<Filters> page lets you create and modify filters, and set the
default filter to use when capturing data or opening a capture file.

The I<Filter name> entry specifies a descriptive name for a filter, e.g.
B<Web and DNS traffic>.  The I<Filter string> entry is the text that
actually describes the filtering action to take, as described above.The
dialog buttons perform the following actions:

=over 6

=item New

If there is text in the two entry boxes, it creates a new associated list
item.

=item Change

Modifies the currently selected list item to match what's in the entry
boxes.

=item Copy

Makes a copy of the currently selected list item.

=item Delete

Deletes the currently selected list item.

=item OK

Sets the currently selected list item as the active filter.  If  nothing
is selected, turns filtering off.

=item Save

Saves the current filter list in F<$HOME/.ethereal/filters>.

=item Cancel

Closes the dialog without making any changes.

=back

=item Column Preferences

The I<Columns> page lets you specify the number, title, and format
of each column in the packet list.

The I<Column title> entry is used to specify the title of the column
displayed at the top of the packet list.  The type of data that the column
displays can be specified using the I<Column format> option menu.  The row
of buttons on the left perform the following actions:

=over 6

=item New

Adds a new column to the list.

=item Change

Modifies the currently selected list item.

=item Delete

Deletes the currently selected list item.

=item Up / Down

Moves the selected list item up or down one position.

=item OK

Currently has no effect.

=item Save

Saves the current column format as the default.

=item Cancel

Closes the dialog without making any changes.

=back

=back

=item Capture Preferences

The I<Capture Preferences> dialog lets you specify various parameters for
capturing live packet data.

The I<Interface:> entry box lets you specify the interface from which to
capture packet data.  The I<Count:> entry specifies the number of packets
to capture.  Entering 0 will capture packets indefinitely.  The I<Filter:>
entry lets you specify the capture filter using a tcpdump-style filter
string as described above.  The I<File:> entry specifies the file to save
to, as in the I<Printer Options> dialog above.  You can choose to open the
file after capture, and you can also specify the maximum number of bytes
to capture per packet with the I<Capture length> entry.

=item Display Options

The I<Display Options> dialog lets you specify the format of the time stamp
in the packet list.  You can select "Time of day" for absolute time stamps,
"Seconds since beginning of capture" for relative time stamps, or
"Seconds since previous frame" for delta time stamps.

=back

=head1 DISPLAY FILTER SYNTAX

The grammar used for B<Ethereal>'s display filter syntax is similar to
the syntax of the C programming language.

=insert_dfilter_table

=head1 SEE ALSO

L<tcpdump(1)>, L<pcap(3)>

=head1 NOTES

The latest version of B<ethereal> can be found at
B<http://ethereal.zing.org>.

=head1 AUTHORS

  Original Author
  -------- ------
  Gerald Combs  <gerald@zing.org>


  Contributors
  ------------
  Gilbert Ramirez          <gramirez@tivoli.com>
  Hannes R. Boehm          <hannes@boehm.org>
  Mike Hall                <mlh@io.com>
  Bobo Rajec               <bobo@bsp-consulting.sk>
  Laurent Deniel           <deniel@worldnet.fr>
  Don Lafontaine           <lafont02@cn.ca>
  Guy Harris               <guy@netapp.com>
  Simon Wilkinson          <sxw@dcs.ed.ac.uk>
  Joerg Mayer              <jmayer@telemation.de>
  Martin Maciaszek         <fastjack@i-s-o.net>
  Didier Jorand            <Didier.Jorand@alcatel.fr>
  Jun-ichiro itojun Hagino <itojun@iijlab.net>
  Richard Sharpe           <sharpe@ns.aus.com>
  John McDermott           <jjm@jkintl.com> 
  Jeff Jahr                <jjahr@shastanets.com>
  Brad Robel-Forrest       <bradr@watchguard.com>
  Ashok Narayanan          <ashokn@cisco.com>
  Aaron Hillegass          <aaron@classmax.com>
  Jason Lango              <jal@netapp.com>
  Johan Feyaerts           <Johan.Feyaerts@siemens.atea.be>

Alain Magloire <alainm@rcsm.ece.mcgill.ca> was kind enough to give his
permission to use his version of snprintf.c.

Dan Lasley <dlasley@promus.com> gave permission for his dumpit() hex-dump
routine to be used.