Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关

一. Wireshark有线网卡抓包报错The capture session could not be initiated on capture device

问题:

最近在使用Wireshark进行抓包排错时,选择网卡后提示报错,在此之前从未出现过,报错内容如下:

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第1张图片

  • 提示内容是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的网卡驱动

    Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第2张图片

  • 的确在我从Windows10升级到Windows11后就没使用过外接网卡进行抓包,怀疑可能是升级到Windows11后,外接网卡驱动也自动升级到了对应的Windows11网卡驱动

  • 用geek.exe卸载了电脑上的Realtek网卡,根据提示链接,进入到Realtek(瑞昱)下载了Windows10的网卡驱动,恢复正常

Realtek(瑞昱)官网驱动下载链接:

https://www.realtek.com/zh/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第3张图片

解决方法二:

方法可以。但是链接给的是USB驱动的,多数情况板载主板应该是PCIE驱动。加个链接吧

果然是 USB网卡 RTL8153,测试win11驱动报错,换win10驱动就好了。。

是的,这问题,还好当时客户现场同事电脑可用,不然完蛋了。也是后面回来查了两天资料才找到的[捂脸]

解决方法三:

具体原因应该是这个?

解决方法四(亲测有效):

是npcap的版本有问题。我win11用的1.71的不行,升级到1.75就行了

二 .好工具推荐系列:Wireshark v3.x可以捕捉本地数据了,WinPcap已替换为NPcap

Wireshark早期版本不支持抓取本地回环数据

在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark早期的版本是无法抓取到本机数据包的。Windows系统没有提供本地回环网络的接口,用wireshark早期版本监控网络的话只能看到经过网卡的流量,看不到访问localhost的流量,因为wireshark早期版本在windows系统上默认使用的是WinPcap来抓包的。而现在新版本已经用Npcap替换掉WinPcap,Npcap是基于WinPcap 4.1.3开发的,api兼容WinPcap。

回环数据(Loopback):就是指没有经过网卡的数据。

截止2020年3月9日,两者版本分别是winPcap_4.1.3、npcap-0.9988.

替代WinPcap的新型Windows网络数据包截获软件——NPcap

NPcap项目是最初2013年由Nmap网络扫描器项目(创始人Gordon Lyon)和北京大学罗杨博士发起,由Google公司的Summer of Code计划赞助的一个开源项目,遵循MIT协议(与WinPcap一致)。Npcap基于WinPcap 4.1.3源码基础上开发,支持32位和64位架构,在Windows Vista以上版本的系统中,采用NDIS 6技术的Npcap能够比原有的WinPcap数据包(NDIS 5)获得更好的抓包性能,并且稳定性更好。

Npcap还独具以下特点:

  1. 支持NDIS 6技术;

  2. 支持“只允许管理员Administrator”访问Npcap;

  3. 支持与WinPcap兼容或并存两种模式;

  4. 支持Windows平台的回环(Loopback)数据包采集;

  5. 支持Windows平台的回环(Loopback)数据包发送;

Wireshark-win64-3.2.2安装与使用

如果已安装WinPcap的请卸载,最好Wireshark旧版本一起卸载掉,重新安装新版本Wireshark-win64-3.2.2。
Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第4张图片

Wireshark安装过程中,会安装Npcap。

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第5张图片

安装好了以后,打开Wireshark,选择Adapter for Loopback traffic capture,就可以捕捉本地回环数据

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第6张图片

它不仅可以抓URL是localhost的,也可以是127.0.0.1。当然,抓本机IP也是完全可以的。

Wireshark临时的配置文件
存放在C:\Users<用户名>\AppData\Roaming\Wireshark

例如recent_common文件就记录了用户自定义的过滤器表达式。

抓包
过滤条件:

ip.addr == 192.168.10.10 and tcp


Wireshark · Download

Npcap: Windows Packet Capture Library & Driver

Npcap vs WinPcap"

GitHub - nmap/npcap: Nmap Project’s Windows packet capture and transmission library

三 .Winpcap与Npcap的区别

主要就三点:

1、winpcap已无人维护而npcap目前仍在维护,可提供专业级付费服务。

2、winpcap的开源协议是BSD,对于商业化软件很友好。而Npcap是LGPL,且免费的license只允许五次安装。

3、Npcap支持回环捕获。

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第7张图片

选择:

npcap基于winpcap进行的开发,且处于持续维护中。对于新版本windows兼容,以及安装运行的问题处理会更全面。

但版权问题限制了商业化的开发,先考虑使用winpcap,如果在实施过程中出现无法安装或使用的问题再考虑迁移到Npcap(调用函数都是相同的,迁移成本应该不大)。

参考链接:

Npcap vs WinPcap”

四 .Ncap初识

什么是Npcap

Npcap是用于Windows操作系统的数据包捕获和网络分析的体系结构,由软件库和网络驱动程序组成。
    大多数网络应用程序都通过广泛使用的操作系统原语(例如套接字)访问网络。用这种方法很容易访问网络上的数据,因为操作系统可以处理低级细节(协议处理,数据包重组等),并提供类似于用于读取和写入文件的界面。
    但是,有时候,“简便方法”不能胜任这项工作,因为某些应用程序需要直接访问网络上的数据包。也就是说,他们需要访问网络上的“原始”数据,而无需操作系统介入协议处理。
    Npcap的目的是使这种对Windows应用程序的访问。它提供以下功能:

  • 捕获原始数据包,包括发往运行机器的原始数据包和与其他主机(在共享媒体上)交换的原始数据包

  • 根据用户指定的规则对数据包进行过滤

  • 再将其分发给应用程序

  • 将原始数据包发送到网络

  • 收集统计信息在网络上的流量

升级WinpCap到Npcap

在大多数情况下,Npcap与为WinPcap编写的软件完全兼容。需要对称为“ DLL加载”的部分进行较小的更改,在某些情况下,还应对称为“服务名称”的部分进行更改。但是,在WinPcap的最新版本和Npcap的当前版本之间,libpcap API进行了许多改进。查看这些更改可能有助于提高使用Npcap的软件的性能,可靠性和可维护性。
    除了libpcap API外,WinPcap还导出了WinDump使用的一些函数,这些函数与将Unix风格的工具移植到Windows有关,但与数据包捕获无关

npcap关闭_npcap是什么软件

npcap是一个网络数据包抓包工具,是WinPcap的改进版;它支持NDIS 6技术、“只允许管理员Administrator”访问Npcap、与WinPcap兼容或并存两种模式;支持Windows平台的回环数据包采集和发送。

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第8张图片

本教程操作环境:windows7系统、Dell G3电脑、Npcap 0.9994。

Npcap是一款著名网络数据包抓包工具WinPcap的改进版。本软件致力于采用Microsoft Light-Weight Filter (NDIS 6 LWF)技术和Windows Filtering Platform (NDIS 6 WFP)技术对当前最流行的WinPcap工具包进行改进。比之前代拥有更好的抓包性能,并且稳定性优异。

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device以及NPcap、WinPcap相关_第9张图片

软件特点:

1、支持NDIS 6技术;

2、支持“只允许管理员Administrator”访问Npcap;

3、支持与WinPcap兼容或并存两种模式;

4、支持Windows平台的回环(Loopback)数据包采集;

5、支持Windows平台的回环(Loopback)数据包发送;







CGN小刀

Wireshark有线网卡抓包报错The capture session could not be initiated on capture device

利白

好工具推荐系列:Wireshark v3.x可以捕捉本地数据了,WinPcap已替换为NPcap

hhlhhll

Winpcap与Npcap的区别

weixin_39914938

npcap关闭_npcap是什么软件

你可能感兴趣的:(公开,运维,wireshark,网络,测试工具)