PHP 使用 ping 命令ping ip

其实很简单

 <?php
 /**
  *@param $ip target ip
  *@param $times ping times
  */
 function ping($ip,$times=4)
 {  
     $info = array();
      if(!is_numeric($times) ||  $times-4<0)
      {
           $times = 4;
      }
      if (PATH_SEPARATOR==‘:‘ || DIRECTORY_SEPARATOR==‘/‘)//linux
      {
           exec("ping $ip -c $times",$info);
           if (count($info) < 9)
           {
            $info[‘error‘]=‘timeout‘;
        }
  }
  else //windows
  {
       exec("ping $ip -n $times",$info);
       if (count($info) < 10)
       {
         $info[‘error‘]=‘timeout‘;
       }
  }
  return $info;
 }
 $ip = ‘127.0.0.1‘;//IP地址
 print_r(ping($ip));
?>

结果如下:

Array

(

    [0] => 

    [1] => 正在 Ping 127.0.0.1 具有 32 字节的数据:

    [2] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64

    [3] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64

    [4] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64

    [5] => 来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64

    [6] => 

    [7] => 127.0.0.1 的 Ping 统计信息:

    [8] =>     数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),

    [9] => 往返行程的估计时间(以毫秒为单位):

    [10] =>     最短 = 0ms,最长 = 0ms,平均 = 0ms

)

try doing it!

时间: 2024-11-03 22:04:23

PHP 使用 ping 命令ping ip的相关文章

使用ping命令检测ip

cat ~/ping-thread-net.sh  #!/bin/bash PING (){     ( > /tmp/downip_list       > /tmp/upip_list     ping $1 -W1 -c1 -q > /dev/null 2>&1     if [ $? -ne 0 ];then         echo $1  >> /tmp/downip_list     else echo $1 >> /tmp/upip_

1.网络工具:ifconfig,ping,netstate,Redhat命令设置ip,finger,nslookup

 1 ip ad 查看网卡编号 2.ifconfig查看网卡信息 3.关闭网卡 4.启动网卡 5.给etho配置临时ip sudo ifconfig ethoIP地址 6.ping命令 ping [选项] 主机名/IP地址 查看网络上的主机是否在工作.它向该主机发送ICMP ECHO_REQUEST包.有时我们想从网络上的某台主机上下载文件,可以是又不知道那台主机是否开着,就需要使用ping命令查看. 命令中各选择项的含义如下: -c 数目在发送指定数目的包后停止. -d 设定SO_DEBU

通过ping命令检测主机的存活性

判断所有的业务系统中主机的存活性ping 问题描述:现在有一上线项目,用的环境为vsphere 虚拟化技术.由于不能随时判断各虚拟主机的存活性,保证业务系统的正常运行,现在需要编写一个脚本判断主机的存活性,将返回值与第三方短信平台进行对接 思路分析: 1.明确目的判断主机的存活性,可用ping 命令 ping各个虚拟机的IP进行判断 2.整个业务系统有多个虚拟IP,可用shell脚本中的for 循环 3.每隔一段时间执行循环一次,可用while循环 ,条件永远为真,时间间隔可用sleep 4.每

Ping命令与ICMP协议

ICMP协议 ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息 ping命令 ping命令通常用来作为网络可用性的检查.ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络. ping和ICMP的关系 ping命令发送数据使用的是ICMP协议. ping的原理 向指定的网络地址发送一定长度的数据包,

ubuntu 命令配置ip 网关 dns

如果是在虚拟机中使用Ubuntu,先设置好主机的网络,然后配置虚拟机Ubuntu的IP和网关 如果主机操作系统就是Ubuntu,请直接参照下文进行设置 内容如下: 1. 检验是否可以连通,就使用ping命令ping 网关 开始的时候总是现实unreachable 2. 设置IP sudo ifconfig eth0 133.133.133.190 netmask 255.255.255.0 这样就算设置好了网卡eth0的IP地址和子网掩码 3. 设置网关 sudo route add defau

Ubuntu命令设置ip网关dns

本文系转载,介绍Ubuntu如何设置IP和网络来连接网络 如果是在虚拟机中使用Ubuntu,那么设置之前请先参照我的上一遍文章虚拟机Net方式设置连接外网中的网络设置部分,先设置好主机的网络,然后配置虚拟机Ubuntu的IP和网关 如果主机操作系统就是Ubuntu,请直接参照下文进行设置 转载内容如下: 1. 检验是否可以连通,就使用ping命令ping 网关 开始的时候总是现实unreachable 2. 设置IP sudo ifconfig eth0 133.133.133.190 netm

Ping 命令实战小结--TCP/IP协议学习

2011-12-22 22:38:49 图1 图2 一,环境说明 硬件连线.PC与2440开发板直接用网线连接. PC的ip地址:192.168.0.107.2440开发板的ip地址:192.168.0.106 二,操作 在开发板的uboot中用输入命令.Ping 192.168.0.107 三,抓包及说明 Ping命令用到了ICMP协议.也就是说,MAC及ARP,IP都在其中了.属于网际层或者说是数据链路层,还没用到传输层和应用层.先用ARP解析地址.然后用ICMP检测可靠性,抓包效果见下图1

Swift和C混合Socket编程实现简单的ping命令

这个是用Mac下的Network Utility工具实现ping命令,用Wireshark抓取的ICMP数据包: 发送ICMP数据包内容 接受ICMP数据包内容 一.icmp结构 要真正了解ping命令实现原理,就要了解ping命令所使用到的TCP/IP协议.ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.ICMP协议是IP层的 一个协议,但是由于差错报告在发送给报文源发方时可能

Fedora-20上ping本机IP地址时的问题

在Fedora 20上写了一个简单的ping程序,创建原始套接字后没有设置任何选项,ping其他主机(NetBSD-1.0)的时候运行正常: [[email protected] network]# ./ping 192.168.1.114 PING 192.168.1.114: send packet(icmp): 08 00 cc 95 0d 4c 00 00 a5 a5 .....L.... a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 .......... a5 a5 a5