이 어리석은 질문에 대해 유감스럽게 생각하지만 Java에서 IP 주소를 모르고 사용하지 않고 네트워크 카드의 MAC 주소를 어떻게 찾을 수 있습니까?JAVA에서 IP를 사용하지 않고 MAC Adddress를 얻으려면 어떻게해야합니까?
감사합니다. VLAD.
이 어리석은 질문에 대해 유감스럽게 생각하지만 Java에서 IP 주소를 모르고 사용하지 않고 네트워크 카드의 MAC 주소를 어떻게 찾을 수 있습니까?JAVA에서 IP를 사용하지 않고 MAC Adddress를 얻으려면 어떻게해야합니까?
감사합니다. VLAD.
(귀하의 운영 체제 인 경우 nix
시스템, 창문 비슷한 방법으로 ipconfig
를 사용하는 경우) 당신은 아래와 같은 시스템 명령을 사용할 수 있습니다
Runtime r = Runtime.getRuntime();
Process p = r.exec("ifconfig -u |grep ether");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
while ((line = b.readLine()) != null) {
System.out.println(line);
}
b.close();
을 내 시스템에 그것을 제공합니다
ether 28:37:37:15:3b:31
ether b2:00:10:65:56:41
...
아마 많은 MAC 주소, 블루투스, 이더넷, WIFI 등이 있습니다.
NetworkInterface.getHardwareAddress
을 사용할 수 있습니다. NetworkInterface.getNetworkInterfaces()
으로 모든 네트워크 카드 목록을 가져올 수 있습니다.
이 코드를 사용하면 MAC 주소를 알 수 있습니다.
InetAddress address = InetAddress.getLocalHost();
NetworkInterface nwi = NetworkInterface.getByInetAddress(address);
byte mac[] = nwi.getHardwareAddress();
System.out.println(mac);
나는 그런 식으로 시도했지만 리눅스에서 로컬 루프백의 주소를 먼저 취하기 때문에 작동하지 않습니다. 그리고 좀 더 구체적으로 말하자면 저는 윈도우즈에서 여러분에게 주어진 방법을 사용하기 때문에 리눅스의 인터넷에 연결된 네트워크 카드의 인터넷 주소 만 필요합니다. –