Почему пинг работает без прав администратора? - PullRequest
13 голосов
/ 07 октября 2011

Как вы, возможно, знаете, невозможно создать сокеты RAW, используя Windows Sockets , не имея прав администратора.Проблема в том, что мне нужно отправлять ICMP-сообщения, поэтому мне нужны RAW-сокеты.Проблема: Моя программа должна работать без административных привилегий.

Это привело меня к вопросу, как инструмент ping отправляет ICMP-сообщения без административных привилегий?

1 Ответ

15 голосов
/ 07 октября 2011

Хотя ICMP использует сокеты RAW (для которых требуются права администратора в Windows 2000 и более поздних версиях), Microsoft обходит свои собственные правила безопасности, чтобы позволить своим API-интерфейсам ICMP проходить.Таким образом, не используйте RAW-сокеты напрямую для отправки собственных сообщений проверки связи ICMP.Вместо этого используйте IcmpSendEcho() и соответствующие функции.

...