Як визначити ім'я хоста з 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.