可能重复:
为什么ping没有管理员权限?
从有关TCP/IP原始套接字的MSDN文章:
...重要的是要了解一些SOCK_RAW类型的套接字可能会收到许多意外的数据报.例如,PING程序可以创建一个SOCK_RAW类型的套接字来发送ICMP回应请求并接收响应....
这篇文章表明,为了执行ICMP ping,必须在Windows平台上使用原始套接字.但是,同一篇文章也说:
注意: 要使用SOCK_RAW类型的套接字,需要具有管理权限.运行使用原始套接字的Winsock应用程序的用户必须是本地计算机上Administrators组的成员,否则原始套接字调用将失败,错误代码为WSAEACCES.在Windows Vista及更高版本中,在创建套接字时强制访问原始套接字.在早期版本的Windows中,在其他套接字操作期间强制访问原始套接字.
我当然不需要成为ping其他主机的管理员.那么ping.exe得到特殊待遇,甚至使用原始套接字还是还有其他我缺少的东西?
正如Uwe评论的那样,ping只是不使用原始套接字.它使用特定的API发送名为IcmpSendEcho或IcmpSendEcho2的 echo请求.
您可以使用的Dependency Walker就c:\windows\system32\ping.exe自己看看吧.