Manuel d'utilisation / d'entretien du produit Ethereal du fabricant Lucent Technologies
Aller à la page of 199
Ethereal User's Guide V2.0.2 (16376) for Ethereal 0.10.12 Richard Sharpe, NS Computer Software and Services P/L Ed Warnicke, Ulf Lamping,.
Ethereal User's Guide: V2.0.2 (16376) for Ethereal 0.10.12 by Richard Sharpe, Ed Warnicke, and Ulf Lamping Copyright © 2004-2005 Richard SharpeEd WarnickeUlf Lamping Permission is granted to cop.
.
Table of Contents P r e f a c e ............................................................................................................................. v i i i 1 . F o r e w o r d .................................................................
3 . 7 . T h e " V i e w " m e n u ...................................................................................................3 9 3 . 8 . T h e " G o " m e n u ................................................................
6 . 6 . F i n d i n g p a c k e t s .................................................................................................... 1 1 3 6 . 6 . 1 . T h e " F i n d P a c k e t " d i a l o g b o x ......................................
C.5. editcap : E d i t c a p t u r e f i l e s ..................................................................................... 1 6 7 C.6. mergecap : M e r g i n g m u l t i p l e c a p t u r e f i l e s i n t o o n e ............................
Preface 1. Foreword Ethereal is one of those programs that many network managers would love to be able to use, but they are often prevented from getting what they would like from Ethereal because of the lack of documentation. This document is part of an effort by the Ethereal team to improve the usability of Ethereal.
2. Who should read this document? The intended audience of this book is anyone using Ethereal. This book will explain all the basics and also some of the advanced features that Ethereal provides. As Ethereal has become a very complex program since the early days, not every feature of Ethereal might be explained in this book.
3. Acknowledgements The authors would like to thank the whole Ethereal team for their assistance. In particular, the au- thors would like to thank: • Gerald Combs, for initiating the Ethereal project and funding to do this documentation. • Guy Harris, for many helpful hints and a great deal of patience in reviewing this document.
4. About this document This book was originally developed by Richard Sharpe with funds provided from the Ethereal Fund. It was updated by Ed Warnicke and more recently redesigned and updated by Ulf Lamping .
5. Where to get the latest copy of this document? The latest copy of this documentation can always be found at: http:/ / www.ethereal.com/ docs/ #usersguide .
6. Providing feedback about this document Should you have any feedback about this document, please send them to the authors through ethere- al-dev[AT]ethereal.
Preface xiv.
Chapter 1. Introduction 1.1. What is Ethereal? Ethereal is a network packet analyzer. A network packet analyzer will try to capture network pack- ets and tries to display that packet data as detailed as possible.
Figure 1.1. Ethereal captures packets and allows you to examine their content. 1.1.3. Live capture from many different network media Despite its name, Ethereal can capture traffic from network media other than Ethernet. Which media types are supported, depends on many things like the operating system you are using.
license keys or fees or such. In addition, all source code is freely available under the GPL. Because of that, it is very easy for people to add new protocols to Ethereal, either as plugins, or built into the source, and they often do! 1.
1.2. Platforms Ethereal runs on Ethereal currently runs on most UNIX platforms and various Windows platforms. It requires GTK+, GLib, libpcap and some other libraries in order to run. If a binary package is not available for your platform, you should download the source and try to build it.
1.2.3. Microsoft Windows Maintained: • Windows Server 2003 / XP / 2000 / NT 4.0 • Windows Me / 98 Unsupported/Unmaintained (because lack of required libraries): • Windows CE • Windows NT / XP .
1.3. Where to get Ethereal? You can get the latest copy of the program from the Ethereal website: ht- tp://www.ethereal.com/download.html . The website allows you to choose from among several mir- rors for downloading. A new Ethereal version will typically become available every 4-8 weeks.
1.4. A rose by any other name William Shakespeare wrote: "A rose by any other name would smell as sweet." And so it is with Ethereal, as there appears to be two different ways that people pronounce the name. Some people pronounce it ether-real, while others pronounce it e-the-real, as in ghostly, insubstan- tial, etc.
1.5. A brief history of Ethereal In late 1997, Gerald Combs needed a tool for tracking down networking problems and wanted to learn more about networking, so he started writing Ethereal as a way to solve both problems. Ethereal was initially released, after several pauses in development, in July 1998 as version 0.
1.6. Development and maintenance of Ethereal Ethereal was initially developed by Gerald Combs. Ongoing development and maintenance of Eth- ereal is handled by the Ethereal team, a loose group of individuals who fix bugs and provide new functionality.
1.7. Reporting problems and getting help If you have problems, or need help with Ethereal, there are several places that may be of interest to you (well, beside this guide of course). 1.7.1. Website You will find lot's of useful information on the Ethereal homepage at http://www.
1.7.5. Reporting Problems Note! Before reporting any problems, please make sure you have installed the latest version of Ethereal. When reporting problems with Ethereal, it is helpful if you supply the following information: 1. The version number of Ethereal and the dependent libraries linked with it, eg GTK+, etc.
backtrace is a gdb command. You should enter it verbatim after the first line shown above, but it will not be echoed. The ^D (Control-D, that is, press the Control key and the D key together) will cause gdb to exit. This will leave you with a file called bt.
Introduction 13.
Chapter 2. Building and Installing Ethereal 2.1. Introduction As with all things, there must be a beginning, and so it is with Ethereal. To use Ethereal, you must: • Obtain a binary package for your operating system, or • Obtain the source and build Ethereal for your operating system.
2.2. Obtaining the source and binary distributions You can obtain both source and binary distributions from the Ethereal web site: ht- tp://www.ethereal.com . Simply select the download link, and then select either the source package or binary package of your choice from the mirror site closest to you.
2.3. Before you build Ethereal under UNIX Before you build Ethereal from sources, or install a binary package, you must ensure that you have the following other packages installed: • GTK+, The GIMP Tool Kit. You will also need Glib. Both can be obtained from www.
“Building and installing libpcap” will assist in building it. Also, if your operating system does not support tcpdump , you might also want to download it from the tcpdump web site and install it. Example 2.2. Building and installing libpcap gzip -dc libpcap-0.
cd /mnt/cdrom/RedHat/RPMS rpm -ivh glib-1.2.6-3.i386.rpm rpm -ivh glib-devel-1.2.6-3.i386.rpm rpm -ivh gtk+-1.2.6-7.i386.rpm rpm -ivh gtk+-devel-1.2.6-7.i386.rpm rpm -ivh libpcap-0.4-19.i386.rpm Note If you are using a version of RedHat later than 6.2, the required RPMs have most likely changed.
2.4. Building Ethereal from source under UNIX Use the following general steps if you are building Ethereal from source under a UNIX operating system: 1. Unpack the source from its gzip 'd tar file. If you are using Linux, or your version of UNIX uses GNU tar , you can use the following command: tar zxvf ethereal-0.
Once you have installed Ethereal with make install above, you should be able to run it by entering ethereal . Building and Installing Ethereal 20.
2.5. Installing the binaries under UNIX In general, installing the binary under your version of UNIX will be specific to the installation meth- ods used with your version of UNIX. For example, under AIX, you would use smit to install the Ethereal binary package, while under Tru64 UNIX (formerly Digital UNIX) you would use setld .
2.6. Troubleshooting during the install on Unix A number of errors can occur during the installation process. Some hints on solving these are provided here. If the configure stage fails, you will need to find out why. You can check the file config.log in the source directory to find out what failed.
2.7. Building from source under Windows It is recommended to use the binary installer for Windows, until you want to start developing Ether- eal on the Windows platform. For further information how to build Ethereal for Windows from the sources, have a look at the De- velopment Wiki: http://wiki.
2.8. Installing Ethereal under Windows In this section we explore installing Ethereal under Windows from the binary packages. 2.8.1. Install Ethereal You may acquire a binary installer of Ethereal named something like: ethereal- setup-x.y.z.exe . Simply download the Ethereal installer from: http://www.
The Components (both Ethereal GTK1 and 2 cannot be installed at the same time): • Etheral GTK1 - Ethereal is a GUI network protocol analyzer. • Etheral GTK2 - Ethereal is a GUI network protocol analyzer (using the modern GTK2 GUI toolkit, recommended).
install WinPcap, if none or an older version is detected. More WinPcap info: • Ethereal related: http://wiki.ethereal.com/WinPcap • General WinPcap info: http://www.winpcap.org 2.8.2.1. Manual WinPcap Installation The following is only necessary if you want to try a different version than the one included in the Ethereal installer, e.
2.8.6. Uninstall WinPcap You can uninstall WinPcap independantly of Ethereal, using the "WinPcap" entry in the "Add or Remove Programs" of the Control Panel. Note! After uninstallation of WinPcap you can't capture anything with Ethereal.
Building and Installing Ethereal 28.
Chapter 3. User Interface 3.1. Introduction By now you have installed Ethereal and are most likely keen to get started capturing your first pack- ets. In the next chapters we will explore: • How the Ethereal user interface works • How to capture packets in Ethereal • How to view packets in Ethereal • How to filter packets in Ethereal • .
3.2. Start Ethereal You can start Ethereal from your shell or window manager. Tip! When starting Ethereal it's possible to specify optional settings using the command line. See Section 9.2, “Start Ethereal from the command line” for details. Note! In the following chapters, a lot of screenshots from Ethereal will be shown.
3.3. The Main window Lets look at Ethereal's user interface. Figure 3.1, “The Main window” shows Ethereal as you would usually see it after some packets captured or loaded (how to do this will be described later). Figure 3.1. The Main window Ethereal's main window consist of parts that are commonly known from many other GUI programs.
current program state and the captured data. Tip! The layout of the main window can be customized by changing preference settings. See Section 9.5, “Preferences” for details! User Interface 32.
3.4. The Menu The Ethereal menu sits on top of the Ethereal window. An example is shown in Figure 3.2, “The Menu” . Note! Menu items will be greyed out if the corresponding feature isn't available. For ex- ample, you cannot save a capture file if you didn't capture or load any data before.
3.5. The "File" menu The Ethereal file menu contains the fields shown in Table 3.1, “File menu items” . Figure 3.3. The "File" Menu Table 3.1. File menu items Menu Item Accelerator Description Open... Ctrl+O This menu item brings up the file open dialog box that allows you to load a capture file for viewing.
Menu Item Accelerator Description Save Ctrl+S This menu item saves the current capture. If you have not set a default capture file name (perhaps with the -w <capfile> option), Ethereal pops up the Save Capture File As dialog box (which is discussed further in Section 5.
Menu Item Accelerator Description Export > as "PDML" file... This menu item allows you to export the (or some) of the packets in the capture file to a PDML (packet details markup language) XML file. It pops up the Ethereal Export dialog box (which is discussed further in Section 5.
3.6. The "Edit" menu The Ethereal Edit menu contains the fields shown in Table 3.2, “Edit menu items” . Figure 3.4. The "Edit" Menu Table 3.2. Edit menu items Menu Item Accelerator Description Find Packet... Ctrl+F This menu item brings up a dialog box that allows you to find a packet by many criteria.
Menu Item Accelerator Description Time Reference > Find Previ- ous This menu item tries to find the previous time referenced packet. Mark Packet (toggle) Ctrl+M This menu item "marks" the currently selected packet. See Section 6.8, “Marking packets” for details.
3.7. The "View" menu The Ethereal View menu contains the fields shown in Table 3.3, “View menu items” . Figure 3.5. The "View" Menu Table 3.3. View menu items Menu Item Accelerator Description Main Toolbar This menu item hides or shows the main toolbar, see Section 3.
Menu Item Accelerator Description Packet Bytes This menu item hides or shows the packet bytes pane, see Section 3.17, “The "Packet Bytes" pane” . ------ Time Display Format > Time of Day Selecting this tells Ethereal to display time stamps in time of day format, see Section 6.
Menu Item Accelerator Description Zoom In Ctrl++ Zoom into the packet data (increase the font size). Zoom Out Ctrl+- Zoom out of the packet data (decrease the font size). Normal Size Ctrl+= Set zoom level back to 100% (set font size back to normal). Resize All Columns Resize all column widths so the content will fit into it.
3.8. The "Go" menu The Ethereal Go menu contains the fields shown in Table 3.4, “Go menu items” . Figure 3.6. The "Go" Menu Table 3.4. Go menu items Menu Item Accelerator Description Back Alt+Left Jump to the recently visited packet in the packet history, much like the page history in a web browser.
Menu Item Accelerator Description Last Packet Jump to the last packet of the capture file. User Interface 43.
3.9. The "Capture" menu The Ethereal Capture menu contains the fields shown in Table 3.5, “Capture menu items” . Figure 3.7. The "Capture" Menu Table 3.
Menu Item Accelerator Description Capture Fil- ters... This menu item brings up a dialog box that allows you to create and edit capture filters. You can name filters, and you can save them for future use. More detail on this subject is provided in Section 6.
3.10. The "Analyze" menu The Ethereal Analyze menu contains the fields shown in Table 3.6, “Analyze menu items” . Figure 3.8. The "Analyze" Menu Table 3.6. Analyze menu items Menu Item Accelerator Description Display Fil- ters.
Menu Item Accelerator Description Enabled Proto- cols... Shift+Ctrl+R This menu item allows the user to enable/disable protocol dissectors, see Section 9.4.1, “The "Enabled Protocols" dialog box” Decode As... This menu item allows the user to force Ethereal to decode certain pack- ets as a particular protocol, see Section 9.
3.11. The "Statistics" menu The Ethereal Statistics menu contains the fields shown in Table 3.7, “Statistics menu items” . Figure 3.9. The "Statistics" Menu All menu items will bring up a new window showing specific statistical information.
Menu Item Accelerator Description ------ Conversation List Display a list of conversations, obsoleted by the combined window of Conversations above, see Section 8.5.3, “The protocol specific "Conversa- tion List" windows” . Endpoint List Display a list of endpoints, obsoleted by the combined window of End- points above, see Section 8.
3.12. The "Help" menu The Ethereal Help menu contains the fields shown in Table 3.8, “Help menu items” . Figure 3.10. The "Help" Menu Table 3.8. Help menu items Menu Item Accelerator Description Contents F1 This menu item brings up a basic help system.
Note! Calling a Web browser might be unsupported in your version of Ethereal. If this is the case, the corresponding menu items will be hidden. Note! If calling a Web browser fails on your machine, maybe because just nothing happens or the browser is started but no page is shown, have a look at the webbrowser setting in the preferences dialog.
3.13. The "Main" toolbar The main toolbar provides quick access to frequently used items from the menu. This toolbar cannot be customized by the user, but it can be hidden using the View menu, if the space on the screen is needed to show even more packet data.
Toolbar Icon Toolbar Item Corresponding Menu Item Description Reload View/Reload This item allows you to reload the current capture file. Print... File/Print... This item allows you to print all (or some of) the packets in the capture file. It pops up the Ethereal Print dialog box (which is discussed further in Section 5.
Toolbar Icon Toolbar Item Corresponding Menu Item Description Coloring Rules... View/Coloring Rules... This item brings up a dialog box that allows you color pack- ets in the packet list pane according to filter expressions you choose. It can be very useful for spotting certain types of packets.
3.14. The "Filter" toolbar The filter toolbar lets you quickly edit and apply display filters. More information on display filters is available in Section 6.
3.15. The "Packet List" pane The packet list pane displays all the packets in the current capture file. Figure 3.13. The "Packet List" pane Each line in the packet list corresponds to one packet in the capture file.
3.16. The "Packet Details" pane The packet details pane shows the current packet (selected in the "Packet List" pane) in a more de- tailed form. Figure 3.14. The "Packet Details" pane This pane shows the protocols and protocol fields of the packet selected in the "Packet List" pane.
3.17. The "Packet Bytes" pane The packet bytes pane shows the data of the current packet (selected in the "Packet List" pane) in a hexdump style.
3.18. The Statusbar The statusbar displays informational messages. In general, the left side will show context related information, while the right side will show the cur- rent number of packets. Figure 3.17. The initial Statusbar This statusbar is shown while no capture file is loaded, e.
User Interface 60.
Chapter 4. Capturing Live Network Data 4.1. Introduction Capturing live network data is one of the major features of Ethereal. The Ethereal capture engine provides the following features: • Capture from different kinds of network hardware (Ethernet, Token Ring, ATM, .
4.2. Prerequisites Setting up Ethereal to capture packets for the first time can be tricky. Tip! A comprehensive guide "How To setup a Capture" is available at: ht- tp://wiki.ethereal.com/CaptureSetup . Here are some common pitfalls: • You need to have root / Administrator privileges to start a live capture.
4.3. Start Capturing One of the following methods can be used to start capturing packets with Ethereal: • You can get an overview of the available local interfaces using the " Capture Interfaces" dialog box, see Figure 4.1, “The "Capture Interfaces" dialog box” .
4.4. The "Capture Interfaces" dialog box When you select "Interfaces..." from the Capture menu, Ethereal pops up the "Capture Interfaces" dialog box as shown in Figure 4.1, “The "Capture Interfaces" dialog box” .
4.5. The "Capture Options" dialog box When you select Start... from the Capture menu (or use the corresponding item in the "Main" tool- bar), Ethereal pops up the "Capture Options" dialog box as shown in Figure 4.2, “The "Capture Op- tions" dialog box” .
on interfaces that Ethereal has found on the system. It is a drop-down list, so simply click on the button on the right hand side and select the interface you want. It defaults to the first non-loopback interface that supports capturing, and if there are none, the first loopback interface.
CPU time is required for copying packets, less buffer space is required for packets, and thus perhaps fewer packets will be dropped if traffic is very heavy.
... after n minute(s) Stop capturing after the given number of second(s)/minutes(s)/hours(s)/days(s) have elapsed. 4.5.4. Display Options frame Update list of packets in real time This option allows you to specify that Ethereal should update the packet list pane in real time.
4.6. Capture files and file modes While capturing, the underlying libpcap capturing engine will grab the packets from the network card and keep the packet data in a (relatively) small kernel buffer. This data is read by Ethereal and saved into the capture file(s) the user specified.
new capture file to a specific folder, choose this mode. Multiple files, continuous Like the "Single named file" mode, but a new file is created and used, after reaching one of the multiple file switch condi- tions (one of the "Next file every .
4.7. Link-layer header type In the usual case, you won't have to choose this link-layer header type. The following paragraphs describe the exceptional cases, where selecting this type is possible, so you will have a guide what to do: If you are capturing on an 802.
4.8. Filtering while capturing Ethereal uses the libpcap filter language for capture filters. This is explained in the tcpdump man page, which can be hard to understand, so it's explained here to some extent. Tip! You will find a lot of Capture Filter examples at ht- tp://wiki.
You can optionally include the keyword src|dst between the keywords ether and host to specify that you are only inter- ested in source or destination addresses. If these are not present, packets where the specified address appears in either the source or destination address will be selected.
4.9. While a Capture is running ... While a capture is running, the following dialog box is shown: Figure 4.3. The "Capture Info" dialog box This dialog box will inform you about the number of captured packets and the time since the capture was started.
Note! The Capture Info dialog box might be hidden, if the option "Hide capture info dialog" is used. 2. Using the menu item "Capture/ Stop". 3. Using the toolbar item " Stop". 4. Pressing the accelerator keys: Ctrl+E . 5.
Capturing Live Network Data 76.
Chapter 5. File Input / Output and Printing 5.1. Introduction This chapter will describe input and output of capture data. • Open/Import capture files in various capture file formats • Save/Export.
5.2. Open capture files Ethereal can read in previously saved capture files. To read them, simply select the menu or toolbar item: "File/ Open ". Ethereal will then pop up the File Open dialog box, which is discussed in more detail in Section 5.
With this dialog box, you can perform the following actions: 1. The "+ Add" button allows you to add a directory, selected in the right-hand pane, to the favor- ites (bookmarks?) list.
The following file formats from other capture tools can be opened by Ethereal: • libpcap, tcpdump and various other tools using tcpdump's capture format • Sun snoop and atmsnoop • Shomiti/F.
5.3. Saving captured packets You can save captured packets simply by using the Save As... menu item from the File menu under Ethereal. You can choose which packets to save and which file format to be used.
With this dialog box, you can perform the following actions: 1. Type in the name of the file you wish to save the captured packets in, as a standard file name in your file system. 2. Select the directory to save the file into. 3. Select the range of the packets to be saved, see Section 5.
file and writing it out using a different format. 5. Use "Browse for other folders" to browse files and folders in your file system. 6. Click on the Save button to accept your selected file and save to it. If Ethereal has a problem saving the captured packets to the file you specified, it will display an error dialog box.
5.4. Merging capture files Sometimes you need to merge several capture files into one. For example this can be useful, if you have captured simultaneously from multiple interfaces at once (e.
Prepend packets to existing file Prepend the packets from the selected file before the currently loaded packets. Merge packets chronologically Merge both the packets from the selected and currently loaded file in chronological order. Append packets to existing file Append the packets from the selected file after the currently loaded packets.
5.5. File Sets When using the "Multiple Files" option while doing a capture, the capture data is spreaded over sev- eral capture files, called a file set. Ethereal tries to find the files matching the same filename pattern than the currently loaded file.
5.6. Exporting data Ethereal provides several ways and formats to export packet data. This section describes general ways to export data from Ethereal. Note! There are more specialized functions to export specific data, which will be described at the appropriate places.
Tip! You can easily convert PostScript files to PDF files using ghostscript. For example: export to a file named foo.ps and then call: ps2pdf foo.ps Figure 5.5. The "Export as PostScript File" dialog box • Export to file: frame chooses the file to export the packet data to.
Export packet data into PSML. This is an XML based format including only the packet summary. Figure 5.6. The "Export as PSML File" dialog box • Export to file: frame chooses the file to export the packet data to. • The Packet Range frame is described in Section 5.
• Export to file: frame chooses the file to export the packet data to. • The Packet Range frame is described in Section 5.8, “The Packet Range frame” . There's no such thing as a packet details frame for PDML export, as the packet format is defined by the PDML specification.
• Name: the filename to export the packet data to. • The Save in folder: field lets you select the folder to save to (from some predefined folders).
5.7. Printing packets To print packets, select the "Print..." menu item from the File menu. When you do this, Ethereal pops up the Print dialog box as shown in Figure 5.9, “The "Print" dialog box” . 5.7.1. The "Print" dialog box Figure 5.
• Print command specifies that a command be used for printing. Note! These Print command fields are not available on windows platforms. This field specifies the command to use for printing. It is typically lpr . You would change it to specify a particular queue if you need to print to a queue other than the default.
5.8. The Packet Range frame The packet range frame is a part of various output related dialog boxes. It provides options to select which packets should be processed by the output function. Figure 5.10. The "Packet Range" frame If the Captured button is set (default), all packets from the selected rule will be processed.
5.9. The Packet Format frame The packet format frame is a part of various output related dialog boxes. It provides options to select which parts of a packet should be used for the output function.
File Input / Output and Printing 96.
Chapter 6. Working with captured packets 6.1. Viewing packets you have captured Once you have captured some packets, or you have opened a previously saved capture file, you can view the packets that a.
Figure 6.2. Viewing a packet in a separate window Finally, you can bring up a pop-up menu over either the "Packet List", "Packet Details" or "Packet Bytes" pane by clicking your right mouse button.
Item Lis t De- tail s Byt es Menu Description “Preferences” . Decode As... X X - Analyze . Print... X - - File Print (the selected) packet(s). Show Packet in New Window X - - View Display the selected packet in another window.
Mark Packet (toggle) This menu item is the same as the Edit menu item of the same name. It allows you to mark a packet. Time Reference This menu item is the same as the Edit menu items of the same name. It allows you to set and work with time refer- ences.
Expand Subtrees This menu item expands the currently selected subtree. Expand All This menu item expands all subtrees in all packets in the cap- ture. Collapse All Ethereal keeps a list of all the protocol subtrees that are ex- panded, and uses it to ensure that the correct subtrees are ex- panded when you display a packet.
Copy Copy the selected packet data to the clipboard (XXX - in which format). Export Selected Packet Bytes... This menu item is the same as the File menu item of the same name.
6.2. Filtering packets while viewing Ethereal has two filtering languages: One used when capturing packets, and one used when display- ing packets. In this section we explore that second type of filter: Display filters. The first one has already been dealt with in Section 4.
As you might have noticed, only packets of the TCP protocol are displayed now (e.g. packets 1-10 are hidden). The packet numbering will remain as before, so the first packet shown is now packet number 11. Note! When using a display filter, all packets remain in the capture file.
6.3. Building display filter expressions Ethereal provides a simple but powerful display filter language that you can build quite complex fil- ter expressions with. You can compare values in packets as well as combine expressions into more specific expressions.
English C-like Description and example frame.pkt_len < 128 ge >= Greater than or equal to frame.pkt_len ge 0x100 le <= Less than or equal to frame.pkt_len <= 0x20 In addition, all protocol fields are typed. Table 6.3, “Display Filter Field Types” provides a list of the types and example of how to express them.
Table 6.4. Display Filter Logical Operations English C-like Description and example and && Logical AND ip.addr==10.0.0.5 and tcp.flags.fin or || Logical OR ip.addr==10.0.0.5 or ip.addr==192.1.1.1 xor ^^ Logical XOR tr.dst[0:3] == 0.6.29 xor tr.
English C-like Description and example eth.src[2] == 83 The example above uses the n format to specify a single range. In this case the ele- ment in the sequence at offset n is selected.
6.4. The "Filter Expression" dialog box When you are accustomed to Ethereal's filtering system and know what labels you wish to use in your filters it can be very quick to simply type a filter string.
Value You may enter an appropriate value in the Value text box. The Value will also indicate the type of value for the field name you have selected (like character string). Predefined values Some of the protocol fields have predefined values available, much like enum's in C.
6.5. Defining and saving filters You can define filters with Ethereal and give them labels for later use. This can save time in remem- bering and retyping some of the more complex filters you use. To define a new filter or edit an existing one, select the Capture Filters.
New This button adds a new filter to the list of filters. The currently entered values from Filter name and Filter string will be used. If any of these fields are empty, it will be set to "new". Delete This button deletes the selected filter.
6.6. Finding packets You can easily find packets once you have captured some packets or have read in a previously saved capture file. Simply select the Find Packet... menu item from the Edit menu. Ethereal will pop up the dialog box shown in Figure 6.
You can choose the direction to be searched for: • Up Search upwards in the packet list (decreasing packet numbers). • Down Search downwards in the packet list (increasing packet numbers). 6.6.2. The "Find Next" command "Find Next" will continue searching with the same options like in the last "Find Packet" run.
6.7. Go to a specific packet You can easily jump to specific packets with one of the menu items in the Go menu. 6.7.1. The "Go Back" command Go back in the packet history, works much like the page history in current web browsers.
6.8. Marking packets You can mark packets in the "Packet List" pane. A marked packet will be shown with black back- ground, regardless of the coloring rules set. Marking a packet can be useful to find it later while ana- lyzing in a large capture file.
6.9. Time display formats and time references While packets are captured, each packet is timestamped. These timestamps will be saved to the cap- ture file, so they will be available for later analysis. When the packets are displayed, the presentation of these timestamps can be chosen by the user.
A time referenced packet will be marked with the string *REF* in the Time column (see packet number 10). All subsequent packets will show the time since the last time reference.
Working with captured packets 119.
Chapter 7. Advanced Features 7.1. Introduction In this chapter some advanced features of Ethereal will be described. 120.
7.2. Following TCP streams There will be occasions when you would like to see the data from a TCP session in the order that the application layer sees it. Perhaps you are looking for passwords in a Telnet stream, or you are trying to make sense of a data stream.
You can then choose to view the data in one of the following formats: 1. ASCII . In this view you see the data from each end in ASCII, but alternating according to when each end sent data. Unfortunately, non-printing characters do not print. 2. EBCDIC .
7.3. Packet Reassembling 7.3.1. What is it? Often network protocols needs to transport large chunks of data, which are complete in itself, e.g. when transferring a file.
7.4. Name Resolution Name resolution tries to resolve some of the numerical address values to human readable names. There are two possible ways to do this conversations, depending on the resolution to be done: call- ing system/network services (like the gethostname function) and/or evaluate from Ethereal specific configuration files.
Enabling network name resolution when your name server is unavailable may signific- antly slow down Ethereal while it waits for all of the name server requests to time out. Use ADNS in that case. DNS vs. ADNS here's a short comparison: Both mechanisms are used to convert an IP address to some human readable (domain) name.
Advanced Features 126.
Chapter 8. Statistics 8.1. Introduction Ethereal provides a wide range of network statistics. These statistics range from general information about the loaded capture file (like the number of captured packets), to statistics about specific protocols (e.
8.2. The "Summary" window General statistics about the current capture file. Figure 8.1. The "Summary" window Statistics 128.
• File general information about the capture file. • Time the timestamps when the first and the last packet were capturing (and the time between them). • Capture information from the time when the capture was done (only available if the packet data was captured from the network and not loaded from a file).
8.3. The "Protocol Hierarchy" window The protocol hierarchy of the captured packets. Figure 8.2. The "Protocol Hierarchy" window This is a tree of all the protocols in the capture. You can collapse or expand subtrees, by clicking on the plus / minus icons.
Note! Packets will usually contain multiple protocols, so more than one protocol will be counted for each packet. Example: In the screenshot IP has 99,17% and TCP 85,83% (which is together much more than 100%). Note! A single packet can contain the same protocol more than once.
8.4. Endpoints Statistics of the endpoints captured. Tip! If you are looking for a feature other network tools call a hostlist , here is the right place to look.
For each supported protocol, a tab is shown in this window. The tab labels shows the number of en- dpoints captured (e.g. the tab label "Ethernet: 5" tells you that five ethernet endpoints have been captured).
8.5. Conversations Statistics of the captured conversations. 8.5.1. What is a Conversation? A network conversation is the traffic between two specific endpoints. For example, an IP conversa- tion is all the traffic between two IP addresses. The description of the known endpoint types can be found in Section 8.
8.6. The "IO Graphs" window User configurable graph of the captured network packets. You can define up to five differently colored graphs. Figure 8.
• Unit the unit for the y direction (Packets/Tick, Bytes/Tick, Advanced...) • Scale the scale for the y unit (10,20,50,100,200,500,...) XXX - describe the Advanced feature.
8.7. Service Response Time The service response time is the time between a request and the corresponding response. This in- formation is available for many protocols. Service response time statistics are currently available for the following protocols: • DCE-RPC • Fibre Channel • H.
Figure 8.7. The "DCE-RPC Statistic for ..." window Each row corresponds to a method of the interface selected (so the EPM interface in version 3 has 7 methods). For each method the number of calls, and the statistics of the SRT time is calculated.
8.8. The protocol specific statistics windows The protocol specific statistics windows display detailed information of specific protocols and might be described in a later version of this document. Some of these statistics are described at the http://wiki.
Statistics 140.
Chapter 9. Customizing Ethereal 9.1. Introduction Ethereal's default behaviour will usually suit your needs pretty well. However, as you become more familiar with Ethereal, it can be customized in various ways to suit your needs even better.
9.2. Start Ethereal from the command line You can start Ethereal from the command line, but it can also be started from most Window man- agers as well. In this section we will look at starting it from the command line. Ethereal supports a large number of command line parameters.
on the creation date and time. When the first capture file fills up, Ethereal will switch to writing to the next file, until it fills up the last file, at which point it'll discard the data in the first file (unless 0 is spe- cified, in which case, the number of files is unlimited) and start writing to that file and so on.
-m <font> This option sets the name of the font used for most text dis- played by Ethereal. XXX - add an example! -n Disable network object name resolution (such as hostname, TCP and UDP port names).
data for each packet. -S This option specifies that Ethereal will display packets as it captures them. This is done by capturing in one process and displaying them in a separate process. This is the same as "Up- date list of packets in real time" in the Capture Options dialog box.
9.3. Packet colorization A very useful mechanism available in Ethereal is packet colorization. You can set-up Ethereal so that it will colorize packets according to a filter.
In the Edit Color dialog box, simply enter a name for the color filter, and enter a filter string in the Filter text field. Figure 9.2, “The "Edit Color Filter" dialog box” shows the values arp and arp which means that the name of the color filter is arp and the filter will select protocols of type arp .
Figure 9.4, “Using color filters with Ethereal” shows an example of several color filters being used in Ethereal. You may not like the color choices, however, feel free to choose your own.
9.4. Control Protocol dissection The user can control how protocols are dissected. Each protocol has its own dissector, so dissecting a complete packet will typically involve several dissectors.
To disable or enable a protocol, simply click on it using the mouse or press the space bar when the protocol is highlighted. Warning! You have to use the Save button to save your settings. The OK or Apply buttons will not save your changes permanently, so they will be lost when Ethereal is closed.
5. Apply Apply the changes and keep the dialog box open. 6. Save Save the settings to the disabled_protos, see Appendix A, Configuration (and other) Files and Folders for details.
dialog box was opened. 4. Show Current Open a dialog box showing the current list of user specified decodes. 5. OK Apply the currently selected decode and close the dialog box. 6. Apply Apply the currently selected decode and keep the dialog box open.
9.5. Preferences There are a number of preferences you can set. Simply select the Preferences... menu item from the Edit menu, and Ethereal will pop up the Preferences dialog box as shown in Figure 9.8, “The prefer- ences dialog box” , with the "User Interface" page as default.
Customizing Ethereal 154.
Customizing Ethereal 155.
Appendix A. Configuration (and other) Files and Folders Ethereal uses a number of files and folders while it is running. Some of these reside in the personal configuration folder and are used to maintain information between runs of Ethereal, while some of them are maintained in system areas.
File/Folder Description Unix/Linux folders Windows folders temp Temporary files. Environment: TMPDIR Environment: TMPDIR or TEMP Windows folders %APPDATA% points to the personal configuration folder, typically C:Documents and Settings<username>Application Data (for further details, have a look at Section A.
written to disk when you press the Save button in the "Dis- play Filters" dialog box. colorfilters This file contains all the color filters that you have defined and saved.
hosts Ethereal uses the files listed in Table A.1, “Configuration files and folders overview” to translate IPv4 and IPv6 ad- dresses into names. This file has the same format as the usual /etc/hosts file in unix systems. An example is: # Comments must be prepended by the # sign! 192.
95/98/ME The default in Windows 95/98/ME is: all users work with the same profile, which is located at: C:windowsApplication DataEthereal 98/ME (with enabled user pro- files) In Windows 98 and ME you can enable separate user profiles. In that case, something like: C:windowsProfiles<username>Applicatio n DataEthereal is used.
Configuration (and other) Files and Folders 161.
Appendix B. Protocols and Protocol Fields Ethereal distinguishes between protocols (e.g. tcp) and protocol fields (e.g. tcp.port). A comprehensive list of all protocols and protocol fields can be found at: ht- tp://www.
Appendix C. Related command line tools C.1. Introduction Beside the Ethereal GUI application, there are some command line tools, which can be helpful for doing some more specialized things.
C.2. tcpdump: Capturing with tcpdump for viewing with Ethereal There are occasions when you want to capture packets using tcpdump rather than ethereal , espe- cially when you want to do a remote capture and do not want the network load associated with run- ning Ethereal remotely (not to mention all the X traffic polluting your capture).
C.3. tethereal: Terminal-based Ethereal Tethereal is a terminal oriented version of ethereal designed for capturing and displaying packets when an interactive user interface isn't necessary or available. It supports the same options as ether- eal .
C.4. capinfos: Print information about capture files Included with Ethereal is a small utility called capinfos , which is a command-line utility to print in- formation about binary capture files.
C.5. editcap: Edit capture files Included with Ethereal is a small utility called editcap , which is a command-line utility for working with capture files. Its main function is to remove packets from capture files, but it can also be used to convert capture files from one format to another, as well as print information about capture files.
ieee-802-11-radiotap - IEEE 802.11 plus radiotap WLAN header ieee-802-11-avs - IEEE 802.11 plus AVS WLAN header linux-sll - Linux cooked-mode capture frelay - Frame Relay frelay-with-direction - Frame Relay with Directional Info chdlc - Cisco HDLC ios - Cisco IOS internal ltalk - Localtalk pflog-old - OpenBSD PF Firewall logs, pre-3.
-h This option provides help. -v This option specifies verbose operation. The default is silent operation. -T {encap type} This option specifies the frame encapsulation type to use. It is mainly for converting funny captures to something that Ethereal can deal with.
C.6. mergecap: Merging multiple capture files into one Mergecap is a program that combines multiple saved capture files into a single output file specified by the -w argument. Mergecap knows how to read libpcap capture files, including those of tcpdump.
rawip - Raw IP arcnet - ARCNET arcnet_linux - Linux ARCNET atm-rfc1483 - RFC 1483 ATM linux-atm-clip - Linux ATM CLIP lapb - LAPB atm-pdus - ATM PDUs atm-pdus-untruncated - ATM PDUs - untruncated null.
ngwsniffer_1_1 - Network Associates Sniffer (Windows-based) 1.1 ngwsniffer_2_0 - Network Associates Sniffer (Windows-based) 2.00x visual - Visual Networks traffic capture 5views - Accellent 5Views capture niobserverv9 - Network Instruments Observer version 9 default is libpcap -h Prints the version and options and exits.
C.7. text2pcap: Converting ASCII hexdumps to network captures There may be some occasions when you wish to convert a hex dump of some network traffic into a libpcap file. Text2pcap is a program that reads in an ASCII hex dump and writes the data described into a libp- cap-style capture file.
where <input-filename> specifies input filename (use - for standard input) <output-filename> specifies output filename (use - for standard output) [options] are one or more of the following -h : Display this help message -d : Generate detailed debug of parser states -o hex|oct : Parse offsets as (h)ex or (o)ctal.
-e l3pid Include a dummy Ethernet header before each packet. Specify the L3PID for the Ethernet header in hex. Use this option if your dump has Layer 3 header and payload (e.g. IP header), but no Layer 2 en- capsulation. Example: -e 0x806 to specify an ARP packet.
C.8. idl2eth: Creating dissectors from Corba IDL files In an ideal world idl2eth would be mentioned in the users guide in passing and documented in the developers guide. As the developers guide has not yet been completed it will be documented here. C.
Procedure for converting a Corba idl file into an ethereal dissector 1. To write the C code to stdout. idl2eth <your file.idl> eg: idl2eth echo.idl 2.
1. Exception code not generated (yet), but can be added manually. 2. Enums not converted to symbolic values (yet), but can be added manually. 3. Add command line options etc 4. More I am sure :-) C.8.5. Limitations See the TODO list inside packet-giop.
Related command line tools 179.
Appendix D. This Document's License (GPL) As with the original licence and documentation distributed with Ethereal, this document is covered by the GNU General Public Licence (GNU GPL). If you haven't read the GPL before, please do so. It explains all the things that you are allowed to do with this code and documentation.
patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs.
Un point important après l'achat de l'appareil (ou même avant l'achat) est de lire le manuel d'utilisation. Nous devons le faire pour quelques raisons simples:
Si vous n'avez pas encore acheté Lucent Technologies Ethereal c'est un bon moment pour vous familiariser avec les données de base sur le produit. Consulter d'abord les pages initiales du manuel d'utilisation, que vous trouverez ci-dessus. Vous devriez y trouver les données techniques les plus importants du Lucent Technologies Ethereal - de cette manière, vous pouvez vérifier si l'équipement répond à vos besoins. Explorant les pages suivantes du manuel d'utilisation Lucent Technologies Ethereal, vous apprendrez toutes les caractéristiques du produit et des informations sur son fonctionnement. Les informations sur le Lucent Technologies Ethereal va certainement vous aider à prendre une décision concernant l'achat.
Dans une situation où vous avez déjà le Lucent Technologies Ethereal, mais vous avez pas encore lu le manuel d'utilisation, vous devez le faire pour les raisons décrites ci-dessus,. Vous saurez alors si vous avez correctement utilisé les fonctions disponibles, et si vous avez commis des erreurs qui peuvent réduire la durée de vie du Lucent Technologies Ethereal.
Cependant, l'un des rôles les plus importants pour l'utilisateur joués par les manuels d'utilisateur est d'aider à résoudre les problèmes concernant le Lucent Technologies Ethereal. Presque toujours, vous y trouverez Troubleshooting, soit les pannes et les défaillances les plus fréquentes de l'apparei Lucent Technologies Ethereal ainsi que les instructions sur la façon de les résoudre. Même si vous ne parvenez pas à résoudre le problème, le manuel d‘utilisation va vous montrer le chemin d'une nouvelle procédure – le contact avec le centre de service à la clientèle ou le service le plus proche.