Obtener todas las ips locales

javi
11 de Junio del 2004
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


Jos?arlos
11 de Junio del 2004
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

cubil
11 de Junio del 2004
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.