JAVA 如何通過IP地址獲得MAC地址
阿新 • • 發佈:2019-02-15
主要的思路
- 通過Runtime.getRutime().exec("nbtstat -A "+ip),在單獨的程序中執行指定的字串命令。這裡通過 nbtstat - A ip命令獲取遠端終端的MAC地址在cmd下執行如下圖:
- 讀取程序的輸入流
- 初始化MAC地址為“”
- 將所有的字母轉化成大寫
- 查詢 MAC ADDRESS的位置,若找到了MAC ADDRESS,則表明有MAC地址,再查詢“=”的位置,“=”後面就是MAC地址了
- 若沒有MAC ADDRESS,MAC地址為“”
以下是程式碼:
public static String getMacByIp(String IP){ String MAC=""; try{ Process process =Runtime.getRuntime().exec("nbtstat -A "+IP); InputStreamReader inputStreamReader =new InputStreamReader(process.getInputStream); LineNumberReader lineNumberReader = new LineNumberReader(inputStreamReader); String string=""; while((string = lineNumberReader.readLine()) !=null){ string = string.toUpperCase(); if(string.indexOf("MAC ADDRESS")>1){ int start = string.indexOf("="); MAC=string.substring(start+1,string.length()).trim(); break; } } } catch (IOException e) { e.printStackTrace(); } return MAC; }