【手把手教】wireshark抓带vlan的报文

引言

在测试过程中,经常需要抓取报文,查看报文的vlan值是否正确。由于Windows和wireshark默认不支持抓取和显示带vlan的报文,需要按以下步骤设置网卡、修改注册表及设置wirehark。


网卡信息查询及设置

1、选中桌面“网络”图标,右键选中属性

68c7ed8713db449d8a888fbbf107f943.png

2、在新窗口,点击“更改适配器设置”

d3947603d0c7484d84775d71dce226a5.png

3、选中要设置的网卡,右键选择属性(注:如果有多个网卡都要抓vlan报文,每个网卡要单独设置)

7badedf7637e4980a9d094680cb8cbc6.png

4、在网卡属性页面,点击“配置”

6ea91a32f1444b88bb50f5287ffda94b.png

5、切换到“详细信息”页,属性下拉框选择“类 Guid”,记录对应的值如下图的“{4d36e972-e325-11ce-bfc1-08002be10318}”,并记录网卡的描述如下图的“Intel(R) Ethernet Connection (13)1219-V”。

7fbcd8e500104043a089e99f15ed1ee2.png

6、切换到“高级”页,将“数据包优先级和VLAN”的值改成“已启用数据包优先级和VLAN”

e7d0011be07a40119a9643ab194baaf1.png

修改注册表

1、同时按下win+R键,输入regedit,回车打开注册表编辑器

d3897a52203544f890fcc73508bb3675.png

2、输入“计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}\”,定位到节点,其中{4d36e972-e325-11ce-bfc1-08002be10318}替换成步骤5获取到的类Guid的值;然后依次点开0000~0017网卡,查看DriverDes与步骤5获取到的网卡描述一致的网卡,即是要设置的网卡。

b6328935b2754c39a295960bd382220f.png

3、查看该网卡下是否已经有以下三个键,没有则右键新建,并设为1,然后重启电脑

MonitorMode,类型是REG_DWORD,值设成1

MonitorModeEnable,类型是REG_DWORD,值设成1

SkDisableVlanStrip,类型是REG_DWORD,值设成1

右键选择“新建”-->"DWORD(32位值(D)"

99712a5bc70646339f82fb9a02122329.png

输入键名如“MonitorMode”,右键选择修改

4f3587b2876440fa948895ed5d70478d.png

选择十六进制,数值输入1,点击确定按钮完成修改

8d3fd41355ae48749b866025a4ac8d8c.png

5、添加完成后,结果如下,关闭注册表重启电脑后生效

cdd04396db3a4d399980f3e9a041661b.png

设置wireshark

1、打开wireshark,在主页面点击“捕获选项”按钮,在捕获选项窗口,勾选在所有接口上使用混杂模式

注:混杂模式指网卡会抓取所有网卡接收到报文,非混杂模式下网卡指抓取目标是网卡的报文,在工作中通常是要镜像抓取交换机某个端口的报文,所以需要启用混杂模式。

41f44468a8d44218bb51fd74a32a5f80.png

2、添加vlan列

默认情况下,wireshark显示结果并把vlan单独列出来,需要手动添加vlan列

在wireshark主页面,点击编辑菜单,选择“首选项”

e5d517dca15c46a3997d24e37f8be926.png

在首选项窗口,点开“外观”-->"列“,点击加号按钮,title输入”VLAN“,类型选择”Custom“,Fields输入”vlan.id||nstrace.vlan“,最后点击确认完成添加

8125d00035c04ac6b88c66abe16b3fc8.png

抓包显示效果

单独列出vlan,在报文可以看到vlan字段

588feba4931f4311a2c4e087c7cbe08f.png

 

