Programa para resetear el 3com 11g wireless

Moderador: neretva

Programa para resetear el 3com 11g wireless

Notapor Lecter23 el 11 Ene 2004, 19:41

Deckard: Gracias a los users del foro y para que no os matéis buscando, el programa con interfaz gráfica está disponible [url=http://personales.ya.com/cinderl]Aqui[/url].

Gracias a Lecter23 y a Cinderl. Bueno, gracias a todos Xddd.


---------------------------------------------------------------------------


Hola.

Seguro que mas de uno de vosotros habéis sufrido cortes en la conexion con este router. A mi particularmente me suele pasar a partir de las 12 de la noche. Es raro, la mula sigue tirando, el ping hacia fuera responde, resuelve dns, pero no navegas. :o

Un par de cosas: En casa, para la mula y como servidor tengo un linux, asi q la version para resetear el 11g es para linux. Sería facil adaptarla a windows cambiando 3 cositas del código (es C), pero yo no lo voy a hacer. Solo pongo el código por si alguien lo quiere aprovechar, pero no voy a desarrollar nada mas ni voy a hacer mas versiones ni nada. Lo dicho... a mi me funciona y si lo queréis ahí está.


loginadsl.c

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define PORT 80

#define MAXDATASIZE 10000

int main(int argc, char *argv[])
{
int fd, numbytes;

char *pwd = argv[2];

struct hostent *he;

struct sockaddr_in server;

if (argc !=3) {
printf("Uso: %s <Dirección IP> <contraseña>
",argv[0]);
exit(-1);
}

if ((he=gethostbyname(argv[1]))==NULL){
printf("gethostbyname() error
");
exit(-1);
}

if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){
printf("socket() error
");
exit(-1);
}

server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);

if(connect(fd, (struct sockaddr *)&server,
sizeof(struct sockaddr))==-1){
printf("connect() error
");
exit(-1);
}

char msg[1000] = "POST /cgi-bin/login.exe HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: http://192.168.2.1/
Accept-Language: es
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
Host: 192.168.2.1
Content-Length: ";

char msg2[1000] = "
Connection: Keep-Alive
Cache-Control: no-cache

pws=";

char mensaje[1000];

sprintf(mensaje,"%s%d%s%s",msg,strlen(pwd)+4,msg2,pwd);

send(fd,mensaje,strlen(pwd)+517,0);

close(fd);

}





::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::



restartadsl.c


#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define PORT 80

#define MAXDATASIZE 10000

int main(int argc, char *argv[])
{
int fd, numbytes;

char buf[MAXDATASIZE];

struct hostent *he;

struct sockaddr_in server;

if (argc !=2) {
printf("Uso: %s <Dirección IP>
",argv[0]);
exit(-1);
}

if ((he=gethostbyname(argv[1]))==NULL){
printf("gethostbyname() error
");
exit(-1);
}

if ((fd=socket(AF_INET, SOCK_STREAM, 0))==-1){
printf("socket() error
");
exit(-1);
}

server.sin_family = AF_INET;
server.sin_port = htons(PORT);
server.sin_addr = *((struct in_addr *)he->h_addr);
bzero(&(server.sin_zero),8);

if(connect(fd, (struct sockaddr *)&server,
sizeof(struct sockaddr))==-1){
printf("connect() error
");
exit(-1);
}

send(fd,"GET /cgi-bin/restart.exe HTTP/1.1

",37,0);

close(fd);

}




:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


El primer archivo es para hacer login, así que le pasais dos parámetros, la IP del router y la contraseña.
El segundo archivo es para resetear, solo pasais la ip.
He decidido separarlos en 2 por si tengo q hacer algún otro programa que opere con el router y que necesite el login, por lo que os recomiendo que hagais un script y lo metáis en el cron. Yo tengo este:


#!/bin/bash
loginadsl 192.168.2.1 xxxxxxx
sleep 2
restartadsl 192.168.2.1
#Donde 192.168.2.1 es la ip del router y xxxxxxx es el password


Un saludo y espero que os sirva.


[Editado el 3/1/2005 por deckard_29]
Lecter23
 
Mensajes: 44
Registrado: 11 Ene 2004

Notapor overpeer el 11 Ene 2004, 20:00

Si ves que tal lo pones varias veces para que se entere la gente x'D

Con una vale.

Un saludo.
Avatar de Usuario
overpeer
 
Mensajes: 468
Registrado: 12 Abr 2003
Ubicación: /home/overpeer/

Notapor overpeer el 11 Ene 2004, 20:34

Ya, ese era el problema, cuando vayas a poner algo hazlo en su correspondiente apartado, pero no pongas uno en cada seccion (aunque todas las secciondes donde lo pusiste estaban relacionadas con el tema de tu post, la mas idonea es esta :) )

Por cierto, bien por el programa. A ver si se anima alguien y lo adapta para compilarlo en win.

De todas formas, no te hubiese sido mas sencillo hacerlo con [b] expect [/b] simplemente ?

Un saludo.
Avatar de Usuario
overpeer
 
Mensajes: 468
Registrado: 12 Abr 2003
Ubicación: /home/overpeer/

Notapor juanmmr el 05 Feb 2004, 18:41

que bueno, si señor
el siguiente paso es inventar un botijo con una slackware normal y corriente pa q cuando se quede el router t lo resetee él sólo :D
el problema surjirá cuando se kede el botijo colgaó

xDDDDDDDDDDDD
juanmmr
 
Mensajes: 20
Registrado: 14 Feb 2003

Notapor ned el 22 Nov 2004, 19:39

Hola

Estupendo programa, lástima que los enlaces no sigan... ¿lo podría subir alguien a las descargas de la página? o ponerlo en un servidor que dure. No me lo puedo bajar porque los enlaces de Lecter ya no van. Así evitariamos tener que postear un mail cada 2 x 3 pidiendolo, ... que bueno, no deberiais dejarlo así tan a la ligera... sois presas del spam...

Un saludo
ned
 
Mensajes: 1
Registrado: 24 Ago 2004

Notapor minglas el 02 Mar 2005, 09:05

vale este programa para el nuevo router 11g que entrega ya.com ahora (el 3CRWDR100-72.)
Gracias
minglas
 
Mensajes: 13
Registrado: 02 Mar 2005

Notapor Makinet el 09 May 2006, 16:09

Alguien tiene este programa? es que el enlace del primer post no funciona y necesitaría un reset automatico de mi 11g, que se me cuelga el cabr...

salu2 y gracias
Avatar de Usuario
Makinet
 
Mensajes: 15
Registrado: 04 Feb 2005


Volver a ResetADSL

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

Publicidad

Encuesta

  • ¿Cómo logras ahorrar en tu factura de móvil?

    Resultados Encuestas

    Votos: 519

      Comentarios: 9

Redes 2.0

Entrevistas