2016-07-01 16 views
0

I-Paket in Wireshark am Filterung (Version 2.0.3) ist die tcp Paketdaten wie folgt aus:Wie man Paketinhalt in wireshark filtert?

7e:02:00:00:3c:01:41:31:07:17:83:02:97:00:00:00:00:00:0c:00:c3:02:28:ba:50:06:f1:ec:c0:00:59:00:00:01:2e:16:06:30:10:46:00:01:04:00:00:e6:2f:02:02:00:00:03:02:00:00:25:04:00:00:00:00:2b:04:00:00:00:00:30:01:13:31:01:12:5e:7e 

Jetzt möchte ich das dritte Byte zu finden, um vier Byte 00:00 enthält, wie der Filterausdruck schreiben ? Ich habe versucht:

ip[3,2] == 00:00  #in tcpdump it works 

data.data[3,2] == 00:00 #data.data == 00:00,but data not just only contain:00:00 

Irgendwelche Lösung?

Antwort

1

Die Zählung beginnt bei 0, so dass Sie für 2 und 3 in Ihrem Beispiel suchen.

Sie können Slices angeben und gruppieren (was Sie in Ihrem Beispiel tun) oder einen Bereich angeben.

# Combines 2 slices 
frame[2,3]==0000 

# From byte position 2 include 2 bytes (e.g. 2 and 3) 
frame[2:2]==0000 

# Provides byte range 2 through 3 
frame[2-3]==0000 

Die folgende Syntax regelt Scheiben:

Quelle: https://www.wireshark.org/docs/man-pages/wireshark-filter.html

[i:j] i = start_offset, j = length 
[i-j] i = start_offset, j = end_offset, inclusive. 
[i]  i = start_offset, length = 1 
[:j]  start_offset = 0, length = j 
[i:]  start_offset = i, end_offset = end_of_field 
0

Mit diesem Filter:

data[3:2] == 00:00 # start from 22,get 2 byte equal to 00:00