Я создаю простой сниффер, используя c ++ в visual studio и windows 10 x64, но когда я пытался его запустить. Я получил Failed to create raw socket.
, что связано с правами администратора, но я заходил в Интернет. Я мог бы использовать что-то вроде CAP_NET_ADMIN
, но это на основе Linux. Есть ли способ сделать под Windows, например, работает Wireshark не-root пользователей?
//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.");