<think> 嗯,用户需要了解在PC上使用WiresharkVLAN报文的方法。结合之前的引用内容,尤其是引用[2]和[3]提供的Windows系统操作步骤最为关键。 用户应该是网络管理员或测试工程师,需要验证VLAN标签的正确性。ta的提问非常具体,说明可能遇到了实际包需求,且引用[2]提到"测试过程中经常需要报文",这个场景很吻合。用户情绪可能有些着急,因为引用[2]特别指出Windows默认不支持,需要复杂设置。 重点整理三个核心操作:首先是Wireshark列设置,这是可视化基础;其次是网卡驱动的高级设置,需要禁用VLAN卸载功能;最后是注册表修改,这两步最容易出错。引用[3]的注册表路径示例特别提醒了"0022"可能不同,这个细节必须强调。 考虑到用户实操时可能遇到的坑:不同网卡驱动界面差异(引用[2]提到"有的网卡可能得设置使能")、注册表路径的GUID差异(引用[4]补充说明)、以及需要重启这点很容易被忽略。在回答里要把这些注意事项前置。 是否需要展开Linux方案?引用[3]提到Ubuntu用tcpdump加-e参数更简单,但用户明确问PC端(通常指Windows),所以作为补充即可。最后应该提醒包位置——必须在VLAN标记未剥离的网络节点,这个原理性提示能避免用户做无用功。 </think> 以下是在**Windows PC**上使用WiresharkVLAN报文的标准方法,综合引用内容整理为清晰步骤: --- ### **详细操作步骤** #### **1. 设置网卡驱动(关键步骤)** - 打开 **控制面板 > 网络和共享中心 > 更改适配器设置** - 右键包网卡 → **属性** → 选择 **Microsoft网络客户端** → 点击 **配置** - 切换到 **高级** 选项卡: - 找到 **Priority & VLAN**(或**优先级和VLAN**) - 值改为 **Packet Priority & VLAN Disabled**(或**禁止**)[^2][^3] - *注:部分网卡需改为"Enable",请根据实际测试调整* #### **2. 修改注册表(必需)** - **Win+R** 输入 `regedit` 打开注册表编辑器 - 定位路径(注意设备GUID可能不同): ``` HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\<YourAdapterID> ``` > *如何获取`<YourAdapterID>`?* > 网卡属性 → **详细信息** → 选择 **驱动程序关键字** → 记录末尾数字(如`0018`或`0022`)[^3][^4] - 在右侧新建/修改以下DWORD值(32位): | 名称 | 值 | |-----------------------|-----| | `MonitorModeEnabled` | `1` | | `PreserveVlanInfoInRxPacket` | `1` | - **重启电脑生效** [^3] #### **3. 配置Wireshark显示VLAN列** - 打开Wireshark → **编辑 > 首选项** - 左侧选择 **外观 > 列** → 点击 **+** 添加新列: - **标题**: `VLAN` (自定义名称) - **类型**: `802.1Q VLAN id` - 保存后可在主界面看到VLAN ID列 [^1][^3] #### **4. 包与验证** - 重启后使用Wireshark包 - 在数据包详情中展开 **Ethernet II** 层 - 若操作成功,将显示 **802.1Q Virtual LAN** 字段并包含VLAN ID [^1] --- ### **关键注意事项** 1. **GUID差异** 注册表路径中的`<YourAdapterID>`(如`0018`)因网卡而异,必须通过**驱动程序关键字**确认[^4]。 2. **VLAN位置限制** 需在**交换机Trunk口**或**路由器子接口**连接的PC上包,Access端口会剥离VLAN标签。 3. **Linux简化方案** Ubuntu系统可直接用命令包: ```bash tcpdump -i eth0 -e -vvv -w vlan.pcap # -e参数保留以太网帧头(含VLAN)[^3] ``` --- ### **常见问题解决** - **不到VLAN标签?** → 检查注册表路径是否匹配网卡ID → 确认网卡高级设置中的VLAN状态 → 确保包点在Trunk链路 - **Wireshark不显示VLAN列?** → 检查列配置是否正确 → 更新Wireshark至最新版 - **虚拟机环境?** 需在**物理网卡**执行上述操作,虚拟网卡通常无法透传VLAN标签。 > *提示:企业网络包前请获得管理员授权,避免触发安全策略[^1]。* ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交换机路由器测试之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值