Ethereal-dev: Re: [Ethereal-dev] Hi, list, I want to know how the ethereal dissect the WSP pro

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Olivier Biot (Ethereal)" <ethereal@xxxxxxxxxxxxxxx>
Date: Tue, 3 May 2005 08:26:38 +0200
From: Tom Uijldert

yin max wrote:
Hi, list

Now I am reading the source code of ethereal 0.10.10

I want to know how it works to dissect the WAP protocol, but there are
some
functions that I could not found.

Is there any documents about in which file each function located?

- doc/README.developer on generic dissector routines.
- http://wiki.ethereal.com/Development for additional wiki-info on
developing Ethereal
- packet-wtp.c that calls the wsp-dissection
- "$ man grep" on how to find stuff in files.

In addition:

The WSP dissector (packet-wsp.c) gives you information on how the dissector works. For dissecting the WSP headers, I use a function lookup table, and for defining the header dissection functions, I make heavily use of C macros as there are lots of reproduced code in the common heacer dissection framework. Also, there are many WSP headers that match the same decoding scheme, hence some header decodung functions are entirely defined by means of macros with arguments.

The MMSE dissector (packet-mmse.c) heavily relies upon functiona available in the WSP dissector, as the MMS encapsulation binary encoding is very similar to WSP header encoding.

The WBXML dissector (packet-wbxml.c) contains a generic WBXML decoder and contains data structures containing the different media type encodings (except for e.g., WirelessVillage Client-Server Protocol version 1.2 which was "buggy" and incomplete at the time I had a first look at it). This source file contains documentation on how the different decoders work.

The WTLS dissector (packet-wtls.c) decodes the WTLS bits, but it does not decrypt the data.

See also http://wiki.ethereal.com/WapProtocolFamily for infornation on which bits are implmeneted in which WAP protocol dissector.

Best regards,

Olivier