=head1 NAME Ethereal - Interactively browse network traffic =head1 SYNOPSYS B 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 is a network protocol analyzer based on the B GUI toolkit. It lets you interactively browse packet data from a live network or from a previously saved capture file. Ethereal nows how to read B / B formatted capture files, as well as those of B, B, uncompressed B, Microsoft B, AIX's B, B, and B. =head1 OPTIONS =over 4 =item -B Sets the initial height of the byte view (bottom) pane =item -b The bold font name used for packet fied display. =item -c 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 a 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 The name of the interface to use for live packet capture. It should match one of the names listed in "B" or "B". =item -k Start the capture session immediately, this option requires the B<-i> and B<-w> parameters. =item -m The font name used by B. =item -n Disable 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 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 Read packet data from I. Currently, B only understands B / B formatted files. =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 The default snapshot length to use when capturing live data. No more than I bytes of each network packet will be read into memory, or saved to disk. =item -T Sets the initial height of the tree view (top) 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 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 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 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 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 dialog lets you select the output format of packets printed using the I menu item and configure commonly-used filters. =over 6 =item Printing Preferences The radio buttons at the top of the I 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 text entry box is the command to send files to (usually B), and the I entry box lets you enter the name of the file you wish to save to. Additinally, you can select the I button to browse the file system for a particular save file. =item Filter Preferences The I page lets you create and modify filters, and set the default filter to use when capturing data or opening a capture file. The I entry specifies a descriptive name for a filter, e.g. B. The I 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 page lets you specify the number, title, and format of each column in the packet list. The I 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 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 dialog lets you specify various parameters for capturing live packet data. The I entry box lets you specify the interface from which to capture packet data. The I entry specifies the number of packets to capture. Entering 0 will capture packets indefinitely. The I entry lets you specify the capture filter using a tcpdump-style filter string as described above. The I entry specifies the file to save to, as in the I 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 entry. =item Display Options The I 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's display filter syntax is similar to the syntax of the C programming language. =insert_dfilter_table =head1 SEE ALSO L, L =head1 NOTES The latest version of B can be found at B. =head1 AUTHORS Original Author -------- ------ Gerald Combs Contributors ------------ Gilbert Ramirez Hannes R. Boehm Mike Hall Bobo Rajec Laurent Deniel Don Lafontaine Guy Harris Simon Wilkinson Joerg Mayer Martin Maciaszek Didier Jorand Jun-ichiro itojun Hagino Richard Sharpe John McDermott Jeff Jahr Brad Robel-Forrest Ashok Narayanan Aaron Hillegass Jason Lango Johan Feyaerts Alain Magloire was kind enough to give his permission to use his version of snprintf.c. Dan Lasley gave permission for his dumpit() hex-dump routine to be used.