Este artículo describe el método para obtener la dirección IP del servidor y la dirección MAC por programación Java. Compártelo para su referencia, como sigue:
Sistema probado:
Windows Linux Unix
Excluir IPS anormales como 127.0.0.1 y 0.0.0.1
import java.net.inetaddress; import java.net.networkinterface; import java.net.socketexception; import java.util.arrayList; import java.util.en umation; import java.util.list; clase pública iputil {iPutil privado (privado (( ) {} / ** * Este método describe: Obtenga la dirección IP del servidor * @author: [email protected] * @version: 5 de septiembre de 2014 a las 4:57:15 pm * / String estático público getLocalip () {String sip = ""; ) {break; if (! ip.isloopbackAddress () && ip.gethostaddress (). Matches ("(//d{1,3BIT break; / ** * Este método describe: obtenga la dirección IP del servidor (tarjeta de red múltiple) * @author: [email protected] * @version: 5 de septiembre de 2014 a las 4:57:15 pm */ Lista estática pública < String> getLocalips () {inEmaddress ip = null; HaSmoreElements ()) {NetworkInterface Ni = (NetworkInterface) NetInterfaces .NextElement (); if (! ip. isloopbackAddress () && ip.gethostaddress (). Matches ("(//d{1,3h}//.) =3hy ip.gethostaddress ()); del servidor * @author: [email protected] * @version: 5 de septiembre de 2014 a 1:27:25 pm */ public static string getMacid () {String macID = ""; = NULL; ) netInterfaces .nextelement (); ); d {1,3} //.) {3}//d {1,3} ")) {bfindip = true; break;}}}}} Catch (Exception e) {outUtil.error (iputil.class, E.GetMessage ()); ; : 25 pm */ public static list <String> getMacids () {inetAddress ip = null; Ne twininterface>) NetworkInterface .getNetWorkInterfaces (); Puede considerar usar Ni.getName para juzgar // Traverse toda la enumeración de IPS <InetAddress> ips = ni.getineTadd resesses (); ip.isloopbackAddress () // non-127.0.0.1 && ip.gethostaddress (). Matches ("(// d {1,3} ///.) {3} // d {1,3}")) MacList.Add (getMacFromBytes (ni.gethardwaraaddress ()); byte [] bytes) {StringBuffer Mac = new StringBuffer (); ((B & 240) >> 4); } return Mac.ToString (). ToUpperCase ();Espero que este artículo sea útil para la programación Java de todos.