国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php實現的ping端口函數實例代碼

2020-03-22 18:47:57
字體:
來源:轉載
供稿:網友
Ping是Windows、Unix和html' target='_blank'>Linux系統下的一個命令。ping也屬于一個通信協議,是TCP/IP協議的一部分。利用“ping”命令可以檢查網絡是否連通,可以很好地幫助我們分析和判定網絡故障。應用格式:Ping空格IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。

PING (Packet Internet Groper),因特網包探索器,用于測試網絡連接量的程序。Ping發送一個ICMP(Internet Control Messages Protocol)即因特網信報控制協議;回聲請求消息給目的地并報告是否收到所希望的ICMPecho (ICMP回聲應答)。它是用來檢查網絡是否通暢或者網絡連接速度的命令。作為一個生活在網絡上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網絡上機器IP地址的唯一性,給目標IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來確定兩臺網絡機器是否連接相通,時延是多少。

ping指的是端對端連通,通常用來作為可用性的檢查, 但是某些病毒木馬會強行大量遠程執行ping命令搶占你的網絡資源,導致系統變慢,網速變慢。嚴禁ping入侵作為大多數防火墻的一個基本功能提供給用戶進行選擇。通常的情況下你如果不用作服務器或者進行網絡測試,可以放心的選中它,保護你的電腦

這篇文章主要介紹了php實現的ping端口函數,以實例形式較為詳細的分析了PHP使用socket編程的技巧,需要的朋友可以參考下,具體實現代碼如下:

<?php/* * @function   可以ping端口的php函數 * */    error_reporting(E_ERROR);    header("content-Type: text/html; charset=utf-8");    set_time_limit(120);    $host = isset($_POST['url']) ? chop(str_replace('http://','',$_POST['url'])) : 'www.baidu.com';    $port = isset($_POST['duankou']) ? chop($_POST['duankou']) : '80';    $num  = 10;    function microtime_float()    {            list($usec, $sec) = explode(" ", microtime());            return ((float)$usec + (float)$sec);    }    function getsoft($host,$port)    {            $fp = @fsockopen($host,$port,&$errno,&$errstr,3);            if(!$fp) return 'unknown';            $get = "GET / HTTP/1.1/r/nHost:".$host."/r/nConnection: Close/r/n/r/n";            @fputs($fp,$get);            $data = '';            while ($fp && !feof($fp))            $data .= fread($fp, 1024);            @fclose($fp);            $array = explode("/n",$data);            $k = 2;            for($i = 0;$i < 20;$i++)            {                    if(stristr($array[$i],'Server')){$k = $i; break;}            }            if(!stristr($array[$k],'Server')) return 'unknown';            else return str_replace('Server','服務器軟件',$array[$k]);    }    function ping($host,$port)    {            $time_start = microtime_float();            $ip = gethostbyname($host);            $fp = @fsockopen($host,$port,&$errno,&$errstr,1);            if(!$fp) return 'Request timed out.'."/r/n";            $get = "GET / HTTP/1.1/r/nHost:".$host."/r/nConnection: Close/r/n/r/n";            @fputs($fp,$get);            @fclose($fp);            $time_end = microtime_float();            $time = $time_end - $time_start;            $time = ceil($time * 1000);            return 'Reply from '.$ip.': time='.$time.'ms';    }    if(isset($_POST['url']) && isset($_POST['duankou']))    {            echo '<font color="#FF0000">'.getsoft($host,$port).'</font>';            echo 'Pinging '.$host.' ['.gethostbyname($host).'] with Port:'.$port.' of data:'."/r/n";            ob_flush();            flush();            for($i = 0;$i < $num;$i++)            {                    echo ping($host,$port);                    ob_flush();                    flush();                    sleep(1);            }    }?><form method="POST">域名/IP:<input type="text" name="url" value="<?php echo $host;?>" size="50"> 端口:<input type="text" name="duankou" value="<?php echo $port;?>" size="10"> <input type="submit" value="ping"></form>

以上就是php實現的ping端口函數實例代碼的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大城县| 淮北市| 乌兰县| 阿巴嘎旗| 济阳县| 道真| 西林县| 石河子市| 平顺县| 峨眉山市| 年辖:市辖区| 屯门区| 杂多县| 巴南区| 芦溪县| 社会| 云龙县| 怀化市| 饶河县| 格尔木市| 石城县| 天全县| 乌拉特前旗| 工布江达县| 恩平市| 尚义县| 霞浦县| 茂名市| 武陟县| 水城县| 易门县| 泸水县| 安仁县| 苍南县| 邓州市| 忻州市| 兴业县| 焉耆| 保德县| 虞城县| 定西市|