≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP 获取IP地址、连接数,并获取IP所在地址示例

人气:822 时间:2018-09-18

这篇文章主要为大家详细介绍了PHP 获取IP地址、连接数,并获取IP所在地址示例,具有一定的参考价值,可以用来参考一下。

php-cli下执行windows下的运维工具,改成linux也很方便
用PHP获取IP与连接数,并获取IP所在地址,主要针对80端口,其他端口也能看到开启反解ip可判断是否是蜘蛛,PHP获取IP与连接数,并获取IP所在地址
php-cli下执行 windows下的运维工具,改成linux也很方便
用PHP获取IP与连接数,并获取IP所在地址,主要针对80端口,其他端口也能看到
开启反解ip可判断是否是蜘蛛,感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
经测试代码如下:

/**
 * 获取IP地址、连接数,并获取IP所在地址
 *
 * @param 
 * @author 四海网 www.q1010.com
 **/
//获取连接数最高的ip的详细信息
$top = 10;
//获取ip的详细信息
$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、连接数/2、本机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连接数:",$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;
}

本文来自:http://www.q1010.com/173/193-0.html

注:关于PHP 获取IP地址、连接数,并获取IP所在地址示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:IP,连接数

您可能感兴趣的文章

  • JavaScript文件实现运行PHP代码
  • javascript常用函数大全
  • JavaScript 操作字符串的简单示例
  • php 压缩zip文件的函数示例
  • php 解压zip文件函数的简单示例
  • php 获取用户ip地址的示例
  • PHP 连接MySQL数据库的SQL语句的简单示例
  • PHP 实现Base64中英文编码、JavaScript解码的示例
  • PHP 使用ZIP压缩文件的实例
  • PHP 读取纯真IP数据库(QQWry.dat)并获取地区信息的方法
上一篇:PHP 视频转MP4并获取视频预览图(ffmpeg)的简单示例
下一篇:php 使用CURL下载远程HTML文件的简单示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。