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