JAVA獲取本機IP和Mac地址


   在項目中,時常需要獲取本機的Ip或是Mac地址,進行身份和權限驗證,本文就是通過java代碼獲取ip和Mac。

package com.svse.query;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;

/***
* 獲取本機的Mac地址 (物理地址) 如:58-02-E3-58-4E-E5
* @author lenovo
* @date 2019年2月20日
* description:
*/
public class TestLocalMac {


      private static void getLocalMac(InetAddress ia) throws SocketException {
         //獲取網卡,獲取地址
         byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
      //System.out.println("mac數組長度:"+mac.length);
   StringBuffer sb = new StringBuffer("");
   for(int i=0; i<mac.length; i++) {
    if(i!=0) {
    sb.append("-");
        }
   //字節轉換為整數
   int temp = mac[i]&0xff;
   String str = Integer.toHexString(temp);
   //System.out.println("每8位:"+str);
   if(str.length()==1) {
    sb.append("0"+str);
   }else {
    sb.append(str);
   }
    }
   System.out.println("本機MAC地址:"+sb.toString().toUpperCase());
}
public static void main(String[] args) throws UnknownHostException {

  //得到IP,輸出PC-201309011313/122.206.73.83
  InetAddress ia = InetAddress.getLocalHost();
  String ip=ia.toString().split("/")[1];
  System.out.println(ia);
  System.out.println("IP:"+ip);
  try {
    getLocalMac(ia);
  } catch (SocketException e) {
    e.printStackTrace();
  }

 }

}

   測試結果

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM