답변:
이를 위해 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
.
192.168.1.0/24
사용자의 IP 주소 범위로 변경 되도록 조정해야합니다 .
nmap -sP 192.168.1.0/24
에서는 ping 스캔에 사용 합니다.
arp
것입니다 천천히 그들이 하나가 있다면 당신 활성 MAC 주소와 IP를 또는 호스트 이름의 목록을 반환합니다. 더 빨리 가고 싶다면 arp -n
DNS 조회를 건너 뛰어야합니다. 무언가로 구문 분석 해야하는 경우 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도 없음).
논쟁을 빨리 끝내기 위해서 ...
nmap
여전히 최선의 해결책입니다.nmap
(특히 다음 스캔을 원할 때 포트 스캔을위한) 훌륭한 도구이지만 여전히이 문제에 대해 약간 어색하고 느립니다. 셜리라고 부르지 마나는 이것을 위해 사용 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
sudo arp-scan -l -I wlan0
brew install arp-scan
OSX El Capitan에서 해야 할 arp-scan을 얻으려면 .
사용할 수 있습니다 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
avahi-discover를 시도 할 수 있습니다 .
이 명령으로 설치하거나 위의 링크를 클릭하여 설치하십시오.
sudo apt-get install avahi-discover
avahi-discover
터미널에서 실행하십시오 .터미널에서이 명령을 사용할 수 있습니다.
avahi-browse -a -t -d local
기본적으로 설치됩니다.
것을 경우에 NetBIOS 프로토콜이 지원됩니다, 내가 사용하는 것을 선호
nbtscan 192.168.1.1-192.168.1.255
.
나는이 포스트에 흥미를 느꼈다. 나는 이것을 필요로했다.
명령문을 arp
사용 하여 출력 을 구문 분석하고 awk
HTML 출력을 생성 하는 쉘 스크립트를 작성했습니다 . 스크립트를 실행하고 출력을 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"
nmap
LAN 에서 스캔을 먼저 실행 하면 ARP 테이블에 항목이 있습니다. 잘만되면 서식이 번역되었습니다. 텍스트를 표 형식으로 갖도록 이것을 스프루스시킬 수 있습니다.
일부 작업 및 검색 후이 명령을 발견했습니다.
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의 범위. 당신의 것으로 교체
nmap과 ARP 콤보를 사용하는 데 지친 후, 주어진 IP 범위에 대한 모든 MAC 주소를 쿼리하는이 작은 프로그램을 만들었습니다 : https://github.com/drkblog/findmacs