Получить имя компьютера с IP-адреса

18

У меня есть IP-адрес компьютера в моей сети, но есть ли способ, с помощью которого я могу найти имя компьютера?

Например, если я знаю, что IP-адрес - 192.154.23.60, могу ли я использовать этот IP-адрес с моего Mac, чтобы увидеть имя, например, MacBook Джейкоба?

принц
источник
Вы также можете перейти на страницу конфигурации вашего маршрутизатора (192.154.23.1? Или 192.154.23.254?) И посмотреть IP-адрес каждого устройства и соответствующее имя.
Sameetandpotatoes
1
@sameetandpotatoes вы не можете полагаться на это в целом.
Турбьёрн Равн Андерсен
Торбьерн, это был просто еще один способ подойти к проблеме, но, прочитав ответы, я понимаю, что это не самый предпочтительный способ решения этой проблемы.
Sameetandpotatoes

Ответы:

10

Из Terminal.app(или эквивалентного) вы можете использовать hostкоманду, чтобы показать сетевое имя компьютера. Это возвращает имя, даже если у него все настройки общего доступа отключены и, следовательно, не отображаются через Finder.

Например, в моей сети я получаю следующее (где я знаю IP-адрес, а первая часть возвращаемого имени - это имя компьютера)

➜ ~ host 192.168.2.135

135.2.168.192.in-addr.arpa domain name pointer raspberrypi.private.lan.

Это зависит от фактического имени компьютера, если сетевое имя точно такое же, как в вашем примере, я думаю, оно станет Jacobs-MacBook.

Jawa
источник
Это не для меня для локальных серверов: на моем iPad приложение создает сервер, скажем, 192.168.0.4:8080 , к которому я могу получить доступ с моего Mac, но не могу и host 192.168.0.4не arp 192.168.0.4дать мне имя.
Halloleo
не работал для меня
Мигель Мота
попробовал, но у меня не получилось - используя Angry IP scanner, я все же получил имя устройства
Thieme Hennis
5

Без дальнейшего доступа к хосту (например, ssh или ARD) и без запущенной на нем службы (например, iTunes Music Sharing / File Sharing) вы не сможете получить имя компьютера на основе IP-адреса.

Имя компьютера в macOS не обязательно совпадает с именем хоста или именем Bonjour! Вы можете просто проверить это с scutil --get { ComputerName | LocalHostName | HostName }. ComputerName - это удобное для пользователя имя, LocalHostname - это имя Bonjour, которое также отображается в «Системных настройках»> «Общий доступ», а HostName - это имя хоста устройства. Имя хоста обычно связано или используется с DNS, NIS, файлом hosts или аналогичными методами разрешения имен. В недавно установленной потребительской системе имя хоста не установлено. ComputerName и LocalHostName обычно создаются на основе имени первого пользователя и модели Mac (например, iMac Admin | Admins-iMac).

Без записи имени удаленного Mac в вашем файле hosts или на DNS-сервере в вашей локальной или общедоступной сети ни один из инструментов, упомянутых в других ответах (arp, ping, host), не может быть использован для определения имени хоста.

Если на удаленном Mac запущена известная служба Bonjour, вы можете получить компьютер и имя Bonjour для IP-адреса в двухэтапном процессе, найдя все хосты, предлагающие его dns-sd -Z _nfs._tcp local(пример службы здесь - NFS - можно найти другие имена служб). здесь ) и пингуют все перечисленные имена Bonjour, пока не найдете нужный IP. В качестве альтернативы GUI вы можете использовать Bonjour Browser .

В некоторых случаях вы можете получить имя, похожее на имя Bonjour, введя smbutil status <IP>. Имя - это имя NetBIOS, которое является версией имени компьютера / Bonjour «все заглавными буквами и без всех всех специальных символов».

klanomath
источник
3

В терминале я бы использовал arp

  • Сначала убедитесь, что вы отправили хотя бы один пакет на этот компьютер с помощью ping.

    $ ping -c 1 2.2.2.12
      PING 2.2.2.12 (2.2.2.12): 56 data bytes  
      64 bytes from 2.2.2.12: icmp_seq=0 ttl=255 time=0.981 ms  
    
  • Далее arpэтот адрес.

    $ arp 2.2.2.12
      <host>.<domain> (2.2.2.12) at 0:1c:c4:f4:b8:c7 on en1 ifscope [ethernet]
    
конь
источник
Вы просто делаете дополнительный шаг с комбинацией ping + arp. arpпросто вызывает то же самое, что hostи возвращать имя хоста.
Берт
не работал для меня
Мигель Мота
-2

В Finder перейдите на свой компьютер (который должен быть указан на левой боковой панели в разделе «Устройства»). Затем дважды щелкните по сети. Это покажет вам все другие компьютеры в вашей сети, которые доступны для просмотра.

tubedogg
источник
3
Это не то, что он спрашивает, он пытается найти имя хоста по IP-адресу. просто потому, что сеть - это единица, сеть не означает, что она выставляет afp, smb или netfs.
Хосс
-2

Просто пропингуйте этот IP-адрес с опцией -a. Он покажет вам имя компьютера. примерping -a 192.168.0.1

Винай Кумар
источник
4
-aФлаг означает слышимым (или кольцо колокола). Это не имеет ничего общего с именами хостов. Обратитесь к странице
Аллан
1
И флаг должен быть установлен сразу после команды:ping -a ...
klanomath
о, да, извини, чувак .. Его пинг -а ... иногда рука делает ошибку, а ум нет.
Винай Кумар
ping -R -v ...должен сделать трюк на Mac.
Ник Свитинг