네트워크에서 장치 이름을 가져옵니다


14

네트워크에있는 모든 장치의 이름을 알고 싶었습니다. 나는 웹에서 많은 명령을 찾았지만 이미 시도했지만 아무런 효과가 없었습니다.

기본적으로 라우터 설정을 입력하면 네트워크에 연결된 장치 이름을 얻을 수 있습니다. 일부 응용 프로그램에서도 얻을 수 있으므로 어떤 방식 으로든 수행 할 수 있다고 생각합니다.

명령 줄을 통해 Wi-Fi 네트워크에 연결된 모든 장치의 이름 목록을 원합니다.

감사


pi@raspberrypi ~ $ nmap -sP 192.168.4.0/24

Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-05 13:55 UTC
Nmap scan report for 192.168.4.1
Host is up (0.0055s latency).
Nmap scan report for 192.168.4.2
Host is up (0.42s latency).
Nmap scan report for 192.168.4.4
Host is up (0.045s latency).
Nmap scan report for 192.168.4.5
Host is up (0.47s latency).
Nmap scan report for 192.168.4.6
Host is up (0.0032s latency).
Nmap scan report for 192.168.4.7
Host is up (0.79s latency).
Nmap scan report for 192.168.4.8
Host is up (0.0024s latency).
Nmap scan report for 192.168.4.9
Host is up (0.038s latency).
Nmap scan report for 192.168.4.10
Host is up (0.034s latency).
Nmap scan report for 192.168.4.11
Host is up (0.029s latency).
Nmap scan report for 192.168.4.22
Host is up (0.12s latency).
Nmap scan report for 192.168.4.27
Host is up (0.031s latency).
Nmap scan report for 192.168.4.28
Host is up (0.012s latency).
Nmap scan report for 192.168.4.100
Host is up (0.0038s latency).
Nmap done: 256 IP addresses (14 hosts up) scanned in 49.30 seconds

답변:


8

나는 이것을 위해 fing 을 사용하는 경향 이 있으며, 그것은 당신이있는 서브넷을 스캔하는 스캐너이며 호스트 이름을 추출하여 IP 및 MAC과 함께 표시하려고 시도합니다.

전의:

14:19:05 > Discovery profile: Default discovery profile
14:19:05 > Discovery class:   data-link (data-link layer)
14:19:05 > Discovery on:      192.168.1.0/24

14:19:05 > Discovery round starting.
14:19:05 > Host is up:   192.168.1.151
           HW Address:   XX:XX:XX:XX:XX:XX
           Hostname:     My-laptop-hostname

14:19:05 > Host is up:   192.168.1.1
           HW Address:   YY:YY:YY:YY:YY:YY
           Hostname:     router.asus.com

14:19:06 > Discovery progress 25%
14:19:07 > Discovery progress 50%
14:19:08 > Discovery progress 75%
14:19:05 > Host is up:   192.168.1.10
           HW Address:   AA:BB:CC:DD:EE:FF (ASUSTek COMPUTER)

14:19:05 > Host is up:   192.168.1.11
           HW Address:   GG:HH:II:JJ:KK:LL

14:19:06 > Host is up:   192.168.1.99
           HW Address:   MM:NN:OO:PP:QQ:RR (Apple)
           Hostname:     iPhoneOfSomeone

보시다시피 모든 장치가 호스트 이름을 제공하지는 않습니다. 예를 들어 프린터와 같은 일부 주변 장치는 항상 호스트 이름을 제공하지는 않지만 대부분의 장치는 제공합니다. 심지어 MAC의 ID 부분을 분석하여 제조업체를 추측하려고 시도합니다.

그것은 Raspberry Pi에서 실행되며 얼마 전에 광산에 설치했으며 예상대로 작동합니다.


1
fing을 어떻게 설치합니까? 연결이 끊어졌으며 Raspberry Pi 리포지토리에 포함되어 있지 않습니다.
Patrick Cook

5
해당 출력을 얻기 위해 fing을 어떻게 호출했는지 설명하십시오. 명령이 없으면 답이 불완전합니다.
user666412

2
나는 a apt-get install libpcap-dev ; wget https://www.fing.io/wp-content/uploads/2016/10/overlook-fing-3.0.deb ; dpkg -i overlook-fing-3.0.deb 를 사용 하여 설치 한 다음 fing실행했다. 내 Rpi의 호스트 이름을보고하지 않았지만로 인식했습니다 HW Address: B8:27:EB:1B:E6:0C (Raspberry Pi Foundation).
Dave X

1
첫 번째 테스트 네트워크의 22 개 장치 네트워크에서 하나의 호스트 이름도 감지되지 않았습니다. 다른 24 개의 호스트와 동일합니다. Fing, 2018 (Febr 2018)은 엉망입니다.
Sopalajo de Arrierez

5
링크가 여전히 정확합니까? 현재는 명령 줄 도구가 아닌 IoT 제품인 것으로 보입니다.
Venryx

8

위의 답변 중 어느 것도 나를 위해 일하지 않았으므로 arp-scan으로 엉망이되었습니다. 그래서 내가 찾은 것은 다음과 같습니다.

arp-scan -I [WIFI INTERFACE] -l

arp-scan은 네트워크를 스캔하고 장치를 나열합니다. -I 인터페이스를 선택하고 -l은 arp-scan에게 로컬 네트워크를 보도록 지시합니다. 다음으로

arp

그러면 방금 찾은 장치 arp-scan이 반환되고 호스트 이름과 MAC 주소가 나열됩니다.


6

나는 당신이 당신의 문제, 특히 장치 이름 의 정의에 대해 더 정확해야한다고 생각합니다 .

불행히도 현재 Raspberry Pi에 액세스 할 수 없으므로 여기에 표시된 모든 내용은 Debian 7 상자에서 가져옵니다.

nmap -sP 역방향 DNS 조회를 수행하므로 장치에 역방향 DNS 항목이 있으면 출력은 다음과 같습니다.

