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?
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <arpa/inet.h> int sockfd, newsock; int finalizar (int state) { close (sockfd); close (newsock); } int main () { struct sockaddr_in host, client; int a=sizeof (struct sockaddr); char pass [30]; host.sin_port=htons(31337); host.sin_family=AF_INET; host.sin_addr.s_addr=0; printf("[+] Conexion establecida con %s:%d\n", inet_ntoa (client.sin_addr), ntohs (client.sin_port));; finalizar (0); }
Gracias