Ethereal-users: Re: [Ethereal-users] EtherPeek equivalents in Ethereal (name table and offset fi
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
Guy Harris wrote:
Offset Filtering - In EtherPeek, you can define a filter based on an
offset anywhere within the packet. Looking at Ethereal, it seems as
though filtering is accomplished based on the protocols available in
the Filter Expression window (Analyze - Display Filters -
Expression... button). I see LLC listed, but I would like to filter
based on bytes further within the payload (I guess at the application
layer), for example only filter packets where offset 51 is equal to
24H. How can I do this?
If by "offset 51" you mean the offset from the beginning of the
packet, you can do it with
frame[51:1] == 24
With the "Add Expression" dialog, you can click on "Frame" in the
"Field name" list, click on "==" in the Relation list, put "51:1" in
the "Range" box (i.e., an offset of 51 and a length of 1), and put 24
in the "Value" list. If the length is greater than 1, the value is a
list of hexadecimal byte values, e.g.
frame[51:2] == 24:17
would compare the 2 bytes starting at byte 51 with hex 24 and hex 17,
respectively.
This is a terrific feature, but the notation seems quite un-intuitive to
me. The 'offset' and and 'length' values default to decimal notation and
the 'value' defaults to hex. From experimentation, the range values can
be specified with a leading '0x' to force hex. Why not make them all
default to the same notation (decimal) and allow the 0x to force hex?
Typically I would read both the range and the values from the hex dump
pane and wouldn't expect to have to use two different notations.
Bob S,