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

用PHP操作路由器

WBOY
WBOYOriginal
2016-06-06 19:45:59928Durchsuche

我们经常会碰到需要自动换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;
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn