尝试ping时增加异常

时间:2013-11-26 14:10:32

标签: c++ boost-asio

我正在使用给定链接的样本来ping给定的IP列表 http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/example/icmp/ping.cpp
当我尝试ping IP时,我在初始化时自己得到这个例外 异常打开:尝试以访问权限禁止的方式访问套接字
造成这个问题的原因是什么? 我在Windows 7 64位上运行它

1 个答案:

答案 0 :(得分:2)

出于安全原因,某些系统将原始套接字的使用限制为具有管理员权限的用户。 Boost.Asio的ICMP套接字实现使用原始套接字,因此需要应用程序以管理员权限运行。 Windows documentation声明:

  

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

Windows提供了IcmpSendEcho()系列函数,可用于发送和处理ICMP echo请求/响应,而无需管理权限,因为未公开原始套接字。