Procurei uma maneira de obter o endereço MAC on -line e encontrei dois métodos diferentes.
O primeiro tipo
public static void main (string [] args) lança exceção {inetAddress ia = inetaddress.getLocAlHost (); System.out.println (getMacaddress (IA));} String estática privada getMacAddress (inetaddress ia) lança exceção {// Obtenha o objeto de interface de rede (ou seja, a placa de rede) e obtenha o endereço MAC, que existe em uma matriz de bytes. byte [] Mac = NetworkInterface.GetByineTAddress (IA) .GetHardWAReadDress (); // O seguinte código é montar o endereço MAC em StringstringBuffer sb = new StringBuffer (); para (int i = 0; i <mac.length; i ++) {if (i! Converta byte em uma string inteira positiva s = integer.tohexString (Mac [i] e 0xff); sb.append (s.length () == 1? 0 + s: s);} // altere todas as letras minúsculas da sequência para manchas e se tornarem um endereço MAC regular e retorno Sb.ToString ().Este método parece ser capaz de obter apenas o endereço MAC da máquina.
O segundo tipo
public static void main (string [] args) lança exceção {getMac ("192.168.1.186");} public static string getMac (string ip) {string str = null; string mac = null; try {process p = runtime.getRuntime (). Exec ("nbtstat -a" + ip); InputStreamReader ir = new InputStreamReader (p.getInputStream (), "gbk"); Linenumberreader input = new lineNumberReader (IR); para (; true;) {str = input.readline (); if (str! = null) {if (str.indexOF ("endereço mac")> 1) {mac = str.substring (str.indexOF ("endereço mac") + 9); quebra; }}} System.out.println (Mac);} Catch (ioexception e) {e.printStacktrace ();} retornar mac;}Eu prefiro esse método, mas esse método pode ser um pouco menos eficiente em termos de tempo. Há um ponto que precisa ser dado atenção nisso. Lembre -se de alterar o fluxo de dados para o formato GBK, caso contrário, os dados de leitura serão distorcidos e não poderão prosseguir posteriormente. Em seguida, identifique os campos. Alguns podem ser "endereço MAC", então você pode precisar fazer alguns ajustes.
Os acima são todos os dois métodos (recomendados) para obter endereços MAC em Java trazidos a você pelo editor. Espero que todos possam apoiar mais wulin.com ~