원격 컴퓨터의 MAC 주소를 찾는 방법은 무엇입니까?


34

내 LAN에있는 호스트의 IP 주소를 알고 있습니다. 이를 사용하여 MAC 주소를 어떻게 찾을 수 있습니까 (물리적으로 액세스하지 않아도 됨)?

답변:


46

Windows 시스템에있는 경우 ping, 대상 시스템 과 명령 arp -a작성한 명령 상자 (시작 ... 실행 ... cmd)를 열고 명령 을 발행 하여 로컬 ARP 테이블을보십시오. IP 주소 및 해당 MAC 주소 (예 :

C:\Users\L3K> arp -a

Interface: 192.168.200.128 --- 0xb
  Internet Address      Physical Address      Type
  192.168.200.1         00-50-7f-c3-5c-88     dynamic
  192.168.200.2         00-50-7f-d1-e1-40     dynamic
  192.168.200.6         00-80-77-dd-a8-6b     dynamic

Linux 기반 시스템에있는 경우 arp-scan유틸리티를 설치 한 다음 명령 행에서 네트워크 스캔을 요청할 수 있습니다.

sudo arp-scan 192.168.200.0/24

이더넷 이외의 인터페이스 (예 : 무선)를 사용하는 경우 다음과 같이 지정해야합니다.

sudo arp-scan -I wlan0 192.168.200.0/24

사용중인 인터페이스를 모르는 경우 아래에서 해당 명령을 사용하십시오.

ifconfig  (For Debian based OS such as Ubuntu)
ip link   (For OS like Arch Linux)

14
다른 호스트가 동일한 LAN 세그먼트에있는 경우에만 작동합니다.
AnonymousLurker

@ Linker3000의 지점 무엇 ping전은 arp -a?
Pacerier

4
@Pacerier-arp 명령은 IP 주소를 하드웨어 (mac) 주소에 매핑하는 Address Resolution Protocol 캐시의 내용을 보여줍니다. 대상 IP 주소에 접속하지 않은 경우 캐시에 있지 않습니다. Ping은 캐시에 추가하기 위해 연락하는 간단한 방법입니다. 모든 네트워크 명령을 사용할 수 있습니다. 핑은 쉬운 일입니다.
Kevin Jones

19

이 명령 arpingiputilsLinux 에서 패키지 와 함께 제공됩니다 . ping 할 IP 주소를 지정하면 LAN의 스위치와 서브넷에서도 (적어도 LAN에서는 가능) MAC 주소를 반환합니다.

# arping -c 1 -I eth0 10.100.10.11
ARPING 10.100.10.11 from 10.100.10.25 eth0
Unicast reply from 10.100.10.11 [00:22:68:88:F3:90]  0.594ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)

1
데비안에서,이 두 패키지는 다음과 같습니다 arpingiputils-arping. arping네트워크 인터페이스는 소문자로 지정되어 있지만 패키지는, 나를 위해 일한 i:arping -c 1 -i eth0 10.100.10.11
크로노스

8

시험

getmac /s hostname

또는:

getmac /s IP

이를 수행하려면 시스템에 대한 관리자 액세스 권한이 필요합니다.


arp -a관리자 액세스가 필요하지 않은 것을 사용 하지 않습니까?
Pacerier

2

매니지드 스위치가 있거나 라우터에서 ARP 테이블을 볼 수있는 경우 여기에서 얻을 수 있습니다.

IP가있는 컴퓨터가 온라인 인 경우 핑할 수 있으며 로컬 ARP 테이블에서 MAC을 가져올 수 있습니다.

다른 사람들을위한 일반적인 참고 사항 : Layer 3 프로토콜은이 경우 주소 지정 및 전달에 사용되며 MAC은 Layer 2이므로 다른 LAN에있는 시스템의 MAC 주소를 얻을 수 없습니다.


이 작업을 수행하는 "방법"에 대한 지침을 실제로주지 않았습니다.
GregD

2
라우터에서 보는 경우 웹 인터페이스로 이동하여 찾아보십시오. 모든 라우터는 웹 관리자에 대해 다른 레이아웃과 페이지 세트를 가지고 있기 때문에 그보다 더 구체적으로 말할 수는 없습니다. 특히 MaQleod보다 더 많은 정보를 제공했기 때문에 거친 -1처럼 보입니다.
imoatama

2

그냥 다음과 같은 것을 사용하십시오 :

nmap -n -sP 192.168.146.0/24

매개 변수를 설정에 맞게 조정하면 전체 서브넷을 검색하여 IP 및 MAC 주소를 제공합니다



1

컴퓨터와 대상 컴퓨터가 모두 동일한 서브넷에있는 경우 IP 주소를 AP (Address Resolution Protocol)를 통해 등록하도록 IP 주소를 핑할 수 있습니다.

ping -c1 $IP
arp -n | grep $IP

예를 들어 IP를 찾으려면 10.1.135.150:

# ping -c1 10.1.135.150
PING 10.1.135.150 (10.1.135.150) 56(84) bytes of data.
64 bytes from 10.1.135.150: icmp_seq=1 ttl=64 time=1.88 ms

--- 10.1.135.150 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.883/1.883/1.883/0.000 ms

그런 다음 ARP 테이블을 쿼리하십시오.

# arp -n | grep 10.1.135.150
10.1.135.150             ether   8c:ae:4c:f4:4d:e1   C                     eth0

따라서 10.1.135.150의 MAC은 8c:ae:4c:f4:4d:e1


0

컴퓨터간에 트래픽을 라우팅하는 게이트웨이가 없으면 스니퍼가이 정보를 제공합니다.


답변 Ofir에 감사드립니다. 하위 질문으로 문제의 호스트가 다운 된 경우이를 수행 할 수있는 방법이 있습니까? 예, 내 호스트의 ARP 캐시를 쿼리 할 수는 있지만 불행히도 현재 관심있는 IP가 포함되어 있지 않습니다. 따라서 중간 라우터의 ARP 캐시를 추출하여 찾는 방법이 있는지 궁금합니다.
Frederick

0

라우터의 arp 테이블을 항상 참조 할 수 있습니다 (경우에 따라 라우터는 arp 및 dhcp 임대 테이블을 결합합니다).


정확히 내가 찾고있는 것이지만 어떤 도구 또는 명령이 도움이됩니까?
Frederick

그러나 잠깐만 요, 같은 LAN에 있으므로 라우터가 없을까요?
Frederick

일반적인 LAN에는 하나 이상의 라우터가 있습니다. 라우터에 따라 얻는 방법에 대한 옵션이 다릅니다. 대부분의 가정용 라우터는 해당 정보를 찾기 위해 웹 인터페이스를 사용하여 액세스해야합니다. 더 복잡한 라우터는 정보를 얻기 위해 콘솔 포트를 통해 텔넷으로 연결하거나 쿼리 할 수 ​​있습니다.
MaQleod

0

다른 방법은 다음과 같습니다.

nbtstat -a 192.168.1.1

( 192.168.1.1원하는 주소로 교체 )


또한 getmacWindows 이외의 컴퓨터에서 사용하는 경우 다음과 같은 이점이 있습니다.

오류 : RPC 서버를 사용할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.