로컬 네트워크 (LAN)에있는 모든 MAC 주소 및 관련 IP 주소를 나열합니다.


82

로컬 네트워크 (LAN)에 연결된 시스템의 모든 MAC 주소 와 관련 IP 주소 를 어떻게 나열 합니까?


6
레벨 3 네트워크 계층 장비를
통과하자마자이

!물음표 뒤에 배치 합니까? 질문이 외치거나 중요도가 높은 경우에만 필요하며 사용되지 않습니다.
kiri

@ minerz029 감사합니다
Maythux

1
sudo tail -f /var/log/messagesMAC 주소를 찾거나 기기를 찾기 위해 메시지를 grep / read하려는 기기를 분리했다가 다시 연결합니다.
IceArdor

답변:


63

이를 위해 Nmap 유틸리티를 사용할 수 있습니다 . Nmap은 무료 네트워크 스캐너 유틸리티입니다.

그냥 시도하십시오 :

sudo nmap -sn 192.168.1.0/24

네트워크 식별자와 서브넷 마스크를 대체하십시오.

네트워크 ID 및 서브넷 마스크를 찾는 방법

사용 명령 ip a:

bash~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:94:ee:9a brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0
    inet6 fe80::c685:8ff:fe94:ee9a/64 scope link valid_lft forever preferred_lft forever

여기 2 지점에 wlan0장치가 있습니다. 그것은 말한다 inet 192.168.3.66/24 brd 192.168.3.255 scope global wlan0: IP 주소 192.168.3.66, 서브넷 마스크 : 24. 네트워크 ID는 192.168.3.0마지막 숫자를 0으로 대체합니다.

또는 사람이 nmap말한 것처럼 :

sudo nmap -sn 192.168.1.0/24

다음은 매뉴얼 페이지 nmap (1) 의 작은 인용문입니다 .

-sn (No port scan)

이 옵션은 Nmap에게 호스트 검색 후 포트 스캔을하지 말라고 지시하고 스캔에 응답 한 사용 가능한 호스트 만 인쇄합니다. 이것을 "핑 스캔"이라고도하지만 traceroute 및 NSE ​​호스트 스크립트를 실행하도록 요청할 수도 있습니다.

이것은 기본적으로 목록 스캔보다 한 단계 더 중요하며 종종 같은 목적으로 사용될 수 있습니다. 그것은 많은 관심을 끌지 않고 대상 네트워크의 가벼운 정찰을 허용합니다.

얼마나 많은 호스트가 작동 중인지 알면 공격자에게 모든 단일 IP 주소 및 호스트 이름의 목록 검색에서 제공하는 목록보다 더 가치가 있습니다.

시스템 관리자는 종종이 옵션도 유용하다고 생각합니다. 네트워크에서 사용 가능한 시스템을 계산하거나 서버 가용성을 모니터링하는 데 쉽게 사용할 수 있습니다. 이것을 종종 핑 스윕이라고하며 많은 호스트가 브로드 캐스트 쿼리에 응답하지 않기 때문에 브로드 캐스트 주소를 핑하는 것보다 더 안정적입니다.

기본 호스트 검색 -sn은 ICMP 에코 요청, 포트 443에 대한 TCP SYN, 포트 80에 대한 TCP ACK 및 기본적으로 ICMP 타임 스탬프 요청으로 구성됩니다.

권한이없는 사용자가 실행하면 SYN 패킷 만 connect대상의 포트 80 및 443으로 (호출을 사용하여 ) 전송 됩니다.

권한있는 사용자가 로컬 이더넷 네트워크에서 대상을 검색하려고하면 ARP 요청이 --send-ip지정 되지 않은 한 사용 됩니다. -sn옵션합니다 (발견 프로브 유형 중 하나와 결합 될 수있다 -P*제외 옵션 -Pn을보다 융통성).

해당 프로브 유형 및 포트 번호 옵션이 사용되면 기본 프로브가 재정의됩니다. Nmap을 실행하는 소스 호스트와 대상 네트워크 사이에 엄격한 방화벽이있는 경우 이러한 고급 기술을 사용하는 것이 좋습니다. 그렇지 않으면 방화벽이 프로브 또는 응답을 삭제하면 호스트가 누락 될 수 있습니다.

Nmap의 이전 릴리스에서는 -sn로 알려졌습니다 -sP.


