Ethereal-users: Re: [Ethereal-users] header in applications level

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Sun, 14 May 2006 18:10:30 -0700
ademar wrote:

maybe that is a silly question but I would like to know why Ethereal don´t show the header of the applicvation level (OSI model) ?

Ethereal doesn't show the headers of abstract OSI-model levels; it shows the headers of protocols for which it has dissectors.

For example, in an HTTP packet sent over an Ethernet using IPv4, it will show the headers for HTTP, TCP, IPv4, and Ethernet. Ethernet happens to be at the data link layer level, but it's shown as an Ethernet header, not a "data link layer" header. Similarly, the IPv4 header is shown as an IPv4 header, not a "network level" header, and the TCP header is shown as a TCP header, not a "transport level" header.

If there exists, in Ethereal, a dissector for a protocol considered to be at the "application level", and Ethereal can recognize a packet as being for that protocol, it will show the headers for that protocol. It does not contain dissectors for every single protocol ever conceived by anybody, as

1) some of those protocols are private and unpublished, so reverse-engineering would be necessary to write a dissector;

2) reverse-engineering takes time and traffic for the protocol and at least enough knowledge to try to guess what the traffic is;

3) even if a protocol is documented, it'd take time to implement a dissector, and time isn't free.

As such, it is quite possible that, for some given application-level protocol, Ethereal won't have a dissector for it, and thus won't be able to show its headers except as raw data.

(Note also that protocols don't necessarily fit neatly into the OSI model. If you're using a Web browser to look at some HTML text, HTTP is arguably the application level protocol. If, however, you're using XML-RPC for some Web services application, HTTP isn't really the application level protocol - the application level protocol is whatever protocol is defined atop XML-RPC.)

Which *particular* application-level protocols were you referring to?