最近遇到一个 case,需要使用 windows 抓交换机 span 过来的流量,但是无论交换机怎么配置,windows 上 wireshark 抓到的报文总是没有 VLAN tag,让我一度怀疑交换机的配置是否出了问题,查了一些资料,发现需要修改下注册表,才能改变网卡的模式,让其捕获报文后不主动去掉 VLAN tag。
TOPO #
IXIA(VLAN)——–(Trunk)Switch(default)——–PC
IXIA 打封装 VLAN tag 的报文,到达交换机的 trunk 口,SPAN 的配置如下,将 trunk 接口的流量 span 到连接 PC 的接口,连接 PC 的接口配置默认即可。
交换机配置 #
WS3850-C#show run | section monitor
monitor session 66 source interface GigabitEthernet0/0
monitor session 66 destination interface Gi1/0/1 encapsulation dot1q
Windows 配置 #
找到需要 capture 数据包的网卡,例如我需要抓以太网的网卡上的流量,我的网卡是 Intel(R) 1219-LM
打开注册表
找到以下的路径,由于该路径下有很多文件夹,每个文件夹对应 PC 上的各个网卡,所以我们需要一个一个打开找到 DriverDesc 描述的是我们需要的网卡,例如我这边对应 0006 这个文件夹。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\
新建两个 DWORD 项,name 和 date 如下图所示:
效果如下: #
重启电脑后再进行抓包,就会发现 VLAN tag 不会被网卡移除了.