Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Garfield07 en 13 Noviembre 2010, 11:36 AM

Título: Duda IP !!!
Publicado por: Garfield07 en 13 Noviembre 2010, 11:36 AM
Buenas, escribo este post para preguntar lo siguiente: ¿Como puedo sacar una IP de un sistema, cuando tengo un router (conex. privada)?

Para obtener la IP, lo que hice fue un sencillo programa, abajo posteado, que me dijese la IP y el puerto de quien se conectase a mi ordenador. El programa espera una conex. en determinado puerto, y si alguien se conecta, consigo su IP.  El caso es que mis pruebas no funcionan debido a que al iniciar el programa resulta que al obtener una conex. que yo abro desde Firefox me dice la IP de mi ordenador, privada: 192.168....
Lo cual no sirve. Estoy programando en C, Linux, ADSL

Alguna idea en el codigo, u forma?
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/socket.h>

#include <arpa/inet.h>



int sockfd, newsock;



int finalizar (int state)

{

printf("[+] Finalizando...");

close (sockfd);

        close (newsock);

printf("\t[OK]\n\n");

exit (state);

}



int main ()

{

printf ("\n");

printf ("#***************************************#\n");

printf ("#       -[ GetIP - by Sagrini ]-        #\n");

printf ("#  -----------------------------------  #\n");

printf ("#          Hacking programming          #\n");

printf ("#***************************************#\n\n\n");



struct sockaddr_in host, client;

int a=sizeof (struct sockaddr);

char pass [30];



printf("[+] Creando el Socket...");



if ((sockfd=socket (2, 1, 0))!=-1) printf ("[OK]\n");

else {printf("[FAIL]\n"); finalizar (1);}



host.sin_port=htons(31337);

host.sin_family=AF_INET;

host.sin_addr.s_addr=0;

memset (host.sin_zero, 0, 8);



printf ("[+] Bindeando...");

if(bind(sockfd,(struct sockaddr*)&host,sizeof(host))==-1) {printf("\t[FAIL]\n"); finalizar (1);}

else printf ("\t[OK]\n");



printf ("[+] Listening...");

if(listen(sockfd,5)==-1) {printf("\t[FAIL]\n");finalizar (1);}

else printf("\t[OK]\n");



printf("[+] Esperando cliente...");

if((newsock=accept(sockfd, (struct sockaddr*)&client, &a))==-1) {printf("[FAIL]\n");finalizar (1);}

else printf("[OK]\n\n");



printf("[+] Conexion establecida con %s:%d\n", inet_ntoa (client.sin_addr), ntohs (client.sin_port));;

finalizar (0);

}



Gracias
Título: Re: Duda IP !!!
Publicado por: [L]ord [R]NA en 14 Noviembre 2010, 04:07 AM
Estas programando en C, Linux y ADSL... WTF?
Título: Re: Duda IP !!!
Publicado por: Garfield07 en 14 Noviembre 2010, 16:02 PM
Perdonad el despiste. Es C, aunque creo que se nota, aunque compile en C++ es mas propio de C