Отримайте назви пристроїв у мережі


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

Як ви бачите, не всі пристрої видають ім'я хоста; наприклад, деякі периферійні пристрої, такі як принтери, не завжди надають імена хостів, але більшість пристроїв. Він навіть намагається вгадати виробника, аналізуючи id-частину MAC

Він працює на Raspberry Pi, я встановив його на шахті давно, і він працює як очікувалося.


1
Як встановити fing? Ваше посилання є мертвим, і воно не входить у жодне сховище Raspberry Pi.
Патрік Кук

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).
Дейв X

1
Навіть одне ім’я хоста не виявлено в мережі 22 пристроїв у першій тестовій мережі. Те саме з ще 24 господарями. Фінг, як на даний момент (Febr 2018) здається мені безладом.
Sopalajo de Arrierez

5
Чи посилання все ж правильне? Здається, це продукт IoT, а не інструмент командного рядка.
Венрікс

8

Жоден із вищезазначених відповідей не працював для мене, тому я почав возитися з арп-скануванням. Отже, я виявив, що працював:

arp-scan -I [WIFI INTERFACE] -l

arp-сканування сканує вашу мережу та перераховує пристрої. -Я вибирає інтерфейс, і -l повідомляє arp-скану переглядати локальну мережу. Далі введіть

arp

Це поверне пристрої для сканування арп-файлу щойно розташованих та перелічить їх імена хостів та 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, тому DHCP-сервер має ім'я цього пристрою, навіть якщо це ім'я не з’являється більше ніде (DNS, SMB,…).

На жаль, ваш сервер 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) - і, таким чином, мають ім'я Windows.

Підключення до інших відкритих портів (наприклад, 21 / ftp, 22 / ssh, 23 / telnet, ...) також може пропонувати імена хостів, але завжди залежно від протоколу - і хости теоретично можуть називати себе по-різному на всіх портах.

Крім того, ви можете налаштувати власний сервер DHCP і DNS на Pi і надати робочу послугу зворотного 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, але мені потрібно виявити кожне ім’я пристрою в моїй мережі.
Федеріко Понці

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.
П’єрз

А для моїх тестів, схоже, не відображаються всі імена 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-адрес на пристроях.

Зокрема, я хочу, щоб "Toshiba 43" 4K TV "відображався, а не" (невідомо) "для MAC 99:99:99:99:99:36(не реальна адреса) вище.

Пізніше я хочу розширити проект через локальну мережу до Інтернету, де замість нього відображатиметься « Stack Exchange » 999.999.9.99або « Ask Ubuntu », а не під 999.999.9.99час перегляду зовнішніх IP-адрес, з якими взаємодіє моя машина.


-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 адреси всіх пристроїв у цій мережі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.