14

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

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

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

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

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

5 ответов5

20

Используйте smbutil lookup HOSTNAME (Source).

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

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

1

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

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

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

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

1

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

имя хоста nmblookup

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

1

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

nslookup HOSTNAME
   or
nslookup HOSTNAME.yourdomain.com
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), запрос к локальному домену не будет работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .