Commit Graph

162 Commits

Author SHA1 Message Date
Gilbert Ramirez 4a15f6582a Added Bert Driehuis <driehuis@playbeing.org>'s I4B wiretap module
and V.120 decoder.

svn path=/trunk/; revision=1304
1999-12-12 22:40:10 +00:00
Gilbert Ramirez d85f804b4b Add the who protocol (rwho/rwhod/ruptime)
In packet_hex_print(), compute (bstart + blen) only once.

In time_secs_to_str(), return a meaningful string when time == 0, instead
of returing pointer to char buffer with old, inappropriate data in it.

svn path=/trunk/; revision=1297
1999-12-12 05:11:57 +00:00
Guy Harris 5a4d9d6d68 WCCP 1.0 dissection, from Jerry Talkington.
svn path=/trunk/; revision=1295
1999-12-12 03:05:57 +00:00
Nathan Neulinger 0599f44d09 added ldap dissector placeholder, just does request/response for now, until I have a chance to figure out ASN.1
svn path=/trunk/; revision=1254
1999-12-09 04:06:54 +00:00
Guy Harris e5f812d6ed James Coe's patch to add SRVLOC and NCP-over-IP support.
svn path=/trunk/; revision=1234
1999-12-07 06:13:19 +00:00
Nathan Neulinger 163045012a added simple irc dissector
svn path=/trunk/; revision=1232
1999-12-06 23:57:51 +00:00
Nathan Neulinger 455835d35a vlan updates for etype<maxlen and capture counters
svn path=/trunk/; revision=1219
1999-12-05 20:05:45 +00:00
Nathan Neulinger fb6821f059 added skeletal tacplus/xtacacs dissector
svn path=/trunk/; revision=1191
1999-12-03 21:50:31 +00:00
Gilbert Ramirez 3fa90ff0cf Add IPX to packet stats during capture.
svn path=/trunk/; revision=1173
1999-11-30 23:56:37 +00:00
Nathan Neulinger 117d23c3a1 added start of tns dissector
svn path=/trunk/; revision=1155
1999-11-29 19:43:26 +00:00
Guy Harris 077e70e0b7 Pull the code to dissect an ATM NSAP address out of "packet-q2931.c" and
put it into a subroutine in "packet-arp.c", and call it from
"packet-q2931.c".

Add a "packet-arp.h" header to hold declarations of routines exported by
"packet-atm.c" (other than the ATM dissector itself), moving them out of
"packet.h".

Use the aforementioned NSAP dissector to display ATM addresses in NSAP
format, and display E.164 addresses as ASCII text (under the assumption
that they're presented as a string of IA5, i.e. ASCII, characters, just
as they are in Q.931).

svn path=/trunk/; revision=1124
1999-11-27 04:48:14 +00:00
Gilbert Ramirez de2370185d Added Cisco Auto-RP dissector from Heikki Vatiainen <hessu@cs.tut.fi>
svn path=/trunk/; revision=1099
1999-11-23 17:09:58 +00:00
Gilbert Ramirez 942b69ce9a A "character encoding" variable is now set per packet. The existence
of SNA in a packet changes the character encoding from the default ASCII
to EBCDIC.

The hex-printing routines in the GUI code and in the printing code convert
to EBCDIC if appropriate.

svn path=/trunk/; revision=1089
1999-11-22 06:24:56 +00:00
Gilbert Ramirez 1cbedad8d6 Added Heikki Vatiainen's <hessu@cs.tut.fi> HSRP dissector.
svn path=/trunk/; revision=1086
1999-11-21 20:02:32 +00:00
Gilbert Ramirez 34c9f8241c Added Heikki Vatiainen's <hessu@cs.tut.fi> VRRP dissector.
svn path=/trunk/; revision=1083
1999-11-21 14:43:53 +00:00
Gilbert Ramirez 2da6ff3be5 Enable ether name resolution for packet summary lines of IPX packets
(in the src/dst of the CList). In order to do this, I had to:

1. Add a new function, ether_to_str_punct(const guint8*, char) which
	turns a 6-byt ether address into a string, using whatever punctuation
	is passed as the char. If a null char is passed, no separator
	is put between the hex digits. Unresolved IPX addresses look better
	with the ether portion having no punctuation (IMHO)

2. Changed ether_to_str() to call ether_to_str_punct with ':' as the char
	argument. That is, code abstraction.

3. MAXNAMELEN was moved from resolv.c to resolv.h so that packet-ipx.c
	could see it.

4. A new resolve function, get_ether_name_if_known(), returns the resolved name
	of an ether address, or NULL if there is none.  This differs
	from get_ether_name() by returning NULL rather than a text version
	of the ether address.

svn path=/trunk/; revision=1076
1999-11-20 05:35:15 +00:00
Guy Harris 8963fabad6 Beginnings of Q.2931 support.
svn path=/trunk/; revision=1068
1999-11-19 09:55:38 +00:00
Guy Harris 70641c27dd Add support for SSCOP protocol; dissect signalling AAL packets using it.
It's in a file of its own, as I think there may be, or may have been
proposed, non-ATM uses of it as well.

svn path=/trunk/; revision=1064
1999-11-19 07:28:16 +00:00
Guy Harris 4fddc1f328 Provide a general mechanism by which dissectors can register "init"
routines, which are called before a dissection pass is made over all the
packets in a capture - the "init" routine would clear out any state
information that needs to be initialized before such a dissection pass.

Make the NCP, SMB, AFS, and ONC RPC dissectors register their "init"
routines with that mechanism, have the code that reads in a capture file
call the routine that calls all registered "init" routines rather than
calling a wired-in set of "init" routines, and also have the code that
runs a filtering or colorizing pass over all the packets call that
routine, as a filtering or colorizing pass is a dissection pass.

Have the ONC RPC "init" routine zero out the table of RPC calls, so that
it completely erases any state from the previous dissection pass (so
that, for example, if you run a filtering pass, it doesn't mark any
non-duplicate packets as duplicates because it remembers them from the
previous pass).

svn path=/trunk/; revision=1050
1999-11-17 21:58:33 +00:00
Guy Harris b68f2dde89 Heikki Vatiainen's SAP (Session Announcement Protocol) dissector.
Rename the dissector for the Netware SAP protocol to "dissect_ipxsap()",
so as to keep its name from colliding with that of the dissector for the
Session Announcement Protocol.

svn path=/trunk/; revision=1046
1999-11-17 02:17:29 +00:00
Guy Harris a7aba0a288 Replace the ETT_ "enum" members, declared in "packet.h", with
dynamically-assigned "ett_" integer values, assigned by
"proto_register_subtree_array()"; this:

	obviates the need to update "packet.h" whenever you add a new
	subtree type - you only have to add a call to
	"proto_register_subtree_array()" to a "register" routine and an
	array of pointers to "ett_", if they're not already there, and
	add a pointer to the new "ett_" variable to the array, if they
	are there;

	would allow run-time-loaded dissectors to allocate subtree types
	when they're loaded.

svn path=/trunk/; revision=1043
1999-11-16 11:44:20 +00:00
Nathan Neulinger b72c0d1f60 Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.
svn path=/trunk/; revision=1034
1999-11-15 14:17:20 +00:00
Guy Harris 1f31ab9cbb Move the test to see if something looks like an ONC RPC request or reply
into "dissect_rpc()" itself; it returns TRUE if it is, FALSE if it
isn't.

svn path=/trunk/; revision=1030
1999-11-14 20:44:52 +00:00
Richard Sharpe baadd1b3d7 Fixed some more small problems and added support for decoding
MS Windows Browser messages.  Can decode host announcements now.

Still need to decode more.  Also need to break the new code out.


I also have the Browse tree at the wrong location.  Can I get at the
parent of the tree somewhere, or do I have to pass it in as a variable?

svn path=/trunk/; revision=1024
1999-11-14 02:42:03 +00:00
Gilbert Ramirez cf3fb06306 Add ETT_Q931_IE
svn path=/trunk/; revision=1022
1999-11-13 04:06:10 +00:00
Nathan Neulinger 08c2eb6642 added minimalist MAPI dissector - only determines request/reply
svn path=/trunk/; revision=1017
1999-11-11 23:13:43 +00:00
Nathan Neulinger 59bffe6e97 Added mount dissector.
Added stat dissector.
Enhancements to portmap dissector.
Added rpc_prog_name function to packet-rpc to retrieve the name of an
        rpc program. This should likely eventually be modified to use the
        /etc/rpc or rpc.bynumber NIS maps in addition to the programs that
        are registered within ethereal.

svn path=/trunk/; revision=1016
1999-11-11 21:22:00 +00:00
Jun-ichiro itojun Hagino 1d554ab6c9 bgp improvements.
- a few more tree types
- RFC1771 NLRI printed on advertisements
- AS_PATH parsing
- lots of small cleanup on printing "byte" vs "bytes"

From: Greg Hankins <gregh@cc.gatech.edu>

svn path=/trunk/; revision=1015
1999-11-11 21:08:52 +00:00
Guy Harris 6c10717158 Add #defines for bits in the LAPD address field and for the LAPD SAPI
values.

Dissect the LAPD payload, if present.

Add the beginnings of a Q.931 dissector.

svn path=/trunk/; revision=1007
1999-11-11 08:35:11 +00:00
Gilbert Ramirez 4ec9c54b4b Add LAPD support.
svn path=/trunk/; revision=1004
1999-11-11 05:36:16 +00:00
Gilbert Ramirez aa5904b879 Added dissect_imap() prototype to get rid of compilation warning
in packet-tcp.c

svn path=/trunk/; revision=999
1999-11-10 18:32:55 +00:00
Nathan Neulinger a7fc895437 Added stubs for various RPC routines:
portmap
	ypserv
	ypxfr
	ypserv
	bootparams

Stubs currently just map procedure numbers to names. I'll add some more
decoding of the actual procedure call/reply contents eventually.

svn path=/trunk/; revision=998
1999-11-10 17:23:55 +00:00
Nathan Neulinger abc9101b41 added ypxfr program to rpc
svn path=/trunk/; revision=997
1999-11-10 15:10:33 +00:00
Nathan Neulinger 2d81454829 Added imap dissector, pretty much a simple translation of the pop
dissector.

svn path=/trunk/; revision=995
1999-11-10 14:44:58 +00:00
Guy Harris f0889e55c1 Add a "Find Frame" menu item under "Display"; it lets you use a display
filter to search forward or backward in the list of displayed frames for
a matching frame.

When filtering the display, readjust the display to show the "current"
frame if it passed the display filter.  When a file is read in, the
first frame becomes the "current" frame; when a frame is selected, it
becomes the "current" frame, and remains so *even if you unselect it*,
until another frame is selected.

Select the first frame when a file is read in.

Disable most of the "Display" and "Tools" menu items if there's no
current capture file, and enable the relevant ones if there is.

svn path=/trunk/; revision=982
1999-11-06 06:28:07 +00:00
Guy Harris bba1ad82d1 Updates to the ICQ decoder, from Kojak.
svn path=/trunk/; revision=981
1999-11-06 03:08:34 +00:00
Jun-ichiro itojun Hagino 004607a3fe more updates to bgp dissector.
- separate tree for each message
- added some comments
- merged my code for OPEN message, mainly just terminology updates
- searched all RFCs and defined known attributes

from: Greg Hankins <gregh@cc.gatech.edu>

svn path=/trunk/; revision=979
1999-11-06 01:28:50 +00:00
Guy Harris 0978f3c2de Updates to the ONC RPC and NFS code, from Uwe Girlich.
svn path=/trunk/; revision=976
1999-11-05 07:16:23 +00:00
Guy Harris 149c40fec9 Don Lafontaine's IGRP/EIGRP dissector.
svn path=/trunk/; revision=949
1999-10-30 06:10:32 +00:00
Guy Harris 62df24872c Give DDP packets their own ETT_ type, rather than using ETT_IP.
Call "dissect_data()" on the payload of a DDP packet.

svn path=/trunk/; revision=948
1999-10-29 05:25:59 +00:00
Guy Harris 21c466ed25 Uwe Girlich's ONC RPC and NFS dissectors.
svn path=/trunk/; revision=945
1999-10-29 01:04:44 +00:00
Guy Harris a54314e961 Update from Kojak to dissect ICQ login packets and text messages.
svn path=/trunk/; revision=924
1999-10-25 20:28:21 +00:00
Guy Harris da1fdf005f Kojak's ICQ dissector.
svn path=/trunk/; revision=919
1999-10-24 00:56:11 +00:00
Guy Harris 645acd5c15 Add support for Banyan Vines addresses to the code that handles the
"address" type.

Use that in the Banyan Vines dissector.

svn path=/trunk/; revision=913
1999-10-22 08:30:04 +00:00
Guy Harris 1ff9a0d3e3 Add support for Appletalk DDP addresses to the code that handles the
"address" type.

Use that in the Appletalk DDP dissector.

Show the DDP packet type by name, if it's a known packet type.

svn path=/trunk/; revision=911
1999-10-22 08:11:40 +00:00
Guy Harris 047b8751f3 Generalize the "ip_src" and "ip_dst" members of the "packet_info"
structure to "dl_src"/"dl_dst", "net_src"/"net_dst", and "src"/"dst"
addresses, where an address is an address type, an address length in
bytes, and a pointer to that many bytes.

"dl_{src,dst}" are the link-layer source/destination; "net_{src,dst}"
are the network-layer source/destination; "{src,dst}" are the
source/destination from the highest of those two layers that we have in
the packet.

Add a port type to "packet_info" as well, specifying whether it's a TCP
or UDP port.

Don't set the address and port columns in the dissector functions; just
set the address and port members of the "packet_info" structure.  Set
the columns in "fill_in_columns()"; this means that if we're showing
COL_{DEF,RES,UNRES}_SRC" or "COL_{DEF,RES,UNRES}_DST", we only generate
the string from "src" or "dst", we don't generate a string for the
link-layer address and then overwrite it with a string for the
network-layer address (generating those strings costs CPU).

Add support for "conversations", where a "conversation" is (at present)
a source and destination address and a source and destination port.  (In
the future, we may support "conversations" above the transport layer,
e.g. a TFTP conversation, where the first packet goes from the client to
the TFTP server port, but the reply comes back from a different port,
and all subsequent packets go between the client address/port and the
server address/new port, or an NFS conversation, which might include
lock manager, status monitor, and mount packets, as well as NFS
packets.)

Currently, all we support is a call that takes the source and
destination address/port pairs, looks them up in a hash table, and:

	if nothing is found, creates a new entry in the hash table, and
	assigns it a unique 32-bit conversation ID, and returns that
	conversation ID;

	if an entry is found, returns its conversation ID.

Use that in the SMB and AFS code to keep track of individual SMB or AFS
conversations.  We need to match up requests and replies, as, for
certain replies, the operation code for the request to which it's a
reply doesn't show up in the reply - you have to find the request with a
matching transaction ID.  Transaction IDs are per-conversation, so the
hash table for requests should include a conversation ID and transaction
ID as the key.

This allows SMB and AFS decoders to handle IPv4 or IPv6 addresses
transparently (and should allow the SMB decoder to handle NetBIOS atop
other protocols as well, if the source and destination address and port
values in the "packet_info" structure are set appropriately).

In the "Follow TCP Connection" code, check to make sure that the
addresses are IPv4 addressses; ultimately, that code should be changed
to use the conversation code instead, which will let it handle IPv6
transparently.

svn path=/trunk/; revision=909
1999-10-22 07:18:23 +00:00
Guy Harris e5c126441b Nathan Neulinger's 802.1q VLAN patch.
svn path=/trunk/; revision=897
1999-10-20 22:41:12 +00:00
Gilbert Ramirez 08292071f4 Added Nathan's patch for AFS and RX dissection.
svn path=/trunk/; revision=894
1999-10-20 16:41:20 +00:00
Jun-ichiro itojun Hagino a0120ff182 improve ripng dissector. decode route entries in more detail.
svn path=/trunk/; revision=878
1999-10-18 00:37:35 +00:00
Guy Harris 6f56cbf07e Phil Techau's patch to add "col_append_str()".
svn path=/trunk/; revision=845
1999-10-15 20:33:06 +00:00