Wireshark mailing list archives
Re: Dissector skipping packets
From: Stephen Fisher <steve () stephen-fisher com>
Date: Sun, 9 May 2010 00:02:03 -0600
On Tue, May 04, 2010 at 10:45:38PM -0700, Craig Bumpstead wrote:
example: Packet Type 0 Trans type
I'm not sure how to have different paths for decoding of packets. Any ideas of the protocol that I should look at for this type of decode?
If every packet contains a packet type (is that what "trans type" is
above?), then you can use a switch() statement after obtaining the
packet type:
- Set a variable to the packet type using tvb_get_guint8 for an 8-bit
integer or tvb_get_ntohX where X is 's' for 16-bit, "24" for 24-bit, 'l'
for 32-bit or "64" for 64-bit unsigned assuming that the integer is in
typical network byte order ("big endian"). There are also functions for
little endian byte order: replace the 'n' after '_' with "le":
guint8 packet_type;
packet_type = tvb_get_guint8(tvb, 0);
- Use #define statements to make associate packet type names with the
integers they are designated by for easier code reading (for example):
#define AUTH_REQUEST 0
#define AUTH_REPLY 1
- Use a switch statement:
switch(packet_type) {
case AUTH_REQUEST :
...
break;
case AUTH_REPLY :
...
break;
default :
... (state that it is an unknown packet type)
break;
}
--
Steve
___________________________________________________________________________
Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives: http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Dissector skipping packets Craig Bumpstead (May 04)
- Re: Dissector skipping packets Stephen Fisher (May 04)
- Re: Dissector skipping packets Craig Bumpstead (May 04)
- Re: Dissector skipping packets Stephen Fisher (May 08)
- Re: Dissector skipping packets Craig Bumpstead (May 04)
- Re: Dissector skipping packets Stephen Fisher (May 04)
