中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

PHP獲取IP與連接數(shù),并獲取IP所在地址

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
php-cli下執(zhí)行 windows下的運(yùn)維工具,改成linux也很方便 用PHP獲取IP與連接數(shù),并獲取IP所在地址,主要針對80端口,其他端口也能看到 開啟反解ip可判斷是否是蜘蛛。
<?php
//獲取連接數(shù)最高的ip的詳細(xì)信息
$top = 10;
//獲取ip的詳細(xì)信息
$get_location = true;
//反解ip,用于獲取蜘蛛,開啟后速度較慢
$reverse = FALSE;
//$reverse = TRUE;

ini_set('extension_dir',dirname(__FILE__));
ini_set('enable_dl',TRUE);
if(!dl("php_curl.dll")){
    exit('Can\'t load curl.');
}
$content = `netstat -an -p TCP`;
$regex = "/\s+TCP\s+\d+\.\d+\.\d+\.\d+:(\d+)\s+(\d+\.\d+\.\d+\.\d+):\d+\s+/sm";

$table = array();
//1、連接數(shù)/2、本機(jī)ip/3、對方ip
/**
 * 端口/ip是唯一的
 */
if(preg_match_all($regex,$content,$result)){
    foreach($result[1] as $i=>$port){
        if(isset($table[$port.':'.$result[2][$i]]))
            $table[$port.':'.$result[2][$i]]++;
        else
            $table[$port.':'.$result[2][$i]] = 1;
    }
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_TIMEOUT,5);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

    $i = 0;
    $count = 0;
    if(asort($table))
        foreach($table as $key=>$times){
            $ip = substr(strstr($key,':'),1);
            $port = substr($key,0,strpos($key,':'));
            $i++;
            echo "\r\n連接數(shù):",$times,' - ',$key;
            if(!$get_location || $i<count($table)-$top){
                continue;
            }
            if($port=='80') $count += $times;
            if($ip!=='127.0.0.1' || $ip!=='0.0.0.0'){
                $host = $reverse ? gethostbyaddr($ip) : $ip;
                if($host==$ip){
                    curl_setopt($curl,CURLOPT_URL, "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=txt&ip=".$ip);
                    $location = curl_exec($curl);
                    echo "(".preg_replace('/(\s|\d|\.)/','',$location).")";
                } else {
                    echo "(".$host.")";
                }
            }
        }
    echo "\r\n",'All(80):',$count;
}

標(biāo)簽: linux

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:CSV 文件處理PHP類

下一篇:php獲取文件MIME類型