试用php的ping命令
使用PHP自动PING IP,校检网络连接是否正常!
- <?php
- $server = 'ping kalvin.cn -n 1';
- $last_line = exec($server, $arr);
- echo "$last_line"; //最后总结结果
- print_r($arr); //PING命令详细数据数组
- ?>
国外一位大师使用Sockets 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);
- ?>
转自http://blog.csdn.net/gumanren/article/details/5752394
试用php的ping命令的更多相关文章
- [服务器]脚本:批处理带参数ping命令 发送邮件脚本
1.批处理带参数ping命令 @echo offecho Input you IP address ......set /p IP=echo Your IP number is %IP%.ping % ...
- Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决
Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令 解决: apt-get update apt install net-tools # ifconfig apt ...
- windows 环境和linux环境下 ping命令的区别:
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...
- ping命令执行过程详解
[TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...
- ping命令脚本实现显示网络状态、学生姓名、学号
#!/bin/bash a=. ####定义一个固定变量 h=(wanghao xieyunshen 刘桃) ####定义数组 ..} ####for循环,后面的in是条件即从多少循环到多少 do # ...
- [小菜随笔]python tkinter实现简单的ping命令
本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有 ...
- cmd中用PING命令时,出现'Ping' 不是内部或外部命令 解决方案
在cmd中用PING命令时,出现'Ping' 不是内部或外部命令,也不是可运行的程序或批处理文件.先了解一下内容:1.可执行文件.命令文件和批处理文件以.exe或者.com或者.bat为扩展名的文件分 ...
- ping命令
ping命令能够用于判断一个主机是否可达或者是否存活.它的工作原理就像潜水艇的探测原理一样.该命令通过向目标计算机发送一个数据包,请求目标计算机回送该数据包以表明自己还存活着.同时该命令还能够知道数据 ...
- 每天一个linux命令(54):ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
随机推荐
- 【转载】HTTP 请求头与请求体
原文地址: https://segmentfault.com/a/1190000006689767 HTTP Request HTTP 的请求报文分为三个部分 请求行.请求头和请求体,格式如图:一个典 ...
- [文章转载]-我的Java后端书架-江南白衣
我的Java后端书架 (2016年暮春3.0版) 04月 24, 2016 | Filed under 技术 书架主要针对Java后端开发. 3.0版把一些后来买的.看的书添补进来,又或删掉或降级一些 ...
- Zabbix 监控redis
Zabbix 监控redis 1.监控脚本,github上的 [root@localhost ~]# cat /etc/zabbix/script/redis-status.sh #!/bin/bas ...
- PHP 之base16加密解密封装
/** * @Description: base16加密 * @Author: Yang * @param $data * @return string */ function base16_enco ...
- 批量obj格式直接转gltf
在cesium中的模型需要的是gltf或glb格式的文件,之前的做法是用将模型从3d max中导出dae格式的文件(需要插件),然后用collada2gltf工具将dae格式转成gltf. 最近翻看c ...
- jquery 实现 单选框点击取消
<label for="1" class="z-label"> <input type="radio" class=&qu ...
- idea热更新配置
idea部署热启动如下,经过本人实验 在这里只能选择exploded因为它支持热部署 在这里选择如下 到这里已经完成热部署了,如果有问题欢迎反馈给我,我会及时回复
- 啥是SQL?
SQL:(Structured Query Language)是结构化查询语言缩写.是一门专门与数据库管理系统打交道的语言. SQL语言:是关系型数据库的标准语言,,其主要用于存取数据,查询数据,更新 ...
- NOI2017爆零记[AFO]
WC2017 12分……全省第一…… APIO2017 4分……全省第二…… 千言万语汇成两个表格 NOI2017 114分(笔试100+一试4+二试5+A类5)……全省第三…… 全场最菜…… day ...
- [bzoj1010][HNOI2008]玩具装箱toy_斜率优化dp
玩具装箱toy bzoj-1010 HNOI-2008 题目大意:P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一 ...