> nmap -sP 192.168.4.0/24
Starting Nmap 6.00 ( http://nmap.org ) at 2015-03-12 06:24 CET
Nmap scan report for device1.local (192.168.4.1)
Host is up (0.0021s latency).
Nmap scan report for device2.local (192.168.4.2)
Host is up (0.014s latency).
…

핑 프로브를 차단하는 호스트는 출력에 나타나지 않습니다. -p옵션을 사용하여 스캔 한 포트에서 서비스를 제공하지 않는 호스트도 마찬가지입니다 . 를 사용하여 전체 포트 범위를 스캔하면 -p 0-65535상당한 네트워크 풋 프린트가 생성되지만 여전히 열려있는 포트가없는 호스트는 표시되지 않습니다.

네트워크의 호스트에 대해 신뢰할 수있는 유일한 정보는 MAC 및 IP 주소가 있다는 것입니다. DHCP 서버는 IP 주소를 할당 했으므로 두 서버를 모두 알고 있습니다. 또한 많은 DHCP 클라이언트가 DHCP 요청에 포함 된 호스트 이름을 보내므로 해당 이름이 다른 곳 (DNS, SMB,…)에 나타나지 않더라도 DHCP 서버는이 장치의 이름을 갖습니다.

불행하게도 DHCP 서버는 동적으로 할당 된 IP 주소를 네임 서버에보고하지 않으므로이 정보를 검색 할 수 없습니다.

네트워크 내의 모든 장치를 찾으려면 모든 호스트를 핑한 후 (예 :) ARP 테이블을 덤프 할 수 있습니다 nmap -sP.

> arp -vn
Address               HWtype  HWaddress           Flags Mask            Iface
192.168.4.1           ether   12:34:56:78:9a:bc   C                     wlan0
192.168.4.2           ether   11:22:33:44:55:66   C                     wlan0
…

MAC 및 IP 주소를 사용하면 네트워크 환경에 대한 유일한 일관된 정보가 있습니다. 열린 포트 445를 검색하면 SMB를 지원할 가능성이 가장 높은 장치 (예 : Windows 네트워크)가 표시되므로 창 이름이 표시됩니다.

다른 열린 포트 (예 : 21 / ftp, 22 / ssh, 23 / telnet 등)에 연결하면 호스트 이름을 제공 할 수도 있지만 항상 프로토콜에 따라 달라집니다. 이론적으로 호스트는 모든 포트에서 다르게 호출 할 수 있습니다.

또는 Pi에서 고유 한 DHCP 및 DNS 서버를 설정하고 작동하는 역방향 DNS 서비스를 제공 할 수 있습니다.

모든 장치가 Zeroconf를 지원 하면이 방법으로 장치 검색을 수행 할 수 있습니다.


3

Windows 호스트의 장치 이름을 얻으려면

nmap --script smb-os-discovery -p 445 192.168.1.0/24

(출처 : http://www.blackbytes.info/2013/07/finding-windows-host/ )


챠오 시몬! 이것은 Windows 호스트에서만 작동하지만 네트워크의 모든 장치 이름을 검색해야합니다.
Federico Ponzi

1
틀릴 수도 있지만 "장치 이름"개념이 Linux 시스템에 어떤 것인지 잘 모르겠습니다. 내가 생각할 수있는 가장 가까운 것은 / etc / HOSTNAME 또는 / etc / hostname에 정의 된 호스트 이름이지만 컴퓨터를 요청하여 얻을 수 있는지 모르겠습니다 (물론 DNS 서버가 제공하지 않는 한) .
rand

1

Linux에서는 nbtscan원하는 것을 달성하는 데 사용할 수 있습니다 .

sudo apt-get install nbtscan설치를 실행하십시오 .

네트워크에 연결된 장치 호스트 이름을 보려면

실행 sudo nbtscan 192.168.0.1-192.168.0.255,

호스트가에 192.168.0.1있고 서브넷 마스크를 사용 한다고 가정합니다 255.255.255.0. 네트워크 구성에 따라 IP 범위를 조정하십시오.


NetBIOS 이름 만 확인할 수 있습니다.
Pierz

그리고 내 테스트의 경우 네트워크의 모든 NetBIOS 이름이 표시되지 않는 것 같습니다.
Sopalajo de Arrierez

0

여기에 세 가지 대답이 nmap있지만 접두사 sudo(아무 대답도하지 않음)는 세상의 모든 차이를 발견했습니다.

$ nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:55 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00037s latency).
Nmap scan report for 192.168.1.66
Host is up (0.00035s latency).
Nmap scan report for 192.168.1.67
Host is up (0.00028s latency).
Nmap scan report for 192.168.1.68
Host is up (0.00025s latency).
Nmap scan report for 192.168.1.70
Host is up (0.017s latency).
Nmap scan report for 192.168.1.254
Host is up (0.00070s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 6.86 seconds

$ sudo nmap -sP 192.168.1.0/24

Starting Nmap 7.01 ( https://nmap.org ) at 2019-07-13 14:56 MDT
Nmap scan report for 192.168.1.65
Host is up (0.00050s latency).
MAC Address: 99:99:99:99:99:A6 (Unknown)
Nmap scan report for 192.168.1.66
Host is up (0.00016s latency).
MAC Address: 99:99:99:99:99:D9 (Sony)
Nmap scan report for 192.168.1.70
Host is up (-0.087s latency).
MAC Address: 99:99:99:99:99:36 (Unknown)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: 99:99:99:99:99:00 (Actiontec Electronics)
Nmap scan report for 192.168.1.67
Host is up.
Nmap scan report for 192.168.1.68
Host is up.
Nmap done: 256 IP addresses (6 hosts up) scanned in 2.41 seconds

컴퓨터에 코딩 된 IP 주소와 MAC 주소가 아닌 사람이 읽을 수있는 이름을 장치에 표시하는 방법에 대한 프로젝트를 연구하고 있기 때문에이 Q & A를 우연히 발견했습니다.

특히 99:99:99:99:99:36위의 MAC (실제 주소 아님)에 대해 "(알 수 없음)"대신 "Toshiba 43"4K TV "를 표시하려고 합니다.

나중에 로컬 영역 네트워크를지나 인터넷으로 프로젝트를 확장하여 내 컴퓨터가 상호 작용하는 외부 IP 주소를 볼 때 대신 " 스택 교환 "이 표시 999.999.9.99되거나 " 우분투 요청 "이 표시됩니다 999.999.9.99.


-1

jcbermu는 매우 가깝지만 nmap의 맨 페이지에서 제공합니다.

-sL (List Scan) .
       The list scan is a degenerate form of host discovery that simply lists each host of the network(s) specified, without sending any packets to the target hosts. By default, Nmap still does
       reverse-DNS resolution on the hosts to learn their names.

rDNS 항목에 저장되어 있으면이를 찾을 수 있습니다. 그렇지 않으면 DHCP 요청을 수신하고 가로 챌 수 있습니다.


-2

nmap 이 필요합니다 . 다음과 같은 명령을 실행하십시오.

nmap -sP 192.168.1.0/24

서브넷에서 네트워크 검색을 수행하여 해당 네트워크에있는 192.168.1.0 - 192.168.1.255모든 장치의 이름과 IP 주소를 표시합니다.

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