wireshark.org protocol dissector with Osmocom additions
Go to file
Guy Harris 4f5e161fe2 It turns out that the read timeout in Solaris's "bufmod" STREAMS module
doesn't work like the read timeout in BPF - the timer doesn't start
until at least one packet has arrived.

I think that's the way read timeouts should work on *all* packet capture
mechanisms, but it does mean that Solaris will, on a quiet net, exhibit
the same symptoms that Linux used to exhibit before we put in a
"select()" call to wait until either packets arrive or a timer expires -
the "pcap_dispatch()" call blocks until a packet arrives, so the display
doesn't get updated and Ethereal doesn't respond to user input until a
packet arrives.

Furthermore, Linux isn't the only OS that lacks any read timeout
on its packet capture mechanism; the others will also have that problem.

We therefore do the "select()" on *all* platforms other than the BSDs
(where the timer starts when the read is done, and can be used for
polling); I don't know whether it's necessary on Digital UNIX, but I
suspect it's necessary on SunOS 4.x (as the 5.x "bufmod" is probably
derived from the 4.x one, and the 5.x one, as per the above, starts the
timer when a packet arrives), and it may even be necessary on 3.x, those
(BSD, SunOS including 5.x, and Digital UNIX) apparently being the only
UNIXes that appear to have such a read timeout.