작동하지 않습니다
Maythux

4
192.168.1.0/24사용자의 IP 주소 범위로 변경 되도록 조정해야합니다 .
kiri

@ minerz029 물론 IP를 변경했습니다
Maythux

그 이유인지는 모르겠지만 Linux nmap -sP 192.168.1.0/24에서는 ping 스캔에 사용 합니다.
tiktak

2
네트워크에서 MAC 주소를 읽는 데 루트 권한이 필요한 이유를 알고 있습니까?
Michael Aquilina 2016 년

45

arp것입니다 천천히 그들이 하나가 있다면 당신 활성 MAC 주소와 IP를 또는 호스트 이름의 목록을 반환합니다. 더 빨리 가고 싶다면 arp -nDNS 조회를 건너 뛰어야합니다. 무언가로 구문 분석 해야하는 경우 arp -an고정 너비 열을 건너 뜁니다.

$ arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.10.0.11               ether   00:04:ff:ff:ff:d0   C                     eth0
10.10.0.16               ether   00:04:ff:ff:ff:a6   C                     eth0
raspbmc.local            ether   00:1f:ff:ff:ff:9c   C                     eth0
10.10.0.19               ether   00:04:ff:ff:ff:c9   C                     eth0
10.10.0.12               ether   bc:f5:ff:ff:ff:93   C                     eth0
10.10.0.17               ether   00:04:ff:ff:ff:57   C                     eth0
10.10.0.1                ether   20:4e:ff:ff:ff:30   C                     eth0
HPF2257E.local           ether   a0:b3:ff:ff:ff:7e   C                     eth0
10.10.0.15               ether   00:04:ff:ff:ff:b9   C                     eth0
tim                      ether   00:22:ff:ff:ff:af   C                     eth0
10.10.0.13               ether   60:be:ff:ff:ff:e0   C                     eth0

그렇지 않으면 라우터가 활성 장치에 대한 아이디어를 제공 할 수 있어야합니다 (대부분의 경우).


davidcl의 의견을 편집하십시오 .이 답변은 내가 원했던 것만 큼 완벽하지 않습니다.

arp어떤 종류의 이전 접촉에 의존하여 작동합니다. 그러나 제 생각에 현대 장치는 브로드 캐스트 수준에서 말이 많기 때문에 (당신은 정말로 wireshark를보아야합니다-교육입니다) 최소한 브로드 캐스트에 응답하지 않고 네트워크에 장치가 없을 것입니다. (네트워크에서 모든 장치를 10.10.0.255로 핑할 수있게하려면 장치의 90 % 이상을 얻게됩니다.)

내가 무슨 뜻인지 알기 위해, 위의 10.10.0.16이 PVR입니다. PC와 PVR간에 직접적인 상호 작용이 없으며 PVR에서 실행중인 서비스가 없습니다 (UPNP / DLNA도 없음).

논쟁을 빨리 끝내기 위해서 ...

  • 그러나 내 네트워크의 해커는 어떻습니까?! 1
    ICMP 핑도 차단할 수 있습니다. 모든 유형의 스캔에 대한 모든 응답을 차단할 수 있습니다.
  • 아, 그러나 nmap여전히 최선의 해결책입니다.
    여기서 실행할 때 여전히 4 개의 장치가 빠져 있습니다. 네트워크에서 활성화 된 4 개의 장치. 그들이 핑에 응답하지 않거나 nmap이 응답 할만큼 오래 기다리지 않습니다 ... 모릅니다. nmap(특히 다음 스캔을 원할 때 포트 스캔을위한) 훌륭한 도구이지만 여전히이 문제에 대해 약간 어색하고 느립니다. 셜리라고 부르지 마

1
mac changer로 MAC ID를 변경하면 원본을 보여줄 수 있습니까?
rɑːdʒɑ

2
@BYEAskUbuntu MAC 체인저를 사용하는 경우 MAC을 설정하십시오. 모든 네트워크 사용자에게 그 기원은 일반적으로 알려져 있지 않기 때문에 불가능합니다.
Ruslan

3
@Ruslan 그것은 단지 그들을 비우는 편집증입니다 ... 개인이 그들과 함께 무언가를하는 것은 상당히 어려울 것이지만 당신은 누가 당신을 스토킹하는지 알지 못합니다.
Oli

