引言
在测试过程中,经常需要抓取报文,查看报文的vlan值是否正确。由于Windows和wireshark默认不支持抓取和显示带vlan的报文,需要按以下步骤设置网卡、修改注册表及设置wirehark。
网卡信息查询及设置
1、选中桌面“网络”图标,右键选中属性
2、在新窗口,点击“更改适配器设置”
3、选中要设置的网卡,右键选择属性(注:如果有多个网卡都要抓vlan报文,每个网卡要单独设置)
4、在网卡属性页面,点击“配置”
5、切换到“详细信息”页,属性下拉框选择“类 Guid”,记录对应的值如下图的“{4d36e972-e325-11ce-bfc1-08002be10318}”,并记录网卡的描述如下图的“Intel(R) Ethernet Connection (13)1219-V”。
6、切换到“高级”页,将“数据包优先级和VLAN”的值改成“已启用数据包优先级和VLAN”
修改注册表
1、同时按下win+R键,输入regedit,回车打开注册表编辑器
2、输入“计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}\”,定位到节点,其中{4d36e972-e325-11ce-bfc1-08002be10318}替换成步骤5获取到的类Guid的值;然后依次点开0000~0017网卡,查看DriverDes与步骤5获取到的网卡描述一致的网卡,即是要设置的网卡。
3、查看该网卡下是否已经有以下三个键,没有则右键新建,并设为1,然后重启电脑
MonitorMode,类型是REG_DWORD,值设成1
MonitorModeEnable,类型是REG_DWORD,值设成1
SkDisableVlanStrip,类型是REG_DWORD,值设成1
右键选择“新建”-->"DWORD(32位值(D)"
输入键名如“MonitorMode”,右键选择修改
选择十六进制,数值输入1,点击确定按钮完成修改
5、添加完成后,结果如下,关闭注册表重启电脑后生效
设置wireshark
1、打开wireshark,在主页面点击“捕获选项”按钮,在捕获选项窗口,勾选在所有接口上使用混杂模式
注:混杂模式指网卡会抓取所有网卡接收到报文,非混杂模式下网卡指抓取目标是网卡的报文,在工作中通常是要镜像抓取交换机某个端口的报文,所以需要启用混杂模式。
2、添加vlan列
默认情况下,wireshark显示结果并把vlan单独列出来,需要手动添加vlan列
在wireshark主页面,点击编辑菜单,选择“首选项”
在首选项窗口,点开“外观”-->"列“,点击加号按钮,title输入”VLAN“,类型选择”Custom“,Fields输入”vlan.id||nstrace.vlan“,最后点击确认完成添加
抓包显示效果
单独列出vlan,在报文可以看到vlan字段