- •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 1. Introduction
•Token-Ring
•Token-Ring Media Access Control
•Transmission Control Protocol
•Transparent Network Substrate Protocol
•Trivial File Transfer Protocol
•Universal Computer Protocol
•Unreassembled Fragmented Packet
•User Datagram Protocol
•Virtual Router Redundancy Protocol
•Virtual Trunking Protocol
•Web Cache Coordination Protocol
•Wellfleet Compression
•Who
•Wireless Session Protocol
•Wireless Transaction Protocol
•Wireless Transport Layer Security
•X Display Manager Control Protocol
•X.25
•X.25 over TCP
•X11
•Xyplex
•Yahoo Messenger Protocol
•Yellow Pages Bind
•Yellow Pages Passwd
•Yellow Pages Service
•Yellow Pages Transfer
•Zebra Protocol
•Zone Information Protocol
•iSCSI
The status of Ethereal
Ethereal is an open source software project, and is released under the Gnu Public Licence3 (GPL). All source code is freely available under the GPL. You are welcome to modify Ethereal to suit your own needs, and it would be appreciated if you contribute your improvements back to the Ethereal team.
You gain two benefits by contributing your improvements back to the community:
26
Chapter 1. Introduction
•Other people who find your contributions useful will appreciate them, and you will know that you have helped people in the same way that the developers of Ethereal have helped people
•The maintainers and developers of Ethereal will maintain your code as well, fixing it when API changes or other changes are made, and generally keeping it in tune with what is happening with Ethereal.
The Ethereal source code and binary kits for some platforms are all available on the Ethereal website: http://www.ethereal.com4.
Development and maintenance of Ethereal
Ethereal was initially developed by Gerald Combs. Ongoing development and maintenance of Ethereal is handled by the Ethereal team, a loose group of individuals who fix bugs and provide new functionality.
There have also been a large number of people who have contributed protocol dissectors to Ethereal, and it is expected that this will continue. You can find a list of the people who have contributed code to Ethereal at the authors5 link on the web site.
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, insubstantial, etc.
You are welcome to call it what you like, as long as you find it useful.
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.2.0. Within days, patches, bug reports, and words of encouragement started arriving, so Ethereal was on its way to success.
Not long after that Gilbert Ramirez saw its potential and contributed a low-level dissector to it.
In October, 1998, Guy Harris, of NetApp was looking for something better than TCPview, so he started applying patches and contributing dissectors to Ethereal.
In late 1998, Richard Sharpe, who was giving TCP/IP courses, saw its potential on such courses, started looking at it to see if it supported the protocols he needed. While it didn’t at that point, new protocols could be easily added. So he started contributing dissectors and contributing patches.
27
Chapter 1. Introduction
The list of people who have contributed to Ethereal is long, and almost all of them started with a protocol that they needed that Ethereal did not already handle, so they copied an existing dissector and contributed the code back to the team. You can get a list of the people who have contributed by checking the man pages for ethereal, or from the website (http://www.ethereal.com6).
Platforms Ethereal runs on
Ethereal currently runs on most UNIX platforms and the various Windows platforms. It requires GTK+, GLIB and libpcap in order to run.
Binary packages are available for at least the following platforms:
•AIX
•Tru64 UNIX (formerly Digital UNIX)
•Debian GNU/Linux
•Slackware Linux
•Red Hat Linux
•FreeBSD
•NetBSD
•OpenBSD
•HP/UX
•Sparc/Solaris 8
•Windows 2000, Windows NT and Windows Me/98/95
If a binary package is not available for your platform, you should download the source and try to build it.
Where to get Ethereal
You can get the latest copy of the Ethereal from the Ethereal Website: http://www.ethereal.com7. The website allows you to choose from among several mirrors for downloading.
Reporting problems and getting help
If you have problems, or need help with Ethereal, there are several mailing lists that may be of interest to you:
Ethereal Users
This list is for users of Ethereal. People post with questions about building and using Ethereal. Others provide answers.
28
Chapter 1. Introduction
Ethereal Announce
This list is for people wanting to receive announcements about Ethereal.
Ethereal Dev
This list is for Ethereal developers. If you want to start developing a protocol dissector, join this list.
You can subscribe to each of these from the Ethereal web site: http://www.ethereal.com8. Simply select the mailing lists link on the left hand side of the site. The lists are archived at the Ethereal web site as well.
When reporting crashes with Ethereal, it is helpful if you supply the following information:
1.The version number of Ethereal you found the problem with, eg Ethereal 0.8.10.
2.The version number of the other software linked with Ethereal, eg GTK+, etc. You can obtain this with the command ethereal -v.
3.A traceback if Ethereal crashed. You can obtain this with the following commands:
$ gdb ‘whereis ethereal | cut -f2 -d: | cut -f’ ’ -d2‘ core >& backtrace.tx backtrace
^D
$
Note: Type the characters in the first line verbatim! Those are back-tics there!
Note: backtrace is a gdb command. You should enter it verbatim after the first line shown above. 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 backtrace.txt in the current directory. Include the file with your bug report.
Note: If you do not have gdb available, you will have to check out your operating system’s debugger. Windows users might not be able to get a traceback.
You should mail the traceback to the ethereal-dev mailing list.
Where to get the latest copy of this document
The latest copy of this documentation can always be found at:
http://www.ns.aus.com/ethereal/user-guide/book1.html9; and at:
http://www.ethereal.com/docs/user-guide/ 10.
29