首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows中没有管理员帐户的嗅探原始套接字(SOCK_RAW)

在windows中没有管理员帐户的嗅探原始套接字(SOCK_RAW)
EN

Stack Overflow用户
提问于 2019-07-07 11:56:11
回答 2查看 846关注 0票数 1

我在visual studio和windows10 x64下使用c++创建了一个简单的嗅探器,但当我试图运行它时。我得到了Failed to create raw socket.,这是因为管理员权限,但我是在互联网上。我可以使用像CAP_NET_ADMIN这样的东西,但它是基于linux的。有没有办法在windows如wireshark下做非root用户的工作?

代码语言:javascript
复制
//Initialise Winsock
    printf("\nInitialising Winsock...");
    if (WSAStartup(MAKEWORD(2,2), &wsa) != 0)
    {
        printf("WSAStartup() failed.\n");
        return 1;
    }
    printf("Initialised");

    //Create a RAW Socket
    printf("\nCreating RAW Socket...");
    sniffer = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
    if (sniffer == INVALID_SOCKET)
    {
        printf("Failed to create raw socket.\n");
        return 1;
    }
    printf("Created.");
EN

回答 2

Stack Overflow用户

发布于 2019-07-08 14:40:24

Creating a Raw Socket

原始套接字提供了操纵底层传输的功能,因此它们可能被用于构成安全威胁的恶意目的。因此,只有Administrators组的成员才能在Windows2000和更高版本上创建SOCK_RAW类型的套接字。

票数 1
EN

Stack Overflow用户

发布于 2021-02-12 03:37:07

如果任何人在Wine上得到了这个,你需要允许wineserver使用Ping.SendPrivileged:

代码语言:javascript
复制
sudo setcap CAP_NET_RAW=ep /usr/bin/wine
sudo setcap CAP_NET_RAW=ep /usr/bin/wineserver
sudo setcap CAP_NET_RAW=ep YOUREXE.exe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56919236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档