我编写了一个C#程序来捕获和解析数据包,使用SharpPcap和PacketDotNet。当我在Administrator帐户中运行它时,它的性能很好,但是它还是会弹出一个窗口,如下所示:
这个问题的意思是“你想让这个应用程序对你的设备进行修改吗?”

但是,当我使用普通用户帐户登录并运行该程序时,它会发现并捕获一些异常:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> SharpPcap.PcapException: 慐正瑥敇䅴慤瑰牥慎敭㩳䌠畯摬❮⁴敧⁴牥潲敭獳条潦牥潲㘨㘲㤱㈴㈷)�岔ⶵ
at SharpPcap.LibPcap.LibPcapLiveDeviceList.GetDevices()
at SharpPcap.LibPcap.LibPcapLiveDeviceList.Refresh()
at SharpPcap.LibPcap.LibPcapLiveDeviceList..ctor()
at SharpPcap.LibPcap.LibPcapLiveDeviceList.get_Instance()
--- End of inner exception stack trace ---因此,我尝试在普通用户帐户下以管理员身份运行它。我发现这个程序可以毫无例外地运行!
我真的被这种情况弄糊涂了。我想知道如何使用普通的用户帐户运行它,并且它不会捕获异常!
发布于 2022-08-30 20:23:20
最有可能的原因是Npcap“只管理模式”。
来自https://npcap.com/guide/index.html
Npcap支持将其应用于安全目的的管理员。如果已安装Npcap选项“限制Npcap驱动程序只访问管理员”,则只有内置管理员才能通过用户软件(Nmap、Wireshark等)访问其特性。这提供了类似于在Linux/UNIX.
上对数据包捕获要求根访问的限制级别。
https://stackoverflow.com/questions/73500287
复制相似问题