Як визначити ім'я хоста з IP-адреси в мережі Windows?


84

Моя локальна мережа має 50 хостів Windows. У командному рядку Windows я намагаюся ping, щоб отримати IP-адресу працюючої машини Windows.

Питання полягає в тому, як отримати ім’я хоста певної IP-адреси в тій же робочій групі Windows?

Інше питання - як дізнатись ім'я хоста Windows-машини з вікна Linux, якщо у мене є IP-адреса? Яку команду ви використовуєте? У мене один хост, який працює під Kubuntu 9.04.

Відповіді:


92

Якщо ви хочете визначити ім'я машини Windows без DNS, спробуйте Nbtstat . Але це буде працювати лише в Windows:

Наприклад,

NBTSTAT -A 10.10.10.10

У Linux слід спробувати nmblookup, який робить майже те саме.


3
NBTSTAT покладається на завантаження та запуск NetBIOS, який часто вимикається у великих організаціях із власною інфраструктурою AD & DNS. Можливо, тут надійне припущення, хоча з робочою групою з 50 машин.
GAThrawn

Дякую, Decca, nbtstat - це рок btw ... Я не зміг на Linux box nmblookup 192.168.1.92 запит 192.168.1.92 на 192.168.1.255 name_query не вдалося знайти ім'я 192.168.1.92
billyduc

8
Команда nmblookup -A 192.168.1.92 працює успішно
billyduc

1
nmblookupє частиною пакету Samba мого дистрибутива. Не впевнений, чому nmblookupсаме ip для імені хоста є частиною Samba (мережевий код файлової системи та код послуг друку).
Тревор Бойд Сміт

60

Технічно кращим методом є набір тексту nslookup <ip address>

NSLOOKUP фактично запитує DNS-сервер для IP-адреси імені хоста. Ping використовуватиме локальний кеш Dol Resolver кеш , який може бути неправильним, поки ви не зминете.


це припускаючи, що він має внутрішній dns-сервер для вирішення імен. також оп, заявив, що він хоче вирішити ім'я хоста з ip, тому я припускаю, що він не знає ім'я хоста для початку. також, наскільки я переживаю, немає правильного чи неправильного способу це зробити. існує кілька методів, кожен з яких є дійсним, і кожен з них може дати різні результати.
joeqwerty

3
Ні. Використання PING - це не найкращий спосіб зробити це. Ви можете зробити це, nslookup <ip address>і це вирішить зворотний пошук.
Іззі

1
Ви посилаєтесь на NSLOOKUP, як на якийсь інструмент внутрішнього дозволу ... Так чи інакше, NSLOOKUP - це технічно найкращий варіант.
Іззі

1
Але він правильний. nslookup використовується у цьому сценарії лише в тому випадку, якщо є DNS-сервер (будь то внутрішній чи зовнішній), який має зворотні записи зони пошуку для хостів OP, а машини OP налаштовані для використання цього DNS-сервера.
Максим Мінімус

3
@Izzy Я зареєструвався як новий учасник, просто щоб подякувати за пораду для NSLOOKUP, Izzy. З усіх вищезазначених матеріалів це єдиний, хто працював на мене. Завдяки мільйонів. --Jeff Moden
Jeff Moden

9

У Windows можна використовувати ping -a x.x.x.xспробу вирішити ім'я хоста з IP-адреси .


1
PING може призвести до неточних результатів, особливо якщо ви активно працюєте над проблемами DNS.
Іззі

оп не заявив, що він працює над проблемами dns, він мав на увазі, що він працює над вирішенням імен. dns - не єдиний механізм вирішення імен у Windows та не є необхідним механізмом вирішення імен. Він також заявив, що працює в робочій групі, тому я не робив жодних припущень щодо того, що у нього є інфраструктура dns.
joeqwerty

DNS фактично потрібен для Active Directory. У нас просто не вистачає інформації, щоб сказати щось остаточне щодо цього.
Максим Мінімус

@mh: так, але, знову ж таки ... недостатньо інформації від оп.
joeqwerty

Дякую вам всім ! У мене немає служби Active Directory, у мене є одна розв’язання сервера DNS для dhcp, пошти, веб-сервера в моїй компанії, більшість хостів службовців працюють під керуванням Windows XP і використовують той же WORKGROUP.
billyduc

6

Існує кілька способів зробити це і в Windows, і в Linux. Наприклад,

  1. nslookup : класичний спосіб пошуку IP-адреси від імені хоста або навпаки.
  2. ipconfig або ifconfig, залежно від того, чи працюєте ви в Windows або Unix
  3. ім'я хоста -i в Linux

Посилання: Кілька способів отримати IP-адресу від імені хоста в Linux та Windows


4

Для користувачів Mac smbutil -v status -ae x.x.x.xпрацює. Ви також arp -aможете отримати mac-адреси для всіх у своїй мережі.


1

nmblookup може не працювати добре для Linux-хостів, оскільки ім'я NetBIOS застаріле. А в Windows він обмежений локальною мережею.


2
Ні, це неправильно. Netbios (на жаль) не є застарілим і фактично потрібен для ряду життєво важливих функцій Active Directory.
HopelessN00b

Чи може хтось вказати, як у яких випадках AD DS все ще покладається на Netbios? Ходили розмови про те, що Netbios повинен бути випущений з Windows Server 2003 разів. Чи все-таки все-таки це потрібно для мереж Windows DS 2012?
Михайло

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