네트워크상의 모든 컴퓨터의 mac 주소를 찾는 방법


31

SSH를 수행하는 대신 네트워크에있는 모든 컴퓨터의 mac 주소를 쉽게 찾을 수있는 방법이 있습니까? 네트워크 ifconfig | grep HWaddr에 300 대의 컴퓨터가있는 경우 정말 쉬운 솔루션이 필요합니다.


2
완전성을 위해 : arp -n 0.0.0.0 여기서 0.0.0.0은 장치의 IP 주소입니다. 한 번에 하나씩 검색 할 수 있습니다. 때때로 당신은 단지 하나를 원하며, 이것은 각 상자에 sshing하는 것보다 확실히 빠릅니다. Windows 박스 또는 프린터 인 경우 어떻게합니까?
d -_- b

2
sudo arp-scan --localnet
Silver Moon

답변:


34

nmap 을 사용 하여 ping 스캔을 실행할 수 있습니다 .

nmap -sP 192.168.254.*

Starting Nmap 5.00 ( http://nmap.org ) at 2011-03-09 11:32 GMT
Host xyzzy.lan (192.168.254.189) is up (0.00022s latency).
MAC Address: 00:0C:29:5B:A5:E0 (VMware)
Host plugh.lan (192.168.254.196) is up (0.00014s latency).
MAC Address: 00:0C:29:2E:78:F1 (VMware)
Host foo.lan (192.168.254.200) is up.
Host bar.lan (192.168.254.207) is up (0.00013s latency).
MAC Address: 00:0C:29:2D:94:A0 (VMware)
Nmap done: 256 IP addresses (4 hosts up) scanned in 3.41 seconds

편집하다:

출력을 IP-> MAC으로 필터링하는 sed 스크립트는 이것을 파일에 넣습니다.

/^Host.*latency.*/{
    $!N
    /MAC Address/{
        s/.*(\(.*\)) .*MAC Address: \(.*\) .*/\1 -> \2/
    }
}  
/[Nn]map/d
s/^Host .*is up/& but MAC Address cannot be found/

이렇게 사용하세요

nmap -sP 192.168.254.0/20 | sed -f sedscript
192.168.254.189 -> 00:0C:29:5B:A5:E0
192.168.254.196 -> 00:0C:29:2E:78:F1
Host foo.lan (192.168.254.200) is up but MAC Address cannot be found.
192.168.254.207 -> 00:0C:29:2D:94:A0

예, 이것은 내가 찾고있는 것입니다. 다른 메시지를 읽었습니다. 시스코 스위치가 메시지에 대해 모든 것에 감사드립니다.
등록 된 사용자

1
Mac 주소를 표시하는 유일한 방법은 루트로 nmap을 실행하는 것입니다. 또한 sedscript가 더 이상 작동하지 않는 것 같습니다. [IP 주소 근처의 텍스트가 변경되었습니다.
monksy

192.168.1.147 호스트에 대한 Nmap 스캔 보고서가 가동되었습니다 (0.00045 초 대기 시간). MAC 주소 : XX : XX : XX : XX : XX : XX
monksy

16

nmap을 사용하십시오. MAC 주소를 얻을 수 있도록 루트로 실행해야합니다. 예:

sudo nmap -sP 192.168.1.0/24 

192.168.1.1-192.168.1.255를 스캔합니다. 이 서브넷 표기법에 익숙하지 않은 경우 Wiki에서 CIDR 표기법을 찾아보십시오.

최근 리눅스 배포판의 저장소에서 nmap을 얻을 수 있어야합니다.

sudo apt-get install nmap

또는

sudo yum install nmap

내 네트워크의 샘플 출력 :

Host 192.168.1.1 is up (0.0069s latency).
MAC Address: 00:0D:54:9B:D8:F4 (3Com)
Host 192.168.1.78 is up (0.0068s latency).
MAC Address: 00:0C:29:BC:3D:1C (VMware)
Host 192.168.1.91 is up (0.0038s latency).
MAC Address: 00:0C:29:8A:F4:A3 (VMware)
Host 192.168.1.92 is up (0.0039s latency).
MAC Address: 00:0C:29:65:60:5F (VMware)
Host 192.168.1.158 is up (0.033s latency).
MAC Address: 00:0C:29:82:24:EA (VMware)
Host 192.168.1.186 is up (0.0024s latency).
MAC Address: 00:0C:29:3E:26:1F (VMware)
Host 192.168.1.190 is up (0.0066s latency).

네 방법은 매우 간단합니다.
등록 된 사용자

7

동일한 네트워크 세그먼트의 호스트에서이 명령을 실행하면 nmap각 호스트의 모든 MAC 주소가 검색됩니다.

예를 들면 다음과 같습니다.

sudo nmap 192.168.1.0/24 -sP

Starting Nmap 4.76 ( http://nmap.org ) at 2011-03-09 06:29 EST

Host old.net (192.168.1.1) appears to be up.
MAC Address: 00:18:39:C5:A1:DC (Cisco-Linksys)

MAC 주소의 경우 우분투 상자에서 루트가되어야합니다. 또한 단일 호스트의 간단한 방법은 호스트를 핑 arp -a하고 배포의 초기 설치에 일반적으로 포함 된 명령 만 사용하려는 경우 arp 테이블을 보는 것입니다.

arp -a | grep -v incomplete
foo.net (192.168.1.145) at 00:0d:4b:6a:2c:cb [ether] on eth0

7

이 명령을 시도하십시오 :

arp-scan --interface=eth0 192.168.1.0/24

나는 이것이 정말로 오래된 질문이라는 것을 안다. 그러나 nmap은 MAC 주소를 제공하지 않았습니다. arp-scan이 수행했습니다. 감사.
MikeP

5

LAN 토폴로지에 따라 스위치에 MAC 주소 테이블을 표시하는 것이 가장 좋습니다.

예를 들어 스위치 인프라가 Cisco 인 경우

sh mac address-table

모든 스위치에서.

스위치가 많은 경우 SNMP를 사용하여이 작업을 자동화 할 수 있습니다 .

토폴로지 및 네트워킹 장비 유형에 따라 다른 옵션과 (다시) 라우터의 arp 테이블을 표시하는 장치의 mac 주소를 가져올 수도 있습니다.

이 두 가지 방법 중 하나를 사용하면 네트워크 인프라에 연결된 모든 장치 (예 : PC, 프린터, 액세스 포인트 등)의 mac 주소 목록도 얻을 수 있습니다. 첫 번째 경우 IP 주소가없는 장치도 포함됩니다. 이것은 당신이 원하는 것이거나 원하지 않을 수도 있지만 시도해 볼 가치가 있습니다.



1

네트워크의 ssh에 대해 언급 했으므로 다음과 같은 내용을 사용할 수도 있습니다.

nmap -p 22 10.100.10.0/24 >/dev/null ; arp -a

0

SIW라는 프로그램을 사용할 수 있습니다. 무료이며 사용 권한이 없거나 네트워크가없는 네트워크를 검색합니다.

URL : http://www.gtopala.com/

.exe 또는 전체 설치로 제공됩니다.


.exe? 태그는 "Linux-Netowrking"이라고 말합니다
d -_- b
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.