Я пытаюсь определить пакеты с тегами vlan, которые мой хост получает или отправляет другим хостам. Я попытался
tcpdump -i eth1 vlan 0x0070
Но это не сработало. Кто-нибудь пробовал раньше просматривать vlan-пакеты через tcpdump? Не удалось найти помощи при поиске в Интернете!
Честно говоря, я думаю, вы используете неправильный инструмент - tcpdump больше привязан к IP (L3), тогда как VLAN - это функция L2 - попробуйте вместо этого использовать wirehark.
вы действительно можете использовать Linux для «декодирования» 802.1q (теги vlan). вы можете эффективно превратить Linux в «маршрутизатор на флешке» и маршрутизировать между виртуальными локальными сетями, с одним портом Ethernet, на модном коммутаторе уровня 2 Cisco (который имеет множество виртуальных локальных сетей).
основная сеть Ethernet имеет «подинтерфейсы», которые соответствуют идентификатору vlan. затем вы можете маршрутизировать и iptables (брандмауэр) индивидуально для субинтерфейсов.
это простой способ подключить брандмауэр Linux по периметру к isp и 10 vlan за ним, но только с использованием одного интерфейса Ethernet.
точка q является стандартом, даже несмотря на то, что Cisco думает, что она ее придумала, поэтому отлично работает в Linux.
РЕДАКТИРОВАТЬ: чтобы включить это
modprobe 8021q
затем вы можете запустить tcpdump для прослушивания подинтерфейсов
Если ваш хост подключен к порту доступа, коммутатор, скорее всего, отключит тег VLAN, прежде чем он достигнет вашего хоста. В результате запуск TCPDump на рассматриваемом хосте никогда не увидит теги VLAN.
Вам нужно будет настроить порт SPAN и / или ввести сетевой ответ в вашу сеть где-нибудь, чтобы захватить трафик до того, как теги будут сброшены с пакетов, чтобы увидеть их в дампе / трассировке сети.