Cita:
Iniciado por 2Fast To You Hola amigos, me gustaria saber si con PHP yo pudiera hacer un programita que yo le de de acta a mis clientes y el conecte con mi WRT54GS y le de de acta a su mac etc, y cuando sea el dia que yo le de de baja el entre al router y elimine su mac, creen que sea posible ?
Saludos
Te respondi con los pasos que debias hacer ... hace tiempo atras ... pero hace muy poco tube que crear un pequeño Script en PHP que hace algo Similar, Se comunica via GET con Autentificacion Simple a mi Router BEFW11S4 , para habilitar unos Puertos a una Tal IP. esto lo hago desde un script por php.
Lo primero que tienes que hacer, es Instalar CommView o Network Monitor o Ethernat (creo q asi se llamaba) , cualquier de ellos, son programas que permiten capturar y analizar los paquetes TCP/IP.
Ya entonces, abre el programa, comienza a capturar , luego anda al panel de su Router, Hace lo que quieres Realizar y Manda el Formulario, Luego anda al Programa y deja de capturar. Ahora analiza los Paquetes y busca el Paquete que manda la Peticion GET con autentificacion y analizalo.
La funcion es
Código PHP:
<?
function get_aut($host,$puerto,$patch,$referer,$aute_codificada)
{
// Funcion by DeeRme
// http://deerme.org
// Conectamos
$fp = fsockopen($host,$puerto,$errno, $errstr,3);
// Mandamos Peticion
fputs($fp,
"GET $patch HTTP/1.1
Host: $host
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: *
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: $referer
Authorization: Basic $aute_codificada
Connection: Close\r\n\r\n");
// Capturamos Salida
while (!feof($fp))
{
$salida .= fread($fp, 8192);
}
fclose($fp);
return $salida;
}
// Configuracion
// Usuario
$usuario = "usuario";
// Contraseña
$password = "passrouter";
$aute_codificada = base64_encode("$usuario:$password");
// Peticion que Vamos a Realizar
// Es el envio por GET del Formulario de Configuracion del Panel del Router
// En el caso es Abrir Ciertos Puertos a unas IP
$peticion = "/Gozila.cgi?Forwarding.htm=255&hid_returnPoint=&hid_fwdProtoReset=&txt_fwdApName0=Web&txt_fwdPortStart0=80&txt_fwdPortEnd0=80&sel_fwdProtocol0=2&txt_fwdIP0=100&sel_fwdValid0=1&txt_fwdApName1=Torrent&txt_fwdPortStart1=6800&txt_fwdPortEnd1=6900&sel_fwdProtocol1=2&txt_fwdIP1=112&txt_fwdApName2=Emule&txt_fwdPortStart2=4650&txt_fwdPortEnd2=5500&sel_fwdProtocol2=2&txt_fwdIP2=100&txt_fwdApName3=Quake&txt_fwdPortStart3=27910&txt_fwdPortEnd3=27910&sel_fwdProtocol3=0&txt_fwdIP3=100&txt_fwdApName4=Web&txt_fwdPortStart4=80&txt_fwdPortEnd4=81&sel_fwdProtocol4=2&txt_fwdIP4=101&txt_fwdApName5=PortQ2&txt_fwdPortStart5=1080&txt_fwdPortEnd5=1080&sel_fwdProtocol5=2&txt_fwdIP5=100&txt_fwdApName6=Torrent&txt_fwdPortStart6=20000&txt_fwdPortEnd6=20100&sel_fwdProtocol6=2&txt_fwdIP6=100&sel_fwdValid6=1&txt_fwdApName7=Torrent&txt_fwdPortStart7=34400&txt_fwdPortEnd7=34500&sel_fwdProtocol7=0&txt_fwdIP7=108&txt_fwdApName8=Torrent&txt_fwdPortStart8=20400&txt_fwdPortEnd8=20500&sel_fwdProtocol8=2&txt_fwdIP8=100&sel_fwdValid8=1&txt_fwdApName9=Emule&txt_fwdPortStart9=4650&txt_fwdPortEnd9=5500&sel_fwdProtocol9=1&txt_fwdIP9=100";
$referer = "http://192.168.1.1/Forwarding.htm";
// Ejecutamos la Funcion
$salida = get_aut("192.168.1.1",80,$peticion,$referer,$aute_codificada);
// Imprimimos Salida
echo $salida;
?>
La cual es simple, es una peticion GET con autentififacacion Simple , entonces entregamos la peticion GET , y generamos el hash de autentificacion simple (que es la codificacion base64 de usuario:password ).
Saludos