Comment obtenir l'adresse IP LAN du client à l'aide de Java?

Comment puis-je obtenir le LAN adresse IP d'un ordinateur à l'aide de Java? Je veux l'adresse IP qui est connecté au routeur et le reste du réseau.

J'ai essayé quelque chose comme ceci:

Socket s = new Socket("www.google.com", 80);
String ip = s.getLocalAddress().getHostAddress();
s.close();

Ce semble, pour travailler sur des cas, mais parfois, il renvoie le bouclage-adresse ou quelque chose de complètement différent. Aussi, il nécessite une connexion internet.

N'quelqu'un a une méthode plus précise de cette?

EDIT: Pensé qu'il serait mieux de demander ici que dans un commentaire..

Que si vous avez plusieurs interfaces? Par exemple, l'un pour le câble, un accès wifi et un pour virtual box. Est-il impossible de voir qui est connecté au réseau?

OriginalL'auteur cragiz | 2010-05-16