Cet article décrit la méthode d'obtention de l'adresse IP du serveur et de l'adresse MAC par programmation Java. Partagez-le pour votre référence, comme suit:
Système testé:
Windows Linux Unix
Exclure des IP anormaux tels que 127.0.0.1 et 0.0.0.1
Importer java.net.inetAddress; Importer java.net.networkInterface; import java.net.socketexception; import java.util.arraylist; import java.util.en umation; import java.lit.List; public class iputil {private iptitil ( ) {} / ** * Cette méthode décrit: Obtenez l'adresse IP du serveur * @author: [email protected] * @version: 5 septembre 2014 à 16:57:15 PM * / String statique public getLocalip () {String sip = ""; ) {Break;} NetworkInterface Ni = (NetworkInterface) NetInterfaces .NextElement (); if (! ip.isloopbackaddress () && ip.gethostaddress (). correspond ("(//d; Break; / ** * Cette méthode décrit: Obtenez l'adresse IP du serveur (carte réseau multiple) * @author: [email protected] * @version: 5 septembre 2014 à 16:57:15 PM * / Liste statique publique < String> getLocalips () {INEMADDRESS IP = NULL; HasmoreElements ()) {NetworkInterface Ni = (NetworkInterface) NetInterfaces .NextElement (); énumération <netAddress> ips = ni.getinetAddress (); if (! ip. IsloopBackAddress () && ip.GethostAddress (). Matches ("(//d; ip.GethostAddress ());}}}}} Catch (exception e) {outUtil.Error (iputil.class, e.getMessage (); du serveur * @author: [email protected] * @version: 5 septembre 2014 à 1:27:25 PM * / public static getmacid () {String macid = ""; = null; essayez {boolean bFindip = false; énumération <Assuieuse-théâtre> netterfaces = (énumération <Assuieuse-bouile>). ) netInterfaces .NextElement (); )); d {1,3} //.) {3} / / d {1,3} ")) {bFindip = true; Break;}}}} Catch (Exception e) {outUtil.error (iputil.class, e.getMessage ());} if (null! = ip) {try {macid = getmacFrombytes (ni.GethardWareaddress ()); ; : 25 pm * / public static <string> getmacids () {InetAddress ip = null; NetworkInterface Ni = null; NE TwinInterface>) NetworkInterface .getNetWorkInterfaces (); Vous pouvez envisager d'utiliser Ni.getName pour juger // traverser toutes les ips énumération <netAddress> ips = ni.getinetAdd Resss (); ip.isloopbackaddress () // non-127.0.0.1 && ip.gethostaddress (). correspond ("(// d {1,3} //.) {3} // d {1,3}")) { maclist.add (getmacFrombytes (ni.Gethardwareaddress ());}}}}} catch (exception e) {outUtil.Error (iputil.class, e.getMessage ()); BYTE [] Bytes) {StringBuffer Mac = new StringBuffer (); (B & 240) >> 4); } return mac.toString (). ToupperCase ();J'espère que cet article sera utile à la programmation Java de tous.