2008-08-29 14 views
24

Chciałbym pobrać adres ethernetowy interfejsu sieciowego, który jest używany do uzyskania dostępu do konkretnej witryny.Jak uzyskać adres ethernetowy za pomocą Java?

Jak to zrobić w Javie?

Rozwiązanie Należy zauważyć, że przyjęte rozwiązanie getHardwareAddress jest dostępna tylko w języku Java 6. Nie wydaje się być rozwiązanie dla Java 5 oprócz wykonywania I (f | p) confing.

Odpowiedz

17

java.net.NetworkInterface.getHardwareAddress (metoda dodane w Javie 6)

Ma się nazywać na maszynie jesteś zainteresowany - MAC nie jest przenoszone przez granice sieci (tj LAN i WAN). Jeśli chcesz użyć go na serwerze witryny do przesłuchiwania klientów, musisz uruchomić aplet, który zgłosiłby ci wynik.

Dla języka Java 5 i starszych znalazłem kod parsing output of command line tools on various systems.

+0

myślę, że bardziej poprawne niż * „ponad granicami sieciowych” * to * "w poprzek segmenty sieci "* – m0skit0

2

W rzeczywistości, poza innymi poprawnymi odpowiedziami (JDK 6; exec 'ifconfig'), istnieją biblioteki oparte na JNI. Java Uuid Generator (JUG) 2.0 ma kod dla niektórych platform. Działa to na JDK 1.2 i powyżej co najmniej (może 1,1 parzysty)

Powiązane problemy