A veces ocurre que es conveniente cambiar la dirección Ip para desarrollar determinadas actividades en la red. Por ejemplo aquellas que son intensivas en conexiones a terceros, así se consigue un poco más de “anonimato” simulando un flujo de consultas espontáneas.
Sabemos que como consecuencia de la existencia de números Ip limitados, las operadoras asignan Ip’s dinámicas, es por esto que mucha gente opta por reiniciar el router para cambiar de ip.
Lamentablemente reiniciar el router supone una tarea costosa cuando tratamos de iniciar muchas conexiones por segundo, además nos hace renunciar a los 30 segundos que puede llegar a tardar la carga completa ….
Es por esto que he construido un script en PHP que nos permite cambiar la dirección de manera automática, sin necesidad de reiniciar el router, tan sólo reiniciando el protocolo PPPoE en menos de 3 segundos.
Conectamos por la puerta de enlace a la interfaz http del Router Observa Telecom AW4062 de Telefónica con la contraseña predeterminada …..
changeIp (); function changeIp (){ print switchppp0(0,$user,$pass); sleep(ran(0,5)); print switchppp0(1,$user,$pass); print "Ip changed"; } function switchppp0($switch,$user='123',$pass='123'){ $url = 'http://192.168.1.1/goform/admin/formStatus'; if( $switch=="0"){ //Disconnect $fields = array( 'submitppp0'=>urlencode("Disconnect"), 'status'=>'' ); foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); $ch = curl_init(); $header = array( "Authorization: Basic ".base64_encode("$user:$pass"), "Content-Type: application/x-www-form-urlencoded" ); curl_setopt ($ch, CURLOPT_HEADER, true); curl_setopt ($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); $result = curl_exec($ch); curl_close($ch); return "Disconnected"; }else{ //Connect $fields = array( 'submitppp0'=>urlencode("Connect") ); foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); $ch = curl_init(); $header = array( "Authorization: Basic ".base64_encode("$user:$pass") ); curl_setopt ($ch, CURLOPT_HEADER, true); curl_setopt ($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); $result = curl_exec($ch); return "Connected"; curl_close($ch); } }
Facebook
Twitter
Bitacoras.com
Meneame
