Problema con ipv4 router y windows

Iniciado por patilanz, 20 Junio 2014, 18:58 PM

0 Miembros y 1 Visitante están viendo este tema.

patilanz

Hola como podría obtener la diseccionar IPV4 del pc con router de este tipo:
192.168.1.xxx

Porque si creo un programa que sirve de servidor y el server_ip lo hago así:

Código (cpp) [Seleccionar]
server_ip.s_addr=inet_addr("192.168.1.4");
host=gethostbyaddr((char *)&server_ip,4,AF_INET);

Lo escribo directamente después de haber lo visto desde cmd pero asi el programa no es portable y si me cambie la ip tengo que cambiar lo y compilar de nuevo. Encima tengo que permitir las conexiones entrantes y salientes desde la configuración del router.

Como solucionar esto?
Gracias

daryo

#1
intentas hacer un RAT(remote administration tool)?

lo mas comun es conexion inversa+ no-ip

asi solo hace falta abrir puertos en el router propio ademas  de esa forma ni si quiera lo detecta el firewall de windows y no hay problema si la ip es dinamicaxD
buenas

engel lex

wow! XD si son mal pensados! ni si quiera ha escrito y creen que es un RAT (espero que no lo sea  :¬¬)

https://suite.io/guy-lecky-thompson/7sd21g alli tienes una solucion que tal ves te sirva
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

x64core

No es posible si la dirección es dinamica

eferion

La solución pasaría, desde mi punto de vista, por una de estas dos posibilidades:

* Automático: creas un fichero de configuración que será leído por el programa durante su arranque. En dicho fichero le indicas la interfaz a la que debe conectarse (recuerda que un equipo puede tener varias IPs... independientemente de que tenga una o varias tarjetas ). Entonces localizas la ip asignada a la interfaz que te hayan dicho y usas esa ip para configurar tu conexión... una vez hecho esto puedes programarte una función que haga las veces de centinela y chequee cada cierto tiempo la ip de la interfaz por si acaso ésta ha cambiado. En tal caso cierras la conexión actual y creas una nueva usando los valores actuales de IP.

* Manual: al iniciar el programa pides una dirección ip para intentar la conexión.

patilanz

Hola perdón por contestar tan tarde pero de repente se me ocurrió crear otros programas y se me olvido que había preguntado :-X

A partir del link de engel lex hice esto:

Código (cpp) [Seleccionar]

WSADATA wsadata;
WSAStartup(MAKEWORD(2, 2), &wsadata);
char name[255];
if (!gethostname(name, 255)){
cout << "Host name -> " << name;
hostent *host;
host = (hostent*)gethostbyname(name);
cout << inet_ntoa(*(in_addr*)host->h_addr_list[0]);
}
else{
cout << "gethostname error!";
}

Me imprime la ip de la red ethernet de vmware ;D
Bueno justo aquí estaba el problema.

Lo de RAT hice algo por el estilo no se si se podría llamar RAT pero funcionaba con conexión a un hosting gratuito que me registre con tor y siempre entraba con tor para que no registren la ip y desde allí el programa comprobaba un archivo php que le imprimía instrucciones encriptadas pero usando HTTP. Bueno lo malo fue que me lo detecto el antivirus :) aunque esto cambiara :silbar:

Pero lo que intentaba hacer no es RAT xD

El problema es que no se cual se la interfaz correcta con la que se conecta a internet y no por ejemplo la de hamache o vmware.
Tiene que haber alguna manera. A mi lo que se me ocurrió es hacer una petición a una pagina que te la diga pero no me parece practico.


Saludos