我正在尝试创建一个使用socket_create(int $domain, int $type, int $protocol).
ping一台机器的函数执行此操作的常见方法是使用SOCK_RAW类型 - 它允许绕过OSI传输层并制作自己的ICMPv4数据包(协议编号为1 - ICMP)。这是一个例子: http://php.net/manual/en/function.socket-create.php#101012
现在很明显,自Server 2008以来,绕过传输层需要管理员权限。 (我还在互联网上看到,在UNIX系统上,这也需要root凭据 - 但是当我运行Server 2008时,它并不关心我。)
但这很令人困惑,因为Windows上的cmd中的ping函数不需要管理员权限。它是如何工作的呢? 那么可以在PHP中编写一个不需要管理员权限的ping函数吗?