Как я могу найти IP хоста Windows от OS X?

14

Есть ли простой способ из командной строки OS X (Lion) или Finder определить IP-адрес компьютера Windows в той же подсети (в домашней сети)? Предположим, что сама машина не легко доступна.

Я знаю следующие способы:

  • Обратитесь к странице веб-администрирования маршрутизатора (dhcp server).
  • Используйте, arp -aчтобы получить список недавно посещенных IP-адресов и угадать оттуда.

Машина действительно отображается в Finder, поэтому я знаю, что это имя сетевого компьютера (которое, я предполагаю, является именем WINS?), Но не то, какая это рабочая группа. Мы не в домене.

Я не совсем уверен, как OS X «отображает» имя SMB / WINS, поскольку выполнить что-то вроде pinging «mywindowsbox» не удается, как и pinging «mywindowsbox.local».

Крис Вайс
источник
Если вы можете найти способ взаимодействия с DHCP, он должен дать вам список всех активных IP-адресов
Alex Waters

Ответы:

20

Используйте smbutil lookup HOSTNAME( Источник ).

Это даст вам IP-адрес данного имени NetBIOS.

Я предполагаю, что это то же самое, что делает Finder при подключении к smb://URL-адресу, поэтому, вероятно, на него распространяются те же ограничения (я на самом деле не знаю, что это такое, но я заметил, что Finder не всегда может искать окна машины в локальной сети, когда другие клиенты Windows, по-видимому, не имеют проблем с этим).

Рафаэль Швейкерт
источник
1

У вас нет доступа к машине с Windows?

Можете ли вы пинговать IP-адрес компьютера с Windows? Если нет, то, возможно, машина Windows имеет свой программный брандмауэр для предотвращения пингов.

Кроме того, если у вас есть доступ к маршрутизатору, в нем может быть указано имя хоста компьютера с Windows.

Обновление: Ну, имя, которое отображается в Finder, должно быть именем хоста ПК.

Keltari
источник
Я обновил вопрос, чтобы предоставить больше деталей. У меня нет физического доступа к машине. Не зная IP, что бы я пинговал?
Крис Вайс
1

Если у вас установлен nmblookup, попробуйте:

имя хоста nmblookup

Имя хоста будет именем WINS. Это может вернуть IP-адрес. Также посмотрите на справочные страницы nmblookup для других опций, которые могут заставить это работать.

jftuga
источник
1

Информация может быть на локальном сервере имен; можешь попробовать:

nslookup HOSTNAME
   or
nslookup HOSTNAME.yourdomain.com
trindflo
источник
0

Если вы находитесь в закрытой (частной) сети и находитесь в типичной подсети класса C (255.255.255.0), вы можете пропинговать XXX.XXX.XXX.255. Адрес .255 - это широковещательный адрес для класса C. Теоретически все хосты в подсети отправят вам эхо-запрос ICMP. Это должно сузить, какие хосты фактически живут в сети. Оттуда вы можете использовать сетевую утилиту (/ Applications / Utilities / Network Utility.app), чтобы сделать некоторые отпечатки пальцев и сканирование портов, чтобы выяснить, какая из них.

Однако, если эхо-протокол ICMP на компьютере Windows отключен, этот план не выполняется.

Просто примечание: домен * .local используется для Bonjour. Если в Windows нет Bonjour (или mDNSResponder), запрос к локальному домену не будет работать.

C0D3M0NK3Y
источник