1

У меня есть два компьютера, подключенных к одной сети. Один мой, а есть другой. Я хочу узнать имя другого компьютера с помощью командной строки. Пожалуйста, обратите внимание:

  • К сети подключено только два ПК
  • IPv4 IP-адрес моего компьютера 192.168.0.2
  • IPv4 IP-адрес другого ПК - 192.168.0.1
  • У них обоих есть Windows 7, 32-битная
  • Я не просто должен найти имя, я должен сохранить его в переменной для последующего использования в моем пакетном скрипте.

Примечание: не давайте мне никакого кода, так как Stack Exchange не является бесплатной службой написания кода. Но, пожалуйста, по крайней мере, дайте мне схему необходимых шагов.

1 ответ1

1

Возможность преобразования IP-адреса в имя будет зависеть от того, какие службы разрешения имен (например, DNS) настроены в вашей сети, поэтому не все команды будут работать во всех случаях. Принимая конфигурации сети по умолчанию, вот несколько команд, которые вы можете попробовать перечислить в (примерно) порядке, в котором они могут работать:

Nbtstat

nbtstat -A <IP-ADDRESS>

Запрашивает таблицу имен NetBIOS удаленного компьютера. Имя с типом "UNIQUE" - это имя удаленного компьютера:

PS C:\> nbtstat -A 192.0.2.100

Local Area Connection:
Node IpAddress: [192.0.2.100] Scope Id: []

           NetBIOS Remote Machine Name Table

       Name               Type         Status
    ---------------------------------------------
    WIN10-PC       <00>  UNIQUE      Registered
    WORKGROUP      <00>  GROUP       Registered
    WIN10-PC       <20>  UNIQUE      Registered

    MAC Address = 0B-15-5A-AB-0C-15

пинг

ping -a <IP-ADDRESS>

Параметр -a разрешает IP-адрес в имя хоста. Это требует работы DNS в сети, которая знает о машине назначения.

PS C:\> ping -a 192.0.2.100

Pinging WIN10-PC [192.0.2.100] with 32 bytes of data:
Request timed out.

Ping statistics for 192.0.2.100:
    Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),

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