使用tcpdump识别vlan数据包

我试图找出我的主机接收或发送到其他主机的vlan标记数据包。 我试过了

tcpdump -i eth1 vlan 0x0070

但它没有工作。 有没有人试图通过tcpdump之前查看VLAN数据包? searchnetworking找不到多less帮助!

我认为你使用错误的工具是诚实的 – tcpdump更多地绑定到IP(L3),而VLAN是L2的一个特性 – 尝试使用wireshark来代替。

如果您的主机连接到访问端口,则交换机可能会在到达主机之前closuresVLAN标签。 因此,在相关主机上运行TCPDump将永远不会看到VLAN标记。

您需要设置一个SPAN端口和/或在networking的某个地方引入一个networking分stream器来抓取stream量,然后将这些标签从数据包中取出,以便在networking转储/跟踪中查看这些stream量。

你实际上可以使用linux来“解码”802.1q(vlan标记)。 你可以有效地把linux变成一个“在一根棍子上的路由器”,并且在一个思科思科第二层交换机(有许多vlan)上用单个以太网端口在vlans之间路由。

主以太网具有与vlan id相对应的“子接口”。 然后你可以分别路由和iptables(防火墙)子接口。

有一个连接到isp的外围linux防火墙和10个vlans的简单方法,但只使用一个以太网接口。

dot q是标准的,即使是思科也认为它成功了,所以它在linux上运行的很好。

编辑:启用此

modprobe 8021q

你可以运行tcpdump来侦听子接口