svn path=/trunk/; revision=2790
2000-12-28 01:44:19 +00:00
debian Change Ethereal homepage URL from etheral.zing.org to www.ethereal.com. 2000-11-22 04:07:04 +00:00
doc Mobile IPv6 support, from Martti Kuparinen. 2000-12-14 08:35:08 +00:00
epan Tvbuffify the RIP and OSPF dissectors. 2000-12-27 12:48:27 +00:00
gtk Enable FT_BYTES dfiltering, from Ed Warnicke. 2000-12-22 12:05:38 +00:00
image Change Ethereal homepage URL from etheral.zing.org to www.ethereal.com. 2000-11-22 04:07:04 +00:00
packaging Change Ethereal homepage URL from etheral.zing.org to www.ethereal.com. 2000-11-22 04:07:04 +00:00
plugins Preferences shouldn't supposed to have blanks in their names - it can 2000-12-25 09:37:35 +00:00
wiretap Add support for the DLT_LINUX_SLL capture type in the current CVS 2000-12-23 08:06:16 +00:00
.cvsignore add tethereal_static 2000-12-26 16:44:16 +00:00
AUTHORS X.25 over TCP support, from Paul Ionescu. 2000-12-17 07:38:14 +00:00
COPYING * Copied in the correct GNU license (I'm such a goober) 1998-10-16 01:18:35 +00:00
ChangeLog Initial revision 1998-09-16 02:39:15 +00:00
INSTALL Enable the building of any combination of ethereal, tethereal, and editcap. 2000-11-22 04:03:22 +00:00
INSTALL.configure * Installation documentation updates 1998-12-29 03:12:07 +00:00
Makefile.am Tvbuffify the RIP and OSPF dissectors. 2000-12-27 12:48:27 +00:00
Makefile.nmake Add support for the DLT_LINUX_SLL capture type in the current CVS 2000-12-23 08:06:16 +00:00
NEWS Changes in 0.8.14 2000-11-20 17:08:50 +00:00
README Change addresses from ethereal.zing.org to www.ethereal.com. 2000-10-08 17:16:29 +00:00
README.aix Change addresses from ethereal.zing.org to www.ethereal.com. 2000-10-08 17:16:29 +00:00
README.bsd Add a "README.bsd", which currently only explains how to enable BPF in 2000-02-19 21:54:07 +00:00
README.hpux Give, in "README.hpux", what appears to be the new URL for the UK HP-UX 2000-08-13 07:48:56 +00:00
README.irix Add in the patch to make the IRIX libpcap handle snapshot lengths larger 2000-04-29 08:45:39 +00:00
README.linux Put in a note about enabling the Packet protocol; if it's not enabled on 2000-02-19 21:44:13 +00:00
README.tru64 Give some README.<os> files RCS IDs; the other ones already have them. 2000-02-19 22:00:25 +00:00
README.vmware Add URL. 2000-01-21 19:19:23 +00:00
README.win32 Fix a typo. 2000-11-06 09:49:43 +00:00
TODO Attach my name to the "GtkClist replacement" item; it's a work in 2000-08-25 20:50:31 +00:00
acconfig.h Alas, we have to set HAVE_PLUGINS in the top-level configure script as 2000-10-17 09:21:51 +00:00
acinclude.m4 Add "-L" flags to LDFLAGS, not LIBS, and get rid of all the exotic 2000-01-21 06:18:16 +00:00
aclocal-flags Enable the building of any combination of ethereal, tethereal, and editcap. 2000-11-22 04:03:22 +00:00
aftypes.h Give the "null" link-layer header dissector a dissector table, and put 2000-11-17 06:02:21 +00:00
alignment.h Give it an RCS ID. 1999-09-23 05:26:18 +00:00
asn1.c Rename "asn1_octet_string_value_decode()" to 2000-12-24 09:10:12 +00:00
asn1.h Rename "asn1_octet_string_value_decode()" to 2000-12-24 09:10:12 +00:00
autogen.sh Enable the building of any combination of ethereal, tethereal, and editcap. 2000-11-22 04:03:22 +00:00
capture.c It turns out that the read timeout in Solaris's "bufmod" STREAMS module 2000-12-28 01:44:19 +00:00
capture.h Santeri Paavolainen's patch to add a "Capture->Stop" menu item to let 2000-10-11 06:01:16 +00:00
color.h Add a "color.h" file that declares a nominally-toolkit-independent 2000-11-21 23:54:10 +00:00
column.c Add #include <string.h>, to get prototypes for mem* and str* functions. 2000-11-17 21:00:40 +00:00
column.h Move the code in "column.c" that implements the column preferences tab 2000-01-10 01:44:00 +00:00
config.guess Switch Solaris package build naming to a more generic SVR4. Add RPM and SRPM 2000-07-26 03:39:11 +00:00
config.h.win32 Move Win32 version to 0.8.14.1 2000-11-28 15:54:20 +00:00
config.nmake Move inet_*.[ch] files to epan. 2000-10-14 04:31:26 +00:00
configure.in Enable the building of any combination of ethereal, tethereal, and editcap. 2000-11-22 04:03:22 +00:00
editcap.c Put the "-s" flag into the usage message for editcap. 2000-12-03 21:11:05 +00:00
etypes.h Add some ethertypes (which were captured on my network, so inuse ;-). 2000-08-09 22:10:23 +00:00
file.c Add a "color.h" file that declares a nominally-toolkit-independent 2000-11-21 23:54:10 +00:00
file.h Remove #include "gtk/colors.h" from file.h, which keep the GTK+ header 2000-10-20 04:26:40 +00:00
follow.c Do not malloc a TCP fragment for a packet that does not contain data. 2000-08-24 21:05:16 +00:00
follow.h - add ipv6.addr for the source and destination addresses (like ipv4) 2000-08-11 22:18:22 +00:00
getopt.c Get rid of carriage returns; Windows compilers don't require them, and 2000-11-08 19:57:39 +00:00
getopt.h Get rid of carriage returns; Windows compilers don't require them, and 2000-11-08 21:27:27 +00:00
globals.h Move the declaration of "g_resolving_actif" from the top-level 2000-10-19 22:59:24 +00:00
ieee-float.h Support for MultiProtocol Label Switching (MPLS). The following support 2000-03-09 18:31:51 +00:00
in_cksum.c Include winsock.h on windows so that htons will be defined. 2000-12-14 17:51:51 +00:00
in_cksum.h Add code to check the checksums of TCP segments and UDP datagrams; 2000-12-13 02:24:23 +00:00
ipproto.c Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
libpcap-0.4.HPUX.HPUXPAC.patch Give, in "README.hpux", what appears to be the new URL for the UK HP-UX 2000-08-13 07:48:56 +00:00
libpcap-0.4.HPUX.LBL.patch Give, in "README.hpux", what appears to be the new URL for the UK HP-UX 2000-08-13 07:48:56 +00:00
libpcap-0.5.HPUX.tcpdump.org.patch Give, in "README.hpux", what appears to be the new URL for the UK HP-UX 2000-08-13 07:48:56 +00:00
llcsaps.h Register a "llc.dsap" dissector table for 802.2 LLC, and have dissectors 2000-04-17 00:32:43 +00:00
make-manuf Translate the A-F characters of all OUIs to uppercase before inserting 2000-11-29 04:11:48 +00:00
make-reg-dotc When looking for definitions of "proto_register" and "proto_reg_handoff" 2000-10-22 20:01:14 +00:00
manuf Translate the A-F characters of all OUIs to uppercase before inserting 2000-11-29 04:11:48 +00:00
manuf.tmpl Credit Michael Patton and the IEEE in the document header. Add URLs to the 2000-11-26 19:35:31 +00:00
menu.h Implements the "Properties" menu item which displays the preferences window 2000-08-15 20:46:17 +00:00
mkstemp.c Integrate Ed Meaney's <emeaney@altiga.com> changes for using libpcap 2000-02-09 19:18:42 +00:00
mkstemp.h Merge in the final code to make Ethereal run on Win32, compiled 2000-01-15 00:23:13 +00:00
ncp2222.py Move #included C code from an *.h file to an *.inc file. 2000-09-22 16:37:50 +00:00
nlpid.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
oui.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-aarp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-afs-defs.h small fixes 2000-11-03 22:38:07 +00:00
packet-afs-macros.h small fixes 2000-11-03 22:38:07 +00:00
packet-afs-register-info.h small fixes 2000-11-03 22:38:07 +00:00
packet-afs.c Small code optimization to make it possible to compile on ReliantUNIX. 2000-11-30 14:09:14 +00:00
packet-afs.h Create a header file for every packet-*.c file. Prune the packet.h file. 2000-02-15 21:06:58 +00:00
packet-aim.c Updates from Ralf Holzer. 2000-11-28 06:38:47 +00:00
packet-arp.c Fix up the handling of type/length fields in ATMARP. 2000-11-30 10:42:50 +00:00
packet-arp.h Move "bytes_to_str()" to "strutil.c" from "packet.c" - it's just a 2000-11-13 07:19:37 +00:00
packet-ascend.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-atalk.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-atalk.h Give the "null" link-layer header dissector a dissector table, and put 2000-11-17 06:02:21 +00:00
packet-atm.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-auto_rp.c Updates from Heikki Vatiainen to tvbuffify the Auto-RP dissector and 2000-11-19 20:01:22 +00:00
packet-bgp.c bgp route refresh/MP capability option. 2000-12-25 05:28:40 +00:00
packet-bgp.h bgp route refresh/MP capability option. 2000-12-25 05:28:40 +00:00
packet-bootp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-bootparams.c Reversed the latest changes for protocol enable/disable in RPC sub-dissectors. 2000-08-14 11:36:04 +00:00
packet-bootparams.h Added stubs for various RPC routines: 1999-11-10 17:23:55 +00:00
packet-bpdu.c Add support for the DLT_LINUX_SLL capture type in the current CVS 2000-12-23 08:06:16 +00:00
packet-bxxp.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-cdp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-cdp.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-cgmp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-cgmp.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-clip.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-clip.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-clnp.c Report the holding time of a CLNP packet, in seconds, as seconds plus 2000-12-23 23:06:50 +00:00
packet-cops.c Get rid of extra blanks in strings. 2000-12-27 12:38:08 +00:00
packet-data.c Tvbuffify the STP dissector, have it register itself and have the LLC 2000-11-16 07:35:43 +00:00
packet-ddtp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ddtp.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-diameter-defs.h David Frascone's DIAMETER dissector. 2000-07-30 07:16:11 +00:00
packet-diameter.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-diameter.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-dns.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-dns.h prototype declarations should have no variables names, as #define 2000-08-22 08:28:45 +00:00
packet-eigrp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-esis.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-esis.h Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-eth.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-eth.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ethertype.c Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-fddi.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-fddi.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-frame.c Add the relative time to the frame tree, at the request of Manfred Young. 2000-12-15 03:30:21 +00:00
packet-frame.h Declare "proto_malformed" in "packet-frame.h", as "packet-frame.c" 2000-12-03 22:32:10 +00:00
packet-ftp.c Call CHECK_DISPLAY_AS_DATA() for proto_ftp_data as well. 2000-12-19 02:57:49 +00:00
packet-giop.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-gre.c Check the checksum on GRE packets, if possible and if the Checksum 2000-12-15 00:03:09 +00:00
packet-gvrp.c The second argument to "proto_register_protocol()" is a name to be used 2000-12-02 08:56:40 +00:00
packet-gvrp.h GVRP dissector, from Kevin Shi. 2000-11-30 09:31:52 +00:00
packet-h1.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-h261.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-h261.h Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and 2000-10-19 06:45:11 +00:00
packet-hsrp.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-http.c Initialize "http_type" to HTTP_OTHERS before calling 2000-11-21 22:40:40 +00:00
packet-http.h Tvbuffify the HTTP, NNTP, RSH, RTSP, and Telnet dissectors. 2000-11-09 10:56:33 +00:00
packet-icmpv6.c Check the checksum on ICMPv6 packets, if possible. 2000-12-14 21:45:12 +00:00
packet-icp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-icq.c Fix infinite loop in reallocation of memory for decryption buffer. 2000-11-21 16:17:58 +00:00
packet-ieee80211.c Add the relevant "CHECK_DISPLAY_AS_DATA()" call. 2000-12-02 09:09:25 +00:00
packet-ieee80211.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-igrp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-imap.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ip.c Fix a typo in a comment. 2000-12-14 21:44:01 +00:00
packet-ip.h Add a "col_clear()" routine, to clear a column; it appears (and it 2000-12-04 06:37:46 +00:00
packet-ipp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ipsec.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ipsec.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ipv6.c Set the "fragmented" field of the "packet_info" structure based on 2000-12-14 18:56:22 +00:00
packet-ipv6.h Mobile IPv6 support, from Martti Kuparinen. 2000-12-14 08:35:08 +00:00
packet-ipx.c Register "dissect_nbipx()", and have the IPX dissector look up its 2000-12-03 09:18:20 +00:00
packet-ipx.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-irc.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-isakmp.c print message ID in isakmp header 2000-12-12 09:57:05 +00:00
packet-isis-clv.c Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-isis-clv.h Make the "isis_hello.source_id" an FT_BYTES field rather than an 2000-06-19 08:33:50 +00:00
packet-isis-hello.c Add the "Edit:Protocols..." feature which currently only implements 2000-08-13 14:09:15 +00:00
packet-isis-hello.h Make the "isis_hello.source_id" an FT_BYTES field rather than an 2000-06-19 08:33:50 +00:00
packet-isis-lsp.c Add the "Edit:Protocols..." feature which currently only implements 2000-08-13 14:09:15 +00:00
packet-isis-lsp.h Make the "isis_hello.source_id" an FT_BYTES field rather than an 2000-06-19 08:33:50 +00:00
packet-isis-snp.c Add the "Edit:Protocols..." feature which currently only implements 2000-08-13 14:09:15 +00:00
packet-isis-snp.h Make the "isis_hello.source_id" an FT_BYTES field rather than an 2000-06-19 08:33:50 +00:00
packet-isis.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-isis.h Register an "osinl" dissector table for ISO/IEC TR 9577 NLPID values, 2000-04-17 01:36:31 +00:00
packet-isl.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-isl.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-kerberos.c added KRB-ERROR response dissection 2000-12-26 16:44:43 +00:00
packet-l2tp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-lapb.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-lapd.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-ldap.c Rename "asn1_octet_string_value_decode()" to 2000-12-24 09:10:12 +00:00
packet-ldap.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ldp.c Fix egregious error with AF_ types. I relied on a Linux header file rather 2000-12-04 13:40:11 +00:00
packet-llc.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-llc.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-lpd.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-mapi.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-mip.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-mount.c Reversed the latest changes for protocol enable/disable in RPC sub-dissectors. 2000-08-14 11:36:04 +00:00
packet-mount.h Mount V2. 1999-11-20 06:17:00 +00:00
packet-mpls.c PPP patches from Burke Lau to: 2000-12-14 08:20:31 +00:00
packet-msproxy.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-nbipx.c Break out the bits in the NBIPX "connection control" field. 2000-12-06 04:19:44 +00:00
packet-nbns.c Fix buffer overruns: 2000-11-19 16:58:57 +00:00
packet-ncp-int.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ncp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ncp2222.inc Support for conversations with "wildcard" destination addresses, from 2000-10-21 05:52:28 +00:00
packet-netbios.c Add the standard "CHECK_DISPLAY_AS_DATA()" call. 2000-12-03 09:47:18 +00:00
packet-netbios.h Fix "packet-netbios.h" to match the new "packet-netbios.c", so that it 2000-11-10 21:09:49 +00:00
packet-nfs.c NFS V4 support, from Mike Frisch. 2000-12-01 00:38:20 +00:00
packet-nfs.h NFS V4 support, from Mike Frisch. 2000-12-01 00:38:20 +00:00
packet-nlm.c Reversed the latest changes for protocol enable/disable in RPC sub-dissectors. 2000-08-14 11:36:04 +00:00
packet-nlm.h Procedure numbers as constants are much better. 2000-08-02 11:32:31 +00:00
packet-nntp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-ntp.c In dissect_ntp(), add an ellipsis (...) to the end of a reference clock ID 2000-11-19 21:18:10 +00:00
packet-ntp.h Move calls to "dissector_add()" out of the register routines for TCP and 2000-04-08 07:07:42 +00:00
packet-null.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-null.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-osi-options.c Register the OSI transport dissector by name, and make it static. 2000-11-19 04:14:26 +00:00
packet-osi-options.h Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-osi.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-osi.h Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-ospf.c Always put the packet type in the Info column. 2000-12-28 00:44:49 +00:00
packet-pim.c Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-pop.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-portmap.c Give the RFC number of the spec for the portmapper/rpcbind protocols. 2000-08-24 23:16:16 +00:00
packet-portmap.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ppp.c PPP patches from Burke Lau to: 2000-12-14 08:20:31 +00:00
packet-ppp.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-pppoe.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-pptp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-q931.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-q931.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-q2931.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-q2931.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-quake.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-radius.c The SMI Network Management Private Enterprise Code for Ascend is 529, 2000-11-28 06:29:17 +00:00
packet-raw.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-raw.h Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-rip.c Tvbuffify the RIP and OSPF dissectors. 2000-12-27 12:48:27 +00:00
packet-ripng.c Add #include <string.h>, to get prototypes for mem* and str* functions. 2000-11-17 21:00:40 +00:00
packet-ripng.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-rlogin.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rpc.c In the tvbuffified "dissect_rpc()", use the "pinfo" argument rather than 2000-11-22 01:39:10 +00:00
packet-rpc.h Get rid of declarations of no-longer-extant "init_dissect_rpc()" and 2000-11-22 00:34:15 +00:00
packet-rsh.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rsvp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rtcp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rtcp.h Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and 2000-10-19 06:45:11 +00:00
packet-rtp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rtp.h Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and 2000-10-19 06:45:11 +00:00
packet-rtsp.c Tvbuffify the RIP and OSPF dissectors. 2000-12-27 12:48:27 +00:00
packet-rx.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-rx.h Register all the AFS ports in "proto_reg_handoff_rx()", rather than 2000-04-14 06:42:52 +00:00
packet-sap.c Fixes, from Heikki Vatiainen, to bugs introduced by the tvbuffification 2000-11-19 21:01:06 +00:00
packet-sctp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sdp.c Fixes, from Heikki Vatiainen, to bugs introduced by the tvbuffification 2000-11-19 21:01:06 +00:00
packet-sip.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sll.c Add support for the DLT_LINUX_SLL capture type in the current CVS 2000-12-23 08:06:16 +00:00
packet-smb-browse.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-smb-common.c Add tvbuff class. 2000-05-11 08:18:09 +00:00
packet-smb-common.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-smb-logon.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-smb-mailslot.c Apply Jeroen Ruigrok van der Werven's patches ... 2000-11-22 21:19:38 +00:00
packet-smb-pipe.c Apply Jeroen Ruigrok van der Werven's patches ... 2000-11-22 21:19:38 +00:00
packet-smb.c Patches to prevent problems under Windows when time formats are negative. 2000-12-17 03:48:44 +00:00
packet-smb.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-smtp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sna.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sna.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-snmp.c Rename "asn1_octet_string_value_decode()" to 2000-12-24 09:10:12 +00:00
packet-snmp.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-socks.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-srvloc.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sscop.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-sscop.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-stat.c Use the new split between protocol registration and protocol handoff 2000-04-04 06:46:41 +00:00
packet-stat.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-syslog.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tacacs.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tcp.c Add code to check the checksums of TCP segments and UDP datagrams; 2000-12-13 02:24:23 +00:00
packet-tcp.h Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-telnet.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tftp.c Add a new "tvb_strsize()" routine, which finds the size of a 2000-12-25 23:48:16 +00:00
packet-time.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tns.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tns.h Move calls to "dissector_add()" out of the register routines for TCP and 2000-04-08 07:07:42 +00:00
packet-tpkt.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-tpkt.h Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and 2000-10-19 06:45:11 +00:00
packet-tr.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-tr.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-trmac.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-trmac.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-udp.c Add code to check the checksums of TCP segments and UDP datagrams; 2000-12-13 02:24:23 +00:00
packet-udp.h Tvbuffify the IP, ICMP, TCP, UDP, OSI CLNP, OSI COTP, OSI CLTP, and OSI 2000-11-18 10:38:33 +00:00
packet-v120.c Wrap the dissect_fddi() call (with a 4th argument) with 2000-11-29 05:16:15 +00:00
packet-vines.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-vines.h - add protocol registration 2000-08-25 18:46:11 +00:00
packet-vlan.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-vlan.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-vrrp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-vtp.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-vtp.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-wap.h WAP support, from Neil Hunter. 2000-11-04 03:30:41 +00:00
packet-wccp.c Tvbuffify the GRE and WCCP dissectors. 2000-11-29 07:42:35 +00:00
packet-wccp.h WCCP 2.0 support. 2000-11-29 06:17:34 +00:00
packet-who.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-wsp.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-wsp.h WAP support, from Neil Hunter. 2000-11-04 03:30:41 +00:00
packet-wtp.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
packet-wtp.h Fix the beginning comment to give the right file name. 2000-11-04 07:39:16 +00:00
packet-x11-declarations.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-x11-keysym.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-x11-register-info.h Christophe Tronche's X11 dissector. 2000-06-12 02:30:35 +00:00
packet-x11.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-x25.c The length of FT_BOOLEAN bitfields must be specified in bits, not bytes. 2000-11-27 06:23:42 +00:00
packet-x25.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-xot.c X.25 over TCP support, from Paul Ionescu. 2000-12-17 07:38:14 +00:00
packet-yhoo.c For each column, have both a buffer into which strings for that column 2000-11-19 08:54:37 +00:00
packet-yhoo.h Add routines to: 2000-05-05 09:32:36 +00:00
packet-ypbind.c Use the new split between protocol registration and protocol handoff 2000-04-04 06:46:41 +00:00
packet-ypbind.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ypserv.c Add routines for adding items to a protocol tree that take arguments of 2000-05-31 05:09:07 +00:00
packet-ypserv.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-ypxfr.c Use the new split between protocol registration and protocol handoff 2000-04-04 06:46:41 +00:00
packet-ypxfr.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
packet-zebra.c Some tvbuffified dissectors weren't setting "pinfo->current_proto", so 2000-12-02 08:41:08 +00:00
ppptypes.h PPP patches from Burke Lau to: 2000-12-14 08:20:31 +00:00
prefs-int.h Fix a number of problems that caused compiles to fail if 2000-11-18 21:41:40 +00:00
prefs.c Fix a number of problems that caused compiles to fail if 2000-11-18 21:41:40 +00:00
prefs.h Add a "color.h" file that declares a nominally-toolkit-independent 2000-11-21 23:54:10 +00:00
print.c Consolidate flags in struct frame_data, and add "visited" flag. Use 2000-04-13 20:39:38 +00:00
print.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
print.ps * Added Joerg Mayer's Vines patch 1998-12-29 04:05:38 +00:00
ps.h Fix files that had Gilbert's old e-mail address or that didn't have my 2000-01-22 06:22:44 +00:00
ptvcursor.c Change FT_NSTRING_UINT8 to FT_UINT_STRING. The length parameter passed 2000-08-22 06:38:32 +00:00
ptvcursor.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
randpkt.c Make sure to pass the sent/received direction from pppdump.c in 2000-09-21 04:41:37 +00:00
rdps.c Finally got the win32 ethereal to link properly with MSVC. 1999-07-21 17:40:42 +00:00
register.h Make "make-reg-dotc" generate a "register_all_protocol_handoffs()" 2000-04-04 06:17:30 +00:00
simple_dialog.h Add support for modal message boxes ("simple dialog"). 2000-10-09 06:38:36 +00:00
smb.h Jeff Foster's SMB Mailslot and Netlogin dissectors; he split 2000-02-14 04:02:21 +00:00
snprintf-imp.h Give them RCS IDs. 2000-08-11 22:03:03 +00:00
snprintf.c Some compilers, e.g. Microsoft Visual C++, don't define __STDC__ unless 2000-11-21 21:24:52 +00:00
snprintf.h Some compilers, e.g. Microsoft Visual C++, don't define __STDC__ unless 2000-11-21 21:24:52 +00:00
strcasecmp.c SINIX-M systems don't know about strcasecmp(). I added the source file 2000-07-06 10:03:44 +00:00
strerror.c Add our own "strerror()", which we use on platforms that don't have it 1999-06-14 21:46:36 +00:00
strerror.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00
strncasecmp.c Uwe Girlich's patch to handle OSes (e.g., SINIX) that lack 1999-10-01 21:41:38 +00:00
summary.c Add the number of marked packets in the summary window. 2000-08-21 18:20:19 +00:00
summary.h Add the number of marked packets in the summary window. 2000-08-21 18:20:19 +00:00
tethereal.c Pull the code to set the fields in the "cfile.cinfo" structure into a 2000-12-03 22:12:21 +00:00
timestamp.h Add a fourth choice of time format in the packet list display, which 2000-11-01 08:31:36 +00:00
ui_util.h Use "progdlg_t *" rather than "void *" as the handle for a progress 2000-07-07 07:01:58 +00:00
util.c On Linux, try to open the "any" device and, if we can open it, add it to 2000-12-23 19:50:36 +00:00
util.h Fix it to build on Windows. 2000-10-11 07:35:02 +00:00
xdlc.c Convert LAPD and V.120 dissector to use tvbuff. Convert xdlc dissector-helper, 2000-05-31 03:58:56 +00:00
xdlc.h Miscellaneous code cleaning 2000-08-11 13:37:21 +00:00

README

$Id: README,v 1.45 2000/10/08 17:16:29 gerald Exp $

General Information
------- -----------

Ethereal is a network traffic analyzer, or "sniffer", for Unix and
Unix-like operating systems.  It uses GTK+, a graphical user interface
library, and libpcap, a packet capture and filtering library.

The Ethereal distribution also comes with Tethereal, which is a
line-oriented sniffer (similar to Sun's snoop, or tcpdump) that uses the
same dissection, capture-file reading and writing, and packet filtering
code as Ethereal, and with editcap, which is a program to read capture
files and write the packets from that capture file, possibly in a
different capture file format, and with some packets possibly removed
from the capture.

The official home of Ethereal is

    http://www.ethereal.com

The latest distribution can be found in the subdirectory

    http://www.ethereal.com/distribution


Installation
------------

Ethereal is known to compile and run on the following systems:

  - Linux (2.0.x, 2.1.x, 2.2.x, 2.3.x, 2.4.x)
  - Solaris (2.5.1, 2.6, 7)
  - FreeBSD (2.2.5, 2.2.6, 3.1, 3.2, 3.3)
  - Sequent PTX v4.4.5  (Nick Williams <njw@sequent.com>)
  - Tru64 UNIX (formerly Digital UNIX) (3.2, 4.0)
  - Irix (6.5)
  - AIX (4.3.2, with a bit of work)
  - Win32 (NT, 98)

It should run on other Unix-ish systems without too much trouble.

NOTE: the Makefile appears to depend on GNU "make"; it doesn't appear to
work with the "make" that comes with Solaris 7 nor the BSD "make".
Perl is also needed to create the man page.

If you decide to modify the yacc grammar or lex scanner, then
you need "flex" - it cannot be built with vanilla "lex" -
and either "bison" or the Berkeley "yacc". Your flex
version must be 2.5.1 or greater. Check this with 'flex -V'.

If you decide to modify the NetWare Core Protocol dissector, you
will need python, as the data for packet types is stored in a python
script, ncp2222.py.

You must therefore install Perl, GNU "make", "flex", and either "bison" or
Berkeley "yacc" on systems that lack them.

Full installation instructions can be found in the INSTALL file.
         
See also the appropriate README.<OS> files for OS-specific installation
instructions.

Usage
-----          

In order to capture packets from the network, you need to be running as
root, or have access to the appropriate entry under /dev if your system
is so inclined (BSD-derived systems, and systems such as Solaris and
HP-UX that support DLPI, typically fall into this category).  Although
it might be tempting to make the Ethereal executable setuid root, please
don't - alpha code is by nature not very robust, and liable to contain
security holes.

Please consult the man page for a description of each command-line
option and interface feature.


Multiple File Types
-------------------

The wiretap library is a packet-capture library currently under
development parallel to ethereal.  In the future it is hoped that
wiretap will have more features than libpcap, but wiretap is still in
its infancy. However, wiretap is used in ethereal for its ability
to read multiple file types. You can read the following file
formats:

libpcap (tcpdump -w, Ethereal)
Sniffer (compressed and uncompressed)
NetXray
Sniffer Pro
snoop
atmsnoop
Shomiti
LANalyzer
Microsoft Network Monitor
AIX's iptrace
RADCOM's WAN/LAN Analyzer
Lucent/Ascend access products
HP-UX's nettl
Toshiba's ISDN routers
ISDN4BSD "i4btrace" utility
Cisco Secure Intrustion Detection System iplogging facility
pppd logs (pppdump-format files)

In addition, it can read gzipped versions of any of these files
automatically, if you have the zlib library available when compiling
Ethereal. Ethereal needs a modern version of zlib to be able to use
zlib to read gzipped files; version 1.1.3 is known to work.  Versions
prior to 1.0.9 are missing some functions that Ethereal needs and won't
work.  "./configure" should detect if you have the proper zlib version
available and, if you don't, should disable zlib support. You can always
use "./configure --disable-zlib" to explicitly disable zlib support.

Although Ethereal can read AIX iptrace files, the documentation on
AIX's iptrace packet-trace command is sparse.  The 'iptrace' command
starts a daemon which you must kill in order to stop the trace. Through
experimentation it appears that sending a HUP signal to that iptrace
daemon causes a graceful shutdown and a complete packet is written
to the trace file. If a partial packet is saved at the end, Ethereal
will complain when reading that file, but you will be able to read all
other packets.  If this occurs, please let the Ethereal developers know
at ethereal-dev@zing.org, and be sure to send us a copy of that trace
file if it's small and contains non-sensitive data.

Support for Lucent/Ascend products is limited to the debug trace output
generated by the MAX and Pipline series of products.  Ethereal can read
the output of the "wandsession" "wandisplay", "wannext", and "wdd"
commands.  For detailed information on use of these commands, please refer
the following pages:

"wandsession", "wandisplay", and "wannext" on the Pipeline series:
  http://aos.ascend.com/aos:/gennavviewer.html?doc_id=0900253d80006c79

"wandsession", "wandisplay", and "wannext" on the MAX series:
  http://aos.ascend.com/aos:/gennavviewer.html?doc_id=0900253d80006972

"wdd" on the Pipeline series:
  http://aos.ascend.com/aos:/gennavviewer.html?doc_id=0900253d80006877

Ethereal can also read dump trace output from the Toshiba "Compact Router"
line of ISDN routers (TR-600 and TR-650). You can telnet to the router
and start a dump session with "snoop dump".

To use the Lucent/Ascend and Toshiba traces with Ethereal, you must capture
the trace output to a file on disk.  The trace is happening inside the router
and the router has no way of saving the trace to a file for you.
An easy way of doing this under Unix is to run "telnet <ascend> | tee <outfile>".
Or, if your system has the "script" command installed, you can save
a shell session, including telnet to a file. For example, to a file named
tracefile.out:

$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>



IPv6
----
If your operating system includes IPv6 support, ethereal will attempt to
use reverse name resolution capabilities when decoding IPv6 packets. If
you want to turn off name resolution while using ethereal, start ethereal
with the "-n" option. If you would like to compile ethereal without
support for IPv6 name resolution, use the "--disable-ipv6" option with
"./configure". If you compile ethereal without IPv6 name resolution,
you will still be able to decode IPv6 packets, but you'll only see IPv6
addresses, not host names.


NetWare Core Protocol
---------------------
There are over 400 different NCP packet types. The NCP dissector does
not understand all of these; support is being added little by little. If
you have some NCP packets that are not dissected by Ethereal, send
a trace file to ethereal-dev@zing.org and if possible, we will add support
for those packets types.


SNMP
----
Ethereal can do some basic decoding of SNMP packets; it can also use an
external SNMP library to do more sophisticated decoding..  The configure
script will automatically determine which library you have on your
system and will use it.  If you have an SNMP library but _do not_ want
to have ethereal use it, you can run configure with the "--disable-snmp"
option. 


How to Report a Bug
-------------------
Ethereal is still under constant development, so it is possible that you will
encounter a bug while using it. Please report bugs to ethereal-dev@zing.org.
Be sure you tell us:

	1) Operating System and version (the command 'uname -sr' may
	   tell you this, although on Linux systems it will probably
	   tell you only the version number of the Linux kernel, not of
	   the distribution as a whole; on Linux systems, please tell us
	   both the version number of the kernel, and which version of
	   which distribution you're running)
	2) Version of GTK+ (the command 'gtk-config --version' will tell you)
	3) Version of Ethereal (the command 'ethereal -v' will tell you,
	   unless the bug is so severe as to prevent that from working,
	   and should also tell you the versions of libraries with which
	   it was built)
	4) The command you used to invoke Ethereal, and the sequence of
	   operations you performed that caused the bug to appear

If the bug is produced by a particular trace file, please be sure to send
a trace file along with your bug description. Please don't send a trace file
greater than 1 MB when compressed. If the trace file contains sensitive
information (e.g., passwords), then please do not send it.

If Ethereal died on you with a 'segmentation violation', 'bus error',
'abort', or other error that produces a UNIX core dump file, you can
help the developers a lot if you have a debugger installed.  A stack
trace can be obtained by using your debugger ('gdb' in this example),
the ethereal binary, and the resulting core file.  Here's an example of
how to use the gdb command 'backtrace' to do so.

$ gdb ethereal core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$

The core dump file may be named "ethereal.core" rather than "core" on
some platforms (e.g., BSD systems).  If you got a core dump with
Tethereal rather than Ethereal, use "tethereal" as the first argument to
the debugger; the core dump may be named "tethereal.core".

Disclaimer
----------

There is no warranty, expressed or implied, associated with this product.
Use at your own risk.


Gerald Combs <gerald@zing.org>
Gilbert Ramirez <gram@xiexie.org>
Guy Harris <guy@alum.mit.edu>