如何可靠地查看客户端上的 VLAN 标签?

网络工程 局域网
2022-03-01 12:45:52

我正在调查一些可能没有正确标记帧的 CPE。我可以使用什么来可靠地捕获带有 802.1q 标签的原始数据包?这成为一个问题,因为驱动程序/固件可能会在数据包传递到wireshark/tcpdump之前剥离标签。

生成标记流量也是如此。当我使用 Ostinato 生成 QinQ 帧时,我如何确定通过网络发送的帧实际上已被标记,但操作系统驱动程序(例如 Windows 10 + Intel ANT)甚至不支持 VLAN 功能。

我使用的网卡都是 Intel(i340-T4 等)。有问题的 CPE 是一些带有 Atheros 交换芯片的 Mikrotik RB4xx/7xx 和一些非托管交换机(测试它们如何处理标记帧)。我怀疑交换机芯片标记中存在一些错误,这就是为什么我不决定查看实际发送/接收的内容的原因。从我所读到的大多数英特尔网卡在硬件中处理 VLAN 标记并且不要传递它。

4个回答

Windows 没有内置的 VLAN 支持机制。除非存在添加此类支持的专用驱动程序,否则您无法从中捕获单独的物理和 VLAN 接口。

因此,您是否在 Wireshark 中看到 VLAN 标签将取决于您拥有的网络适配器以及它及其驱动程序对 VLAN 标签的作用。

大多数“简单”网络适配器(例如广泛使用的 Realtek RTL 8139)及其驱动程序将简单地将 VLAN 标记传递给上层来处理这些。在这种情况下,Wireshark 将看到 VLAN 标签并可以处理和显示它们。

一些更复杂的适配器将处理适配器和/或驱动程序中的 VLAN 标记。这包括一些英特尔适配器,据我所知,博通千兆芯片组(基于 NetXtreme / 57XX 的芯片)。此外,具有专用驱动程序的卡也可能会遵循此路径,以防止来自“真实”驱动程序的干扰。

来源

在 cisco 交换机上,不同的型号需要不同的配置。例如,在目标接口封装 dot1q 需要添加,这将允许交换机复制 vlan 标签到输出端口。

通过客户端,您是指像 PC 这样的主机吗?大多数人不了解VLAN标签,并且它所连接的交换机端口可能是一个不发送VLAN标签的访问端口,无论如何。如果您有一个发送 VLAN 标记的主机,您需要确保它连接到允许该 VLAN 的中继端口。

通常,您使用交换机内置的功能从中继中查看 VLAN。这因交换机型号而异。如果配置正确,托管交换机将在中继上标记 VLAN。您需要确保将中继设置为允许您期望的所有 VLAN。

您需要确保已连接到中继端口,只有这样您才会收到标记帧。这样,你可以连接你的电脑和wireshark,嗅探IP 0.0.0.0的流量,这意味着所有的流量。我认为您可以通过这种情况查看您的流量并查看您想要的内容。

这不应该是不可能的,因为您基本上对 WLAN 卡有同样的问题,它们还从操作系统中隐藏了所有丑陋的 WiFi 业务,并且只给它以太网帧。但仍有可用的软件让您查看所有 WiFi 特定数据包信息。

检查不同 NIC 在生成包时如何处理 VLAN 标记。现在很多 NIC 都支持 VLAN,如果你想生成带有 VLAN 标签的流量,它们应该是你最好的选择,因为它们显然知道如何正确地标记流量。