MacAddressr가져오기

요즘 네트워크에 대한 관심이 조금씩 늘어가고 있습니다.

그와중에 MacAddress를 어떻게 가져올까?


그래서 샘플 소스를 만들어 봤습니다.

제가 직접 만들어봤다기보다는 여기저기 뒤져보니 NetworkInterface라는게 있더군요.


일단 샘플 소스를 한번 확인 해보죠..

 

샘플 소스

import java.io.IOException;
import java.net.InetAddress;
import java.net.NetworkInterface;

public class NetworkGetMacAddress {

	public static void main(String[] args) throws IOException {

		// 로컬 IP취득
		InetAddress ip = InetAddress.getLocalHost();
		System.out.println("IP : " + ip.getHostAddress());
		
		// 네트워크 인터페이스 취득
		NetworkInterface netif = NetworkInterface.getByInetAddress(ip);

		// 네트워크 인터페이스가 NULL이 아니면
		if (netif != null) {
			// 네트워크 인터페이스 표시명 출력
			System.out.print(netif.getDisplayName() + " : ");
			
			// 맥어드레스 취득
			byte[] mac = netif.getHardwareAddress();
			
			// 맥어드레스 출력
			for (byte b : mac) {
				System.out.printf("[%02X]", b);
			}
			System.out.println();
		}
	}

}




[실행]

macaddr.PNG


혹시나 하는 마음에 두자리는 지웠습니다. ^^;


NetworkInterface를 사용해 Mac어드레스를 가져오는 샘플 소스였습니다.

하지만, 아쉽게도 내컴퓨터의 Mac어드레스밖에 가져올 수 가 없습니다.


리모트쪽의 Mac어드레스를 알아볼수 있는 방법이 있는지에 대해서는 arp를 사용해서

알아올수 있더군요...


다음시간에 arp를 이용한 리모트 컴퓨터의 Mac어드레스를 가져오는 방법에 대해

알아보도록 하겠습니다.


감사합니다.