9
이 답변에 놀랐습니다. "arp"는 로컬 네트워크의 활성 MAC 주소 목록을 표시하지 않습니다. "arp"는 실행중인 시스템과 상호 작용 한 시스템에 해당하는 MAC 주소 목록을 보여줍니다. 최근 로컬 컴퓨터와 네트워크의 다른 컴퓨터간에 통신이없는 경우 해당 컴퓨터는 "arp"목록에 표시되지 않습니다.
davidcl

5
방금 네트워크에서 빠른 테스트를 수행했으며 arp는 존재하는 장치의 약 25 % 만 표시합니다. arp를 실행하는 컴퓨터가 다른 장치로부터 패킷을받지 못하면 arp 목록에 없습니다. nmap이 네트워크에서 감지하지 못한 장치에 대해 더 알고 싶습니다. nmap에서 숨길 수있는 방법이 있지만 기본 nmap 스캔이 매우 효과적이라는 것을 알았습니다. 즉, 장치가 트래픽을 생성하지 않고 요청에 응답하지 않으면 장치가 보이지 않으므로 대부분의 장치는 특정 유형의 요청에 응답하기 때문에 안전 장치 응답이 없습니다.
davidcl

36

나는 이것을 위해 사용 arp-scan한다 :

$ sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.2.1     ec:1a:59:61:07:b2       (Unknown)
192.168.2.50    90:59:af:3d:6d:bc       (Unknown)
192.168.2.51    3c:97:0e:48:22:12       (Unknown)
192.168.2.52    00:18:31:87:8f:b0       Texas Instruments

4 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.282 seconds (199.69 hosts/sec). 4 responded

1
무선과 같은 네트워크 인터페이스를 지정하려면이 명령을 사용하십시오sudo arp-scan -l -I wlan0
HarlemSquirrel

예, arp-scan은 실제로 "가장 적합한 도구"입니다.
mivk

이것은 나를 위해 작동하지 않습니다 ... 어떤 이유로 장치가 응답하지 않습니다.
Andrew Wagner

brew install arp-scanOSX El Capitan에서 해야 할 arp-scan을 얻으려면 .
jamescampbell

16

사용할 수 있습니다 arp-scan.

이 명령을 사용하여 설치하십시오.

sudo apt-get install arp-scan

모든 IP 주소와 관련 MAC 주소를 나열하려면 다음을 사용하십시오.

sudo arp-scan --interface=eth0 --localnet

결과는 다음과 같습니다.

Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 16777216 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.1.3 38:60:77:29:31:36   (Unknown)
192.168.1.8 4c:72:b9:7c:bb:7e   (Unknown)
192.168.1.110   00:15:17:5f:d2:80   Intel Corporate
192.168.1.111   00:ff:88:5f:fd:f0   (Unknown)
192.168.1.153   00:15:17:5f:d2:82   Intel Corporate
192.168.1.180   52:54:00:70:04:02   QEMU
192.168.1.199   52:54:00:fe:7f:78   QEMU

1
아직 IP가없는 장치를 찾지 못했습니다 ...
Andrew Wagner

9

GUI

avahi-discover를아바 히 디스커버리 설치 시도 할 수 있습니다 .

  1. 이 명령으로 설치하거나 위의 링크를 클릭하여 설치하십시오.

    sudo apt-get install avahi-discover
    
  2. Avahi Zeroconf 브라우저 또는 avahi-discover터미널에서 실행하십시오 .
  3. 로컬 네트워크의 장치 목록이있는 창이 나타납니다.
    MAC 주소는 대괄호 안에있는 문자열입니다.

커맨드 라인

터미널에서이 명령을 사용할 수 있습니다.

avahi-browse -a -t -d local

기본적으로 설치됩니다.


1
이것은 어떤 종류의 서비스도 실행하지 않는 머신의 MAC 주소를 보여주기 위해 작동합니까?
Eliah Kagan

3
제 경우에는 네트워크의 모든 장치에서 작동하지 않습니다. 깔끔하게 정리되었지만 avahi / upnp 서비스가없는 바보 같은 클라이언트는 표시하지 않습니다.
Oli

5
  1. 먼저 네트워크의 스캔이되는 호스트를 참조하려면 어떻게 도달 / 온라인 사용 nmap -sn 1.2.3.4/24또는fping -g 1.2.3.4/24

  2. 그런 다음을 사용하여 IP 주소에 해당하는 MAC 주소를 쿼리하십시오 arping. 의사 코드 사전 :

    for i in $(cat list-of-reachable-hosts)
    do 
        arping $i
    done
    
  3. Cheatery : 로컬 스위치의 arp-cache를 참조하십시오. 그것은 당신에게 좋은 개요를 제공해야합니다 ...



2

나는이 포스트에 흥미를 느꼈다. 나는 이것을 필요로했다.

명령문을 arp사용 하여 출력 을 구문 분석하고 awkHTML 출력을 생성 하는 쉘 스크립트를 작성했습니다 . 스크립트를 실행하고 출력을 HTML 파일로 리디렉션하면 IP, 전체 MAC 주소 및 IEEE OUI 조회 페이지에 대한 링크를 표시하는 HTML 파일이 남습니다. 이는 NIC 제조업체를 통해 클라이언트를 결정하는 데 도움이됩니다.

printf "<html>\n<title>LAN IPs and their MACs</title>\n<body>\n"
arp -a | awk '{print $2,$4}' | awk -F'[().: ]' '{print $2"."$3"."$4"."$5,$6,$7":"$8":"$9":"$10":"$11":"$12,"<a href=\"http://standards.ieee.org/cgi-bin/ouisearch?"$7$8$9"\">IEEE OUI Lookup "$7"-"$8"-"$9"</a><br>"}'
printf "\n</body>\n</html>\n"

nmapLAN 에서 스캔을 먼저 실행 하면 ARP 테이블에 항목이 있습니다. 잘만되면 서식이 번역되었습니다. 텍스트를 표 형식으로 갖도록 이것을 스프루스시킬 수 있습니다.


2

일부 작업 및 검색 후이 명령을 발견했습니다.

nmap -sP -PE -PA21,23,80,3389 192.168.1.*

nmap: 네트워크 탐색 도구 및 보안 / 포트 스캐너

-sP(스킵 포트 스캔). 이 옵션은 Nmap에게 호스트 검색 후 포트 스캔을하지 말라고 지시하고 스캔에 응답 한 사용 가능한 호스트 만 인쇄합니다. 이것을 "핑 스캔"이라고도하지만 traceroute 및 NSE ​​호스트 스크립트를 실행하도록 요청할 수도 있습니다. 이것은 기본적으로 목록 스캔보다 한 단계 더 중요하며 종종 같은 목적으로 사용될 수 있습니다. 그것은 많은 관심을 끌지 않고 대상 네트워크의 가벼운 정찰을 허용합니다. 얼마나 많은 호스트가 작동 중인지 알면 공격자가 모든 단일 IP 및 호스트 이름의 목록 검색에서 제공하는 목록보다 더 가치가 있습니다.

-PE; -PP; -PM (ICMP Ping 유형). 앞에서 설명한 비정상적인 TCP, UDP 및 SCTP 호스트 검색 유형 외에도 Nmap은 유비쿼터스 핑 프로그램에서 보낸 표준 패킷을 보낼 수 있습니다. Nmap은 ICMP 유형 8 (에코 요청) 패킷을 대상 IP 주소로 전송하여 사용 가능한 호스트에서 유형 0 (에코 응답)이 반환 될 것으로 예상합니다. 불행히도 네트워크 탐색기의 경우 많은 호스트와 방화벽이 다음과 같이 응답하지 않고 이러한 패킷을 차단합니다. RFC 1122 [2]에 의해 요구됨. 이러한 이유로 ICMP 전용 검색은 인터넷을 통해 알 수없는 대상에 대해 충분히 신뢰할 수 없습니다. 그러나 내부 네트워크를 모니터링하는 시스템 관리자에게는 실용적이고 효율적인 접근 방법이 될 수 있습니다. 이 반향 요청 동작을 활성화하려면 -PE 옵션을 사용하십시오.

-A(공격적 스캔 옵션). 이 옵션은 추가 고급 및 공격적인 옵션을 활성화합니다.

21,23,80,3389 검색 할 포트

192.168.1.* IP의 범위. 당신의 것으로 교체



0

사용할 수 있습니다 arp.

MAC 및 IP가 표시됩니다.


이 기능은 연결된 장치 (예 : 핑)에 대해서만 작동합니다.
피터 Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.