자바 이 컴퓨터 MAC 주소 가 져 오기

4472 단어 자바
이 걸 왜 써 요?며칠 전 인터넷 에서 windows 명령 으로 랜 과 광 역 망 MAC 를 가 져 오 는 것 을 보고 JDK 를 직접 사용 할 수 있 는 방법 을 찾 아 봤 기 때문이다.
         MAC 는 랜 검증 에 사용 하여 안전성 을 높 일 수 있다.
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
 
/*
 *      48 ,  ipv6   
 */
public class LOCALMAC {
 
	/**
	 * @param args
	 * @throws UnknownHostException 
	 * @throws SocketException 
	 */
	public static void main(String[] args) throws UnknownHostException, SocketException {
		// TODO Auto-generated method stub
		
		//  IP,  PC-201309011313/122.206.73.83
		InetAddress ia = InetAddress.getLocalHost();
		System.out.println(ia);
		getLocalMac(ia);
	}
 
	private static void getLocalMac(InetAddress ia) throws SocketException {
		// TODO Auto-generated method stub
		//    ,    
		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());
	}
}

        실행 결 과 는 다음 과 같 습 니 다.
PC-201309011313/122.206.73.83
mac    :6
 8 :d0
 8 :27
 8 :88
 8 :1f
 8 :89
 8 :51
  MAC  :D0-27-88-1F-89-51

 

좋은 웹페이지 즐겨찾기