gpt4 book ai didi

.net 数据包嗅探 : attempt to create socket causes access error

转载 作者:行者123 更新时间:2023-12-01 02:44:50 26 4
gpt4 key购买 nike

我正在使用来自 Any good .net packet sniffers around? 的代码

在项目和独立项目中,我尝试使用以下行创建套接字:

mainSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Raw, ProtocolType.IP);

在那条线上,我立即得到一个异常(exception)
System.Net.Sockets.SocketException: An attempt was made to access a socket 
in a way forbidden by its access permissions

我不认为这是帐户权限的问题。我可以在这个帐户下运行 Fiddler 就好了。

这是为传出数据包打开监听器的正确方法吗?如果是这样,我需要做什么来避免权限错误?

更新 : .net 4.0 Windows 7 家庭高级版

最佳答案

您不能在没有管理权限的情况下创建原始套接字。

Raw sockets offer the capability to manipulate the underlying transport, so they can be used for malicious purposes that pose a security threat. Therefore, only members of the Administrators group can create sockets of type SOCK_RAW on Windows 2000 and later.



http://msdn.microsoft.com/en-us/library/windows/desktop/ms740548(v=vs.85).aspx

我不确定 Fiddler 是什么,但它可能使用 UAC 来自动获取管理员权限。

此外,如果您正在寻找合适的 .net 数据包嗅探器,您可能需要查看 SharpPcap ,它包装了已经很棒的 libpcap。

关于.net 数据包嗅探 : attempt to create socket causes access error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7149839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com