Hallo,
ich habe hier ein eth0, dort kommen 802.1Q Pakete vorbei, kann ich mit tcpdump auch sehen
tcpdump -i eth0 -n -e -c 1 15:26:04.403349 00:11:85:13:54:31 > 00:24:d7:6b:3f:24, ethertype 802.1Q (0x8100), length 166: vlan 10, p 0, ethertype IPv4, 192.168.0.1.22 > 192.168.0.188.36633: Flags [P.], seq 2789745381:2789745477, ack 1057026949, win 195, options [nop,nop,TS val 2445758817 ecr 87402709], length 96
Nun dachte ich, ich kann mit
tcpdump -i eth0 -n -e -c 1 vlan
ausschliesslich die Pakete sehen, die 802.1Q sind. Wird aber nix. (Eigentlich wollte ich die von vlan 10 sehen, aber ich denke, das wird nichts mit der Sache zu tun haben, das wäre als Filter dann „vlan 10“.)
Der Debug-Output vom tcpdump sieht auch plausibel aus. Aber es geht trotzdem nicht. Warum?
tcpdump -d -i eth0 -n -e -c 1 vlan (000) ldh [12] (001) jeq #0x8100 jt 3 jf 2 (002) jeq #0x9100 jt 3 jf 4 (003) ret #65535 (004) ret #0
Am Byteoffset 12 das Halbword prüfen auf 0x8100. Passt auffallend auch zum Dump der Pakete, wenn ich nicht ausdrücklich das vlan filter setze:
15:34:21.135879 00:11:85:13:54:31 > 00:24:d7:6b:3f:24, ethertype 802.1Q (0x8100), length 150: vlan 10, p 0, ethertype IPv4, 192.168.0.1.22 > 192.168.0.188.36633: Flags [P.], seq 2789750341:2789750421, ack 1057029989, win 195, options [nop,nop,TS val 2445883000 ecr 87526893], length 80
#[offset] 0 2 4 6 8 10 12 14 # habe ich hier eingetragen, am Offset 12 ist der Ethertype # # den tcpdump oben ja prüfen müsste 0x0000: 0024 d76b 3f24 0011 8513 5431 8100 000a 0x0010: 0800 4510 0084 3ccf 4000 4006 7b87 c0a8 0x0020: 0001 c0a8 00bc 0016 8f19 a648 3645 3f00 0x0030: ff65 8018 00c3 8284 0000 0101 080a 91c9 0x0040: 3678 0537 8ded c476 7c1e a7ef 5f01 366a 0x0050: c52d b636 a993 119b fb6e e3fb 48db da5c 0x0060: 9b83 b35b 267e 5233 17ec e56f fdfe f369 0x0070: 8a96 522a 7e9d 809b 5dbe aacb a6df 95ac 0x0080: c268 b97c 4c72 e2ff 1b9d 4cde 95e0 572f 0x0090: a7d1 5e89 13f4
Ich bitte um Erhellung.
Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko Schlittermann