最近在使用Wireshark进行抓包排错时,选择网卡后提示报错,在此之前从未出现过,报错内容如下:
- 提示内容是The capture session could not be initiated on capture device,无法在捕获设备上启动捕获会话
- 要求操作是Please turn off promiscuous mode for this device,需要在捕获选项中关闭网卡的混杂模式
- 但在网络排障中需要开启网卡的混杂模式才能抓到自己想要的数据来进行分析
非混杂模式与混杂模式的区别
非混杂模式:仅嗅探抓包所选择网卡有关的数据包,如发向它的和从它发出去的,或经它路由的都会被嗅探器捕捉。即非本机网卡的数据会被丢弃,当在网络设备中进行镜像抓包时就会抓不到镜像过来的流量。
混杂模式:嗅探网卡传输线路上所有的数据包,并且在非交换式网络,嗅探的是整个网络中的数据包,不管是有用或者没用的包都会抓取,捕获的是网卡所有数据包;在网络排障进行镜像抓包,Wireshark抓包用的网卡需要开启混杂模式,才能抓取到自己想要的数据包,来进行分析。
排查错误:
- 当我选择其他网卡时,开启混杂模式又是正常的
- 怀疑是不是`npcap`有问题,卸载到官网下载最新版本重装后,还是一样报错
- 我笔记本使用的是外接网卡,使用同事的外接网卡在我电脑上测试,发现是正常的
- 打开网络适配器查看,自己的外接网卡制造商是Realtek(瑞昱),同事的是ASUS(华硕),初步怀疑与网卡有关
问题解决:
- 通过查询在GitHub上找到条有用的信息,大概意思是需要安装Windows10的网卡驱动,而非Windows11的网卡驱动
- 的确在我从Windows10升级到Windows11后就没使用过外接网卡进行抓包,怀疑可能是升级到Windows11后,外接网卡驱动也自动升级到了对应的Windows11网卡驱动
- 用geek.exe卸载了电脑上的Realtek网卡,根据提示链接,进入到Realtek(瑞昱)下载了Windows10的网卡驱动,恢复正常
多数情况板载主板应该是PCIE驱动。链接吧:Realtek PCIe FE / GBE / 2.5G / Gaming Ethernet Family Controller Software