Як знайти ім'я комп’ютера в локальній мережі з IP-адреси?


54

Моя мережа включає машини, на яких працює Linux та інші під управлінням Windows. І моя машина працює під управлінням Linux.


2
Питання трохи неясне, що призвело до різних - і хороших - відповідей нижче. Ви хочете знайти ім'я DNS хоста? Ви хочете знайти ім'я WINS? Ви хочете шукати в мережі всі знайдені хости? На всі ці запитання дано відповідь - але конкретна бажана відповідь невідома.
Май

Відповіді:


35

Введіть термінал

arp -a

Він покаже все ім’я хоста в локальній мережі, будь то Linux або Windows.


14
Це не показує нічого в моїй локальній мережі, яка має 30+ машин Linux ...
Cerin,

@Cerin Ви самі на Linux працюєте?
Шашанк Сован

1
У Ubuntu 14.04 тут сказано: "? (192.168.1.2) о 00: 22: 6b: f2: 33: b3 [ефір] на wlan0", даючи мені лише інформацію про мій маршрутизатор (мій ноутбук підключений до нього через wifi, наприклад про інші 10 пристроїв атм). Дивлячись на man arp, він також говорить "arp - маніпулює кеш-пам'яттю ARP системи". Як цей інструмент повинен вирішити оригінальне питання?
gerlos

5
Те саме тут, на Ubuntu 14.04, тут просто перелічено купу? (192.168.55.147) at ac:3a:7a:a4:01:d4 [ether] on eth0
Ілля Лінн

2
Те ж саме. Я можу отримати доступ до localhost лише за допомогою імені хоста, ніщо інше, як видається, не рекламує його ім'я хоста, навіть машини Linux, які я створив сам.
несправжнє

19

Введіть термінал

sudo aptitude install nmap
nmap -sP xxx.xxx.xxx.xxx

Це дасть вам:

Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-03 19:08 CET
Nmap scan report for HOST.DOMAIN (xxx.xxx.xxx.xxx)
Host is up (0.00052s latency).
MAC Address: YY:YY:YY:YY:YY:YY (Manufactor)
Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

Де HOST.DOMAIN - DNS-ім'я машини.


10
Це показує всі активні IP-адреси, але він показує лише домени для машин, у яких явно налаштований власний домен на моєму локальному сервері Bind. У ньому не відображаються локальні імена хостів, що, на мій погляд, намагається виконати ОП.
Серін

ця відповідь дуже швидка.
activedecay

4
-sP може бути змінено на -sn залежно від вашої версії nmap. З посібника nmap 7.12: -sn (Без сканування портів) У попередніх випусках Nmap -sn був відомий як -sP.
Lemmings19

Подібно до arpкоманди, я вважаю, що ця відповідь працює лише в тому випадку, якщо у вас є локальний DHCP-сервер і DNS-сервер / проксі, які спілкуються між собою, так що імена хостів, записані DHCP-орендами, можуть бути вирішені (або зворотно-вирішені, в цьому випадку ) через DNS.
Doktor J

9

Що робити, якщо ви спробуєте це:

Ви можете запустити його у Windows

nbtstat -A xxx.xxx.xxx.xxx (where x is the ip address)

на ubuntu можна встановити nbtscan. Додаткову інформацію можна знайти тут: http://www.unixwiz.net/tools/nbtscan.html

Сподіваюся, це допомагає


Велике спасибі, але, схоже, nbtscan виявляє машини під управлінням Windows. У мене 2 машини під управлінням Windows і ще 2 під управлінням Linux. Він виявляє лише два запущених Windows.
Іслам Хасан

2
ви можете спробувати nmblookup? його слід встановити вже на Ubuntu
Brett

Вибачте, я прочитав підручник, але не зміг зрозуміти, як написати команду, яка вирішує мою проблему. Я не бачу опцій, що приймають IP як вхідний. Чи можете ви написати мені команду, будь ласка?
Іслам Хасан

6
спробуйте nmblookup -A xxx.xxx.xx, де x - ip-адреса машини. Тому я б зробив nmblookup -A 192.168.1.6, і він поверне ім'я моєї машини. Вам потрібно буде зробити це для кожної машини.
Бретт

1
@Brett: (+1) ви повинні перетворити свій коментар у відповідь, як єдиний метод, який працював на мене (і вікна, і вікна Linux). Спасибі
lepe

7

Зворотний пошук імені Netbios може виконати те, що ви хочете більше, ніж "ім'я хоста", яке є функцією DNS та tcp / ip. nmblookup з параметром -A повертає імена пристроїв, а також mac-адресу. Спробуйте щось подібне:

nmblookup -A 192.168.1.2

Це відповідь, яка працювала на мене
Хамфрі

Це відповідь.
Кампа

3

Якщо у вашій мережі працює сервер DHCP, як правило, на модемі / маршрутизаторі, швидше за все, у вас з'явиться спосіб побачити призначені DHCP адреси - часто на веб-сторінці, і це часто перелічує імена комп'ютерів поруч із призначеними IP-адресами .


2

Я б просто скористався

nslookup xxx.xxx.xxx.xxx

він покаже мені ім'я хоста (зазвичай ім'я комп'ютера)


4
Це якраз отримує мене** server can't find xxx.xxx.xxx.xxx.in-addr.arpa.: NXDOMAIN
Серін,

працює для мене :)
vk.edward.li

2
nslookup виконує пошук DNS, тому для цього вам потрібно зареєструвати хости в DNS. Якщо у вас є звичайна мережа Windows у приватному діапазоні IP, без налаштування ActiveDirectory, вона не працюватиме. Імена NetBios та імена DNS - це різні звіри.
bogdan.mustiata

1

Наскільки мені відомо, не існує утиліти для вирішення IP-адреси в імені NetBIOS. Я б міг уявити, що якась мережева програма обстеження або програма тестування на проникнення, можливо, зможе надати вам цю біль у інформації. Однак усі комп'ютери повинні бути в одному домені та підмережі.


Не могли б ви назвати програму, будь ласка?
Іслам Хасан

1
ОП хоче протилежного. напр. IP-> ім'я хоста
Cerin

Я знаю, що це старе ... і OP використовує Linux, а не Windows ... але в Windows ви можете запустити, nbtstat -A <IP Address>щоб отримати ім'я NetBIOS тільки з IP-адреси. Це працює в підмережах, і не потрібно бути в одному домені. Також біг nbtstat -a <NetBIOS Name>буде робити зворотне. Сподіваюсь, це допоможе ...
Джон Гомер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.