首页 > php教程 > php手册 > 用PHP操作路由器

用PHP操作路由器

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-06 19:45:59
原创
946 人浏览过

我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样就不需要用按键精灵搞得那么累了。呵呵。 有的路由器是提供通过WEB方式管理路由器设置的,中间有一个

我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样就不需要用按键精灵搞得那么累了。呵呵。
有的路由器是提供通过WEB方式管理路由器设置的,中间有一个功能就是断线和重新连接,我们就利用这个功能,呵呵,下面看代码:

function router($target=''){

    $server  = '192.168.1.1';            // IP address
    $host    = '192.168.1.1';            // Domain name
    $port    = 80;
    $referer = 'http://'.$host.$target;    // Referer
    $username = "admin";#ADSL的路由的用户名
    $password = "admin";#ADSL的路由的管理密码
    $authorization = base64_encode($username.":".$password); //echo $authorization; exit();
        $File = fsockopen($server, $port, $errno, $errstr, 30);
    if ($File) {        
        $out = "GET $target HTTP/1.1\r\n";
        $out .= "Host: $host\r\n";
        $out .= "Referer: $referer\r\n";
        $out .= "Authorization: Basic $authorization\r\n";
        $out .= "Connection: Closern\r\n";
                fputs($File, $out);
                $makeFile = $buffer = "";
                while ($buffer = fread($File,4096)){
                        $makeFile = $makeFile.$buffer;
        }
        fclose($File);
        }
}


router("/userRpm/StatusRpm.htm?Disconnect=%B6%CF%20%CF%DF&wan=1");



//下面附上php获取当前网关IP地址

function getIP(){
$target="/userRpm/StatusRpm.htm";
    $server  = '192.168.1.1';            // IP address
    $host    = '192.168.1.1';            // Domain name
    $port    = 80;
    $referer = 'http://'.$host.$target;    // Referer
    $username = "admin";#ADSL的路由的用户名
    $password = "admin";#ADSL的路由的管理密码
    $authorization = base64_encode($username.":".$password); //echo $authorization; exit();
        $File = fsockopen($server, $port, $errno, $errstr, 30);
    if ($File) {        
        $out = "GET $target HTTP/1.1\r\n";
        $out .= "Host: $host\r\n";
        $out .= "Referer: $referer\r\n";
        $out .= "Authorization: Basic $authorization\r\n";
        $out .= "Connection: Closern\r\n";
                fputs($File, $out);
                $makeFile = $buffer = "";
                while ($buffer = fread($File,4096)){
                        $makeFile = $makeFile.$buffer;
        }
        fclose($File);
        }
//匹配当前网关
$pattern="/\"[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\-[A-Z0-9]{2}\", \"([0-9\.]+)\"/s";
if(preg_match_all($pattern,$makeFile,$match)){
  $nowIP=$match[1][1];
}
return $nowIP;
}

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
怎么学好php
来自于 1970-01-01 08:00:00
0
0
0
PHP扩展intl
来自于 1970-01-01 08:00:00
0
0
0
php数据获取?
来自于 1970-01-01 08:00:00
0
0
0
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板