php自动配置ip,使用PHP自动PING IP | 学步园

使用PHP自动PING IP,校检网络连接是否正常!

$server = 'ping kalvin.cn -n 1';

$last_line = exec($server, $arr);

echo "$last_line"; //最后总结结果

print_r($arr); //PING命令详细数据数组

?>

PHP代码

// Checksum calculation function

function icmpChecksum($data)

{

if (strlen($data)%2)

$data .= "/x00";

$bit = unpack('n*', $data);

$sum = array_sum($bit);

while ($sum >> 16)

$sum = ($sum >> 16) + ($sum & 0xffff);

return pack('n*', ~$sum);

}

// Making the package

$type= "/x08";

$code= "/x00";

$checksum= "/x00/x00";

$identifier = "/x00/x00";

$seqNumber = "/x00/x00";

$data= "Scarface";

$package = $type.$code.$checksum.$identifier.$seqNumber.$data;

$checksum = icmpChecksum($package); // Calculate the checksum

$package = $type.$code.$checksum.$identifier.$seqNumber.$data;

// And off to the sockets

$socket = socket_create(AF_INET, SOCK_RAW, 1);

socket_connect($socket, "www.google.com", null);

// If you're using below PHP 5, see the manual for the microtime_float

// function. Instead of just using the m

// icrotime() function.

$startTime = microtime(true);

socket_send($socket, $package, strLen($package), 0);

if (socket_read($socket, 255)) {

echo round(microtime(true) - $startTime, 4) .' seconds';

}

socket_close($socket);

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值