tcpdump: захоплення одного з кількох вланів


11

Я хочу, щоб tcpdump захопив VLAN 1000 або VLAN 501. man pcap-filterкаже:

Вираз vlan [vlan_id] може використовуватися не один раз для фільтрації за ієрархіями VLAN. Кожне використання цього виразу збільшує зміщення фільтра на 4.

Коли я роблю:

tcpdump -vv -i eth1 \( vlan 1000 \) and \( ip host 10.1.1.98 or ip host 10.1.1.99 \)

Я отримую захоплені пакети.

Але коли я це роблю:

tcpdump -vv -i eth1 \( vlan 1000 or vlan 501 \) and \( ip host 10.1.1.98 or ip host 10.1.1.99 \)

Я не отримую жодних пакетів - я гадаю, через поведінку "збільшення на 4", описану на сторінці "man".

Як я можу фіксувати трафік на декількох VLAN одночасно?

Відповіді:


15

Я згадав, що ви можете оглянути пакетні байти безпосередньо. Отже, дивлячись безпосередньо в заголовок Ethernet, працює:

tcpdump -vv -i eth1 '( vlan and ( ether[14:2] & 0xfff == 1000 or ether[14:2] & 0xfff == 501 ) ) and ( ip host 10.1.1.98 or ip host 10.1.1.99 )'

Не забувайте :2, це 2-байтове поле - я затримався на цьому на деякий час.


6

Це можна зробити більш простим способом, ніж використання іспиту з глибоким пакетом, просто використовуйте grep:

tcpdump -n -i eth1 -e | grep "vlan 1000" 

-e: надрукуйте заголовок рівня посилання на кожному рядку дамп.

він буде друкувати такі лінії, як

ethertype 802.1Q (0x8100), length 60: vlan 1000, p 0, ethertype ARP

яку можна легко зловити грепом

Якщо ви хочете зловити більше одного ідентифікатора VLAN, ви можете скористатися командою типу:

tcpdump -n -i eth1 -e | grep "vlan 1000\|vlan 501"

-1

Здається, фільтр vlan зміщує вміст пакету ....

http://www.christian-rossow.de/articles/tcpdump_filter_mixed_tagged_and_untagged_VLAN_traffic.php


2
Будь ласка, не публікуйте відповідей лише для посилань. Вони низькоякісні, оскільки посилання можуть змінюватися / залишатися несвіжими. Найкраще включити необхідні дані безпосередньо у свій пост та надати посилання лише для довідки.
Касталья
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.