Obtener todas las ips locales
buenas, como puedo hacer para obtener la ip de mi ordenador que enlaza con el exterior? he probado esto:
InetAddress[] addr2= InetAddress.getAllByName(InetAddress.getLocalHost().getHostAddress());
for(int i=0; i<addr2.length;i++){
System.out.print(addr2[i].getHostAddress());
}
Pero solo me devuelve la ip de la red local, 192.168.0.1
addr2.lenght vale 1
Se que debe ser una tonteria, pero estoy empezando en esto.
Gracias
InetAddress[] addr2= InetAddress.getAllByName(InetAddress.getLocalHost().getHostAddress());
for(int i=0; i<addr2.length;i++){
System.out.print(addr2[i].getHostAddress());
}
Pero solo me devuelve la ip de la red local, 192.168.0.1
addr2.lenght vale 1
Se que debe ser una tonteria, pero estoy empezando en esto.
Gracias
Esa es la dirección "exterior" de tu ordenador. Lo que ocurre es que para tà el "exterior" es una red privada, y por lo tanto la dirección que obtienes es esa.
La dirección IP pública que tiene tu ordenador posiblemente esté dada por NAT, y esa traducción no vas a poder verla con Java, porque no está en tu ordenador.
Saludos
La dirección IP pública que tiene tu ordenador posiblemente esté dada por NAT, y esa traducción no vas a poder verla con Java, porque no está en tu ordenador.
Saludos
No se si habrá una forma mejor, pero a las malas puedes hacerte un ASP, PHP o similar que devuelva la IP del solicitante. Tu programa podrÃa invocar esa página para saber por que IP está saliendo a internet. Hay páginas como www.adsl4ever.com que te informan de tu IP de salida a internet.
