- •Table of Contents
- •Foreword
- •Acknowledgments
- •Chapter 1. Introduction
- •About this manual
- •What is Ethereal?
- •The status of Ethereal
- •Development and maintenance of Ethereal
- •A rose by any other name
- •A brief history of Ethereal
- •Platforms Ethereal runs on
- •Where to get Ethereal
- •Reporting problems and getting help
- •Where to get the latest copy of this document
- •Providing feedback
- •Chapter 2. Building and Installing Ethereal
- •Introduction
- •Obtaining the source and binary distributions
- •Before you build Ethereal
- •Building from Source under UNIX
- •Installing the binaries under UNIX
- •Installing from RPMs under Linux
- •Installing from debs under Debian
- •Building from source under Windows
- •Installing Ethereal under Windows
- •Troubleshooting during the install
- •Chapter 3. Using Ethereal
- •Introduction
- •Starting Ethereal
- •The Ethereal menus
- •The Ethereal File menu
- •The Ethereal Edit menu
- •The Ethereal Capture menu
- •The Ethereal Display menu
- •The Ethereal Tools menu
- •The Ethereal Help menu
- •Capturing packets with Ethereal
- •The Capture Preferences dialog box
- •Filtering while capturing
- •Viewing packets you have captured
- •Display Options
- •Saving captured packets
- •The Save Capture File As dialog box
- •The File Open dialog box
- •Filtering packets while viewing
- •Comparing values
- •Combining expressions
- •Packet colorization
- •Finding frames
- •Following TCP streams
- •The Add Expression Dialog
- •Printing packets
- •Ethereal preferences
- •Files used by Ethereal
- •Chapter 4. Troubleshooting with Ethereal
- •An approach to troubleshooting with Ethereal
- •Capturing in the presence of switches and routers
- •Examples of troubleshooting
- •Chapter 5. Related tools
- •Capturing with tcpdump for viewing with Ethereal
- •Using editcap
- •Converting ASCII hexdumps to network captures with text2pcap
- •What is it?
- •Why do this?
- •TODO
- •Limitations
- •Notes
- •Appendix A. Ethereal Display Filter Fields
- •802.1q Virtual LAN (vlan)
- •802.1x Authentication (eapol)
- •AOL Instant Messenger (aim)
- •ATM LAN Emulation (lane)
- •Address Resolution Protocol (arp)
- •Aggregate Server Access Protocol (asap)
- •Andrew File System (AFS) (afs)
- •Apache JServ Protocol v1.3 (ajp13)
- •AppleTalk Filing Protocol (afp)
- •AppleTalk Session Protocol (asp)
- •AppleTalk Transaction Protocol packet (atp)
- •Appletalk Address Resolution Protocol (aarp)
- •Async data over ISDN (V.120) (v120)
- •Authentication Header (ah)
- •BACnet Virtual Link Control (bvlc)
- •Banyan Vines (vines)
- •Blocks Extensible Exchange Protocol (beep)
- •Boot Parameters (bootparams)
- •Bootstrap Protocol (bootp)
- •Border Gateway Protocol (bgp)
- •Building Automation and Control Network APDU (bacapp)
- •Building Automation and Control Network NPDU (bacnet)
- •Cisco Discovery Protocol (cdp)
- •Cisco Group Management Protocol (cgmp)
- •Cisco HDLC (chdlc)
- •Cisco Hot Standby Router Protocol (hsrp)
- •Cisco ISL (isl)
- •Cisco Interior Gateway Routing Protocol (igrp)
- •Cisco SLARP (slarp)
- •CoSine IPNOS L2 debug output (cosine)
- •Common Open Policy Service (cops)
- •Common Unix Printing System (CUPS) Browsing Protocol (cups)
- •DCE RPC (dcerpc)
- •DCE/RPC Conversation Manager (conv)
- •DCE/RPC Endpoint Mapper (epm)
- •DCE/RPC Remote Management (mgmt)
- •DCOM OXID Resolver (oxid)
- •DCOM Remote Activation (remact)
- •DHCPv6 (dhcpv6)
- •Data (data)
- •Data Link SWitching (dlsw)
- •Data Stream Interface (dsi)
- •Datagram Delivery Protocol (ddp)
- •Diameter Protocol (diameter)
- •Distance Vector Multicast Routing Protocol (dvmrp)
- •Distributed Checksum Clearinghouse Prototocl (dccp)
- •Domain Name Service (dns)
- •Dynamic DNS Tools Protocol (ddtp)
- •Encapsulating Security Payload (esp)
- •Enhanced Interior Gateway Routing Protocol (eigrp)
- •Ethernet (eth)
- •Extensible Authentication Protocol (eap)
- •Fiber Distributed Data Interface (fddi)
- •File Transfer Protocol (FTP) (ftp)
- •Frame (frame)
- •Frame Relay (fr)
- •GARP Multicast Registration Protocol (gmrp)
- •GARP VLAN Registration Protocol (gvrp)
- •GPRS Tunneling Protocol (gtp)
- •GPRS Tunnelling Protocol v0 (gtpv0)
- •GPRS Tunnelling Protocol v1 (gtpv1)
- •Generic Routing Encapsulation (gre)
- •Gnutella Protocol (gnutella)
- •Hummingbird NFS Daemon (hclnfsd)
- •Hypertext Transfer Protocol (http)
- •ICQ Protocol (icq)
- •IEEE 802.11 wireless LAN (wlan)
- •ILMI (ilmi)
- •IP Payload Compression (ipcomp)
- •IPX Message (ipxmsg)
- •IPX Routing Information Protocol (ipxrip)
- •ISDN User Part (isup)
- •ISO 8473 CLNP ConnectionLess Network Protocol (clnp)
- •ISO 8602 CLTP ConnectionLess Transport Protocol (cltp)
- •ISO 9542 ESIS Routeing Information Exchange Protocol (esis)
- •Internet Cache Protocol (icp)
- •Internet Content Adaptation Protocol (icap)
- •Internet Control Message Protocol (icmp)
- •Internet Control Message Protocol v6 (icmpv6)
- •Internet Group Management Protocol (igmp)
- •Internet Message Access Protocol (imap)
- •Internet Printing Protocol (ipp)
- •Internet Protocol (ip)
- •Internet Protocol Version 6 (ipv6)
- •Internet Relay Chat (irc)
- •Internet Security Association and Key Management Protocol (isakmp)
- •Internetwork Packet eXchange (ipx)
- •Java RMI (rmi)
- •Java Serialization (serialization)
- •Kerberos (kerberos)
- •Kernel Lock Manager (klm)
- •Label Distribution Protocol (ldp)
- •Layer 2 Tunneling Protocol (l2tp)
- •Lightweight Directory Access Protocol (ldap)
- •Line Printer Daemon Protocol (lpd)
- •Link Access Procedure Balanced (LAPB) (lapb)
- •Link Access Procedure Balanced Ethernet (LAPBETHER) (lapbether)
- •Link Access Procedure, Channel D (LAPD) (lapd)
- •Link Aggregation Control Protocol (lacp)
- •Link Management Protocol (LMP) (lmp)
- •Local Management Interface (lmi)
- •LocalTalk Link Access Protocol (llap)
- •Lucent/Ascend debug output (ascend)
- •MMS Message Encapsulation (mmse)
- •MS Proxy Protocol (msproxy)
- •MTP 2 Transparent Proxy (m2tp)
- •MTP 2 User Adaptation Layer (m2ua)
- •MTP 3 User Adaptation Layer (m3ua)
- •MTP2 Peer Adaptation Layer (m2pa)
- •Malformed Packet (malformed)
- •Message Transfer Part Level 2 (mtp2)
- •Message Transfer Part Level 3 (mtp3)
- •Microsoft Distributed File System (dfs)
- •Microsoft Exchange MAPI (mapi)
- •Microsoft Local Security Architecture (lsa)
- •Microsoft Registry (winreg)
- •Microsoft Security Account Manager (samr)
- •Microsoft Server Service (srvsvc)
- •Microsoft Spool Subsystem (spoolss)
- •Microsoft Telephony API Service (tapi)
- •Microsoft Windows Browser Protocol (browser)
- •Microsoft Windows Lanman Remote API Protocol (lanman)
- •Microsoft Windows Logon Protocol (netlogon)
- •Microsoft Workstation Service (wkssvc)
- •Mobile IP (mip)
- •Modbus/TCP (mbtcp)
- •Mount Service (mount)
- •MultiProtocol Label Switching Header (mpls)
- •Multicast Router DISCovery protocol (mrdisc)
- •Multicast Source Discovery Protocol (msdp)
- •NFSACL (nfsacl)
- •NFSAUTH (nfsauth)
- •NIS+ (nisplus)
- •NIS+ Callback (nispluscb)
- •NSPI (nspi)
- •NTLM Secure Service Provider (ntlmssp)
- •Name Binding Protocol (nbp)
- •Name Management Protocol over IPX (nmpi)
- •NetBIOS (netbios)
- •NetBIOS Datagram Service (nbdgm)
- •NetBIOS Name Service (nbns)
- •NetBIOS Session Service (nbss)
- •NetBIOS over IPX (nbipx)
- •NetWare Core Protocol (ncp)
- •Network Data Management Protocol (ndmp)
- •Network File System (nfs)
- •Network Lock Manager Protocol (nlm)
- •Network News Transfer Protocol (nntp)
- •Network Status Monitor CallBack Protocol (statnotify)
- •Network Status Monitor Protocol (stat)
- •Network Time Protocol (ntp)
- •Null/Loopback (null)
- •Open Shortest Path First (ospf)
- •PC NFS (pcnfsd)
- •PPP Bandwidth Allocation Control Protocol (bacp)
- •PPP Bandwidth Allocation Protocol (bap)
- •PPP Callback Control Protocol (cbcp)
- •PPP Challenge Handshake Authentication Protocol (chap)
- •PPP Compression Control Protocol (ccp)
- •PPP IP Control Protocol (ipcp)
- •PPP Link Control Protocol (lcp)
- •PPP Multilink Protocol (mp)
- •PPP Multiplexing (pppmux)
- •PPP Password Authentication Protocol (pap)
- •PPP VJ Compression (vj)
- •PPPMux Control Protocol (pppmuxcp)
- •Portmap (portmap)
- •Pragmatic General Multicast (pgm)
- •Prism (prism)
- •Protocol Independent Multicast (pim)
- •Quake II Network Protocol (quake2)
- •Quake III Arena Network Protocol (quake3)
- •Quake Network Protocol (quake)
- •QuakeWorld Network Protocol (quakeworld)
- •RFC 2250 MPEG1 (mpeg1)
- •RIPng (ripng)
- •RSTAT (rstat)
- •RX Protocol (rx)
- •Radio Access Network Application Part (ranap)
- •Radius Protocol (radius)
- •Raw packet data (raw)
- •Real Time Streaming Protocol (rtsp)
- •Remote Procedure Call (rpc)
- •Remote Quota (rquota)
- •Remote Shell (rsh)
- •Remote Wall protocol (rwall)
- •Resource ReserVation Protocol (RSVP) (rsvp)
- •Rlogin Protocol (rlogin)
- •Routing Information Protocol (rip)
- •Routing Table Maintenance Protocol (rtmp)
- •SADMIND (sadmind)
- •SCSI (scsi)
- •SMB (Server Message Block Protocol) (smb)
- •SMB MailSlot Protocol (mailslot)
- •SMB Pipe Protocol (pipe)
- •SNMP Multiplex Protocol (smux)
- •SPRAY (spray)
- •SSCOP (sscop)
- •Secure Socket Layer (ssl)
- •Sequenced Packet eXchange (spx)
- •Service Advertisement Protocol (ipxsap)
- •Service Location Protocol (srvloc)
- •Session Announcement Protocol (sap)
- •Session Description Protocol (sdp)
- •Session Initiation Protocol (sip)
- •Short Frame (short)
- •Short Message Peer to Peer (smpp)
- •Signalling Connection Control Part (sccp)
- •Simple Mail Transfer Protocol (smtp)
- •Simple Network Management Protocol (snmp)
- •Sinec H1 Protocol (h1)
- •Skinny Client Control Protocol (skinny)
- •SliMP3 Communication Protocol (slimp3)
- •Socks Protocol (socks)
- •Spanning Tree Protocol (stp)
- •Stream Control Transmission Protocol (sctp)
- •Syslog message (syslog)
- •Systems Network Architecture (sna)
- •TACACS (tacacs)
- •TACACS+ (tacplus)
- •TPKT (tpkt)
- •Telnet (telnet)
- •Time Protocol (time)
- •Time Synchronization Protocol (tsp)
- •Transmission Control Protocol (tcp)
- •Transparent Network Substrate Protocol (tns)
- •Trivial File Transfer Protocol (tftp)
- •Universal Computer Protocol (ucp)
- •Unreassembled Fragmented Packet (unreassembled)
- •User Datagram Protocol (udp)
- •Virtual Router Redundancy Protocol (vrrp)
- •Virtual Trunking Protocol (vtp)
- •Web Cache Coordination Protocol (wccp)
- •X Display Manager Control Protocol (xdmcp)
- •X.25 over TCP (xot)
- •Xyplex (xyplex)
- •Yahoo Messenger Protocol (yhoo)
- •Yellow Pages Bind (ypbind)
- •Yellow Pages Passwd (yppasswd)
- •Yellow Pages Service (ypserv)
- •Yellow Pages Transfer (ypxfr)
- •Zebra Protocol (zebra)
- •Zone Information Protocol (zip)
- •iSCSI (iscsi)
- •Appendix B. Ethereal Error Messages
- •Appendix C. The GNU Free Document Public Licence
- •Copyright
- •Preamble
- •Verbatim Copying
- •Copying in Quantity
- •Combining Documents
- •Collections of Documents
- •Aggregation with Independent Works
- •Translation
- •Termination
- •Future Revisions of this License
Chapter 3. Using Ethereal
Enable transport name resolution
This radio button allows you to control whether or not Ethereal translates port numbers into protocols.
Once you have set the values you desire and have selected the radio buttons you need, simply click on OK to commence the capture, or Cancel to cancel the capture.
If you start a capture, Ethereal pops up a dialog box that shows you the progress of the capture and allows you to stop capturing when you have enough packets captured.
Filtering while capturing
Ethereal uses the libpcap filter language for capture filters. This is explained in the tcpdump man page. If you can understand it, you are a better man that I am, Gunga Din!
You enter the capture filter into the Filter field of the Ethereal Capture Preferences dialog box, as shown in Figure 3-9. The following is an outline of the syntax of the tcpdump capture filter language.
A capture filter takes the form of a series of primitive expressions connected by conjuctions (and/or) and optionally preceeded by not:
[not] primitive [and|or [not] primitive ...]
An example is shown in Example 3-2.
Example 3-2. A capture filter for telnet than captures traffic to and from a particular host
tcp port 23 and host 10.0.0.5
This example captures telnet traffic to and from the host 10.0.0.5, and shows how to use two primitives and the and conjunction. Another example is shown in Example 3-3, and shows how to capture all telnet traffic except that from 10.0.0.5.
Example 3-3. Capturing all telnet traffic not from 10.0.0.5
tcp port 23 and not host 10.0.0.5
A primitive is simply one of the following:
57
Chapter 3. Using Ethereal
[src|dst] host <host>
This primitive allows you to filter on a host IP address or name. You can optionally preceed the primitive with the keyword src|dst to specify that you are only interested in source or destination addresses. If these are not present, packets where the specified address appears as either the source or the destination address will be selected.
ether [src|dst] host <ehost>
This primitive allows you to filter on Ethernet host addresses. You can optionally includethe keyword src|dst between the keywords ether and host to specify that you are only interested 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.
gateway host <host>
This primitive allows you to filter on packets that used host as a gateway. That is, where the Ethernet source or destination was host but neither the source nor destination IP address was host.
[src|dst] net <net> [{mask <mask>}|{len <len>}]
This primitive allows you to filter on network numbers. You can optionally preceed this primitive with the keyword src|dst to specify that you are only interested in a source or destination network. If neither of these are present, packets will be selected that have the specified network in either the source or destination address. In addition, you can specify either the netmask or the CIDR prefix for the network if they are different from your own.
[tcp|udp] [src|dst] port <port>
This primitive allows you to filter on TCP and UDP port numbers. You can optionally preceed this primitive with the keywords src|dst and tcp|udp which allow you to specify that you are only interested in source or destination ports and TCP or UDP packets respectively. The keywords tcp|udp must appear before src|dst.
If these are not specified, packets will be selected for both the TCP and UDP protocols and when the specified address appears in either the source or destination port field.
less|greater <length>
This primitive allows you to filter on packets whose length was less than or equal to the specified length, or greater than or equal to the specified length, respectively.
ip|ether proto <protocol>
This primitive allows you to filter on the specified protocol at either the Ethernet layer or the IP layer.
58
Chapter 3. Using Ethereal
ether|ip broadcast|multicast
This primitive allows you to filter on either Ethernet or IP broadcasts or multicasts.
<expr> relop <expr>
This primitive allows you to create complex filter expressions that select bytes or ranges of bytes in packets. Please see the tcpdump man pages for more details.
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 are displayed in the packet list pane by simply clicking on that packet in the packet list pane, which will bring up the selected packet in the tree view and byte view panes.
You can then expand any part of the tree view by clicking on the plus sign to the left of that part of the payload, and you can select individual fields by clicking on them in the tree view pane. An example with a TCP segment selected is shown in Figure 3-10. It also has the Acknowledgment number in the TCP header selected, which shows up in the byte view as the selected bytes.
59
Chapter 3. Using Ethereal
Figure 3-10. Ethereal with a TCP segment selected for viewing
You can also select and view packets when Ethereal is capturing if you selected "Update list of packets in real time" in the Ethereal Capture Preferences dialog box.
In addition, you can view individual packets in a separate window as shown in Figure 3-11. Do this by selecting the packet you are interested in in the packet list pane, and then select "Show Packet in New Windows" from the Display menu. This allows you to easily compare two or more packets.
60
Chapter 3. Using Ethereal
Figure 3-11. Viewing a packet in a separate window
Finally, you can bring up a pop-up menu over either the packet list pane or the tree view pane by clicking your right mouse button. The menus that is popped up contains the following items:
61
Chapter 3. Using Ethereal
Figure 3-12. Packet Pane pop-up menu
Follow TCP Stream
This menu item is the same as the Display menu item of the same name. It allows you to view all the data on a TCP stream between a pair of nodes.
Decode As...
This menu item is the same as the Display menu item of the same name.
Display Filters...
This menu item is the same as the Edit menu item of the same name. It allows you to specify and manage filters.
Colorize Display...
This menu item is the same as the Display menu item of the same name. It allows you to colorize packets in the packet list pane.
Print...
This menu item is the same as the File menu item of the same name. It allows you to print packets.
Print Packet
This menu item is the same as the File menu item of the same name. It allows you to print the currently selected packet.
62
Chapter 3. Using Ethereal
Show Packet in New Window
This menu item is the same as the Display menu item of the same name. It allows you to display the selected packet in another window.
Figure 3-13. Treeview Pane pop-up menu
Follow TCP Stream
This menu item is the same as the Display menu item of the same name. It allows you to view all the data on a TCP stream between a pair of nodes.
Decode As...
This menu item is the same as the Display menu item of the same name.
Display Filters...
This menu item is the same as the Edit menu item of the same name. It allows you to specify and manage filters.
Resolve Name
This menu item causes name resolution to be performed for the selected packet, but NOT every packet in the capture.
63