php做Ping的IP和端口测试

因为朋友说端口连接不上,特意试了一下用php做Ping测试,结果还是挺满意的。

代码和运行图如下:(如果有大神改进就更好了)

<?php

$host = 'www.php100.com';

$port = '80';

$num = 3; //Ping次数

//获取时间

function mt_f (){

list($usec,$sec) = explode(" ",microtime());

return ((float)$usec + (float)$sec); //微秒加秒

}

function ping_f($host,$port){

$time_s = mt_f();

$ip = gethostbyname($host);

$fp = @fsockopen($host,$port);

if(!$fp)

return 'reply time out!';

$get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnect:".$port."Close\r\n";

fputs($fp,$get);

fclose($fp);

$time_e = mt_f();

$time = $time_e - $time_s;

$time = ceil($time * 1000);

return 'reply from '.$ip.':'.$port.' time = '.$time.'ms<br />';

}

echo 'ping to '.$host.' ['.gethostbyname($host).'] with port:'.$port.' of data:<br />';

for($i = 0;$i < $num;$i++){

echo ping_f($host,$port);

//每次运行中间间隔1S

sleep(1);

//刷新输出缓存

ob_flush();

flush();

}

?>

时间: 2024-11-02 22:28:04

php做Ping的IP和端口测试的相关文章

我想用单片机连接windows azure ping的IP,ping 不通怎么办呢?

问题描述 我想用单片机连接windows azure ping的IP,ping 不通怎么办呢? 大家好,我想问下,我想用单片机连接windows azure ping的IP,ping 不通怎么办呢? 解决方案 您好,Azure VM的负载均衡器是不允许ICMP协议的,因此您是无法使用Ping命令去ping VM或者是云服务中的instance 地址.但是您可以采用其他的Ping 工具比如PSPing等.更多这方面的信息,建议您参考这个帖子的回复:https://social.msdn.micro

PowerShell脚本开发之对指定IP进行端口扫描_PowerShell

前些天看到一篇关于Metasploit与PowerShell的文章,里面提到了一句关于端口扫描的语句,写的很简练,思路很不错,可以抛开笨重的Nmap直接扫描指定的指定IP的端口: 复制代码 代码如下: 1..1024 | %{ echo ((new-object Net.Sockets.TcpClient).Connect("192.168.10.26",$_)) "$_ is open"} 2>$null       语句中直接通过..列举了1到1024之间

centos DNS问题:只能ping通IP域名

情景:前一天在虚拟机中配置好了centos6.3 ,可以正常上网,顺便把ftp服务器搭建起来,今天一开机这货竟然不能上网了,郁闷.... 问题: 如下图: 可以ping通ip地址,不过域名ping通... 解决过程:step1)初步判断DNS有问题 step2)googling... step3)修改配置文件/etc/resolv.conf;并保存,图如下: step4)重新启动服务,用以加载配置文件 更多精彩内容:http://www.bianceng.cnhttp://www.biancen

大家好,我想用单片机连接windows azure ping的IP,ping 不通怎么办呢?

问题描述 大家好,我想用单片机连接windows azure ping的IP,ping 不通怎么办呢? 大家好,我想用单片机连接windows azure ping的IP,ping 不通怎么办呢? 解决方案 Windows Azure 不能ping通如何解决? 为了避免Ping Flood攻击,Windows Azure不开放对外ICMP通讯协定,所以使用ping命令我们是无法ping通的.在微软资料中心内不相同 Virtual Network 下的 VM,只有操作系统有开放 ICMP,VM 彼

服务器-DNS无法解析外网域名但是能ping通IP

问题描述 DNS无法解析外网域名但是能ping通IP 自己做的AD跟DNS 但是无法解析到外部的域名 但是可以ping通外部的IP.转发器也设置了,求教

我在C#里面使用UdpClient这个类侦听端口:11000时,如何得到向我发信息人的IP与端口呢

问题描述 我的机器是处在公网,用UdpClient类的Receive()方法来接收信息,但这个方法只能得到信息内容,不能得到信息从哪个IP.端口而来.两台机器都在公网还好做,就把自已的IP打包成数据发送过去就行了.如果有一台机器在内网,内网的机器使用Dns.GetHostEntry(Dns.GetHostName())也只能得到内网IP,打包内网IP发过去也没用了.只要接收方能够得到发信息方的IP和端口就好办了.很急,知道的朋友帮帮忙啊. 解决方案 解决方案二:Receive需要一下IPEndP

Delphi2010中DataSnap高级技术(3)—DataSnap服务器如何得到客户端的IP和端口

作为一个服务器软件,必须做到对客户端强有力的控制,想要控制,就必须得到客户端的网络基本信息,比如客户端IP和端口.有了客户端IP就能随心所欲操控客户端,比如终止某些客户端的连接.限制功能等等. 在delphi2010中的datasnap服务器如何获得客户端ip,的确花了我点时间,奇怪为什么这个功能不做的更人性化点呢,功能总是藏着掖着.还得让程序员像寻宝一样摸索,浪费时间.现在把我整理的结果奉献给大家,免得大家在花时间研究这个. 另外,通过研究发现,DSConnectEventObject.Cha

向亲戚朋友解释系列之什么是IP,端口和域名

IP,端口和域名对于专业的人来说并不陌生,但是对于非专业的同学可能并不熟悉,写这个文章的目的: 一是想装"砖家"(事实上我也不是很懂)"科普"一下计算机的知识, 二是想练习一下表达,把自己懂的知识梳理一下,转化成"人类的语言". 首先提出一个对应关系: 1.简书------->小明家 2.www.jianshu.com------>xxx路xxx号 3.180.150.186.235------>东经xxx度xxx分,北纬xxx

PowerShell脚本开发之批量扫描IP和端口_PowerShell

前面的文章中曾经发布了对指定IP进行批量端口扫描的方法和脚本,过PowerShell收发TCP和UDP消息包的方法以及通过PowerShell尝试登录SQLServer服务的方法,这构成了PSNet程序集用于通过PowerShell对网络状态进行操作.最近在不断尝试之下,找到了对指定范围的IP段进行扫描和对端口进行扫描的方法,本文将会介绍如何通过PowerShell批量扫描IP及其对应的端口. 依然在PSNet程序集的基础上进行扩展,首先在$env:PSSpace/PSNet/TCPOp下创建脚