2008-08-29 7 views
24

Je voudrais récupérer l'adresse ethernet de l'interface réseau utilisée pour accéder à un site web particulier.Comment obtenez-vous l'adresse ethernet en utilisant Java?

Comment cela peut-il être fait en Java?

Solution Notez que la solution de getHardwareAddress n'est acceptée disponible en Java 6. Il ne semble pas être une solution pour Java 5 en dehors de l'exécution i (f | p) confing.

Répondre

17

java.net.NetworkInterface.getHardwareAddress (méthode ajoutée en Java 6)

Il doit être appelé sur la machine qui vous intéresse - le MAC ne sont pas transférées à travers les frontières du réseau (à savoir LAN et WAN). Si vous voulez l'utiliser sur un serveur de site Web pour interroger les clients, vous devrez exécuter une applet qui vous rapportera le résultat.

Pour Java 5 et plus j'ai trouvé le code parsing output of command line tools on various systems.

+0

Je pense que plus correct que * "à travers les frontières du réseau" * est * "à travers segments de réseau "* – m0skit0

2

En fait, au-delà des autres bonnes réponses (JDK 6; exec 'ifconfig'), il existe des bibliothèques basées sur JNI. Java Uuid Generator (JUG) 2.0 a du code pour certaines plates-formes. Cela fonctionne sur JDK 1.2 et au-dessus d'au moins (peut-être 1.1 même)

Questions connexes