Имена или ярлыки полезны, поскольку они позволяют нам отличить одну вещь или одного человека от другого. Даже имя человека, которое может не быть уникальным в глобальном масштабе, содержит набор символов, которые позволяют человеку отличаться от другого человека.
Точно так же компьютеры поддерживают метки или имена, которые помогают придать им уникальную идентичность в сети. Вот здесь и появляется имя хоста. Имя хоста — это набор буквенно-цифровых символов, уникальных для компьютерной сети, позволяющий устройствам связываться друг с другом.
Как правило, базовая технология, которая идентифицирует компьютер или устройство в сети, представляет собой набор чисел, известных как IP-адреса. Затем они сопоставляются с определенным именем, преобразованным в IP-адрес машины.
Однако в этом руководстве я покажу вам различные способы, которые вы можете использовать для получения имени хоста, связанного с определенным IP-адресом. Методы, обсуждаемые в этом руководстве, будут работать почти во всех Linux и Unix-подобных системах.
Разобравшись с этим, давайте погрузимся.
Метод 1: Ping
Самый простой способ получить имя хоста с IP-адреса — использовать команду ping. Ping — это простая, но мощная утилита командной строки, которая использует пакеты ECHO для связи с хостом.
ПРИМЕЧАНИЕ. Следующая команда работает только на компьютерах с Windows. Для Linux проверьте следующий метод.
Чтобы получить имя хоста с IP-адреса с помощью команды ping, используйте команду ниже:
$ ping -a 172.67.209.252
Вот результат выполнения вышеуказанной команды:
Приведенная выше команда не всегда надежна; это часто работает только в том случае, если имя хоста доступно в файле hosts.
Метод 2: команда хоста
Второй и распространенный метод получения имени хоста из IP-адреса в Linux — это команда host. Этот простой инструмент является частью пакета dnsutil.
Для установки пакета используйте команды:
Дистрибутивы на основе Ubuntu / Debian
$ sudo apt-get install dnsutils -y
REHL / CentOS
$ sudo yum install dnsutils
Fedora
$ sudo dnf install dnsutils
Arch
$ sudo pacman -S dnsutils
После установки инструмента вы можете запустить приведенную ниже команду, чтобы получить имя хоста IP-адреса.
$ host <ip>
Ниже приведен пример вывода:
[fedora@fedora34 ~]$ host 216.58.223.78
78.223.58.216.in-addr.arpa domain name pointer mba01s07-in-f14.1e100.net.
ПРИМЕЧАНИЕ. Для использования команды host требуется, чтобы система была зарегистрирована на DNS-сервере, таком как Cloudflare или Google Public DNS, или в записи в файле хоста. В зависимости от DNS-сервера, с которым сконфигурирована система, результат может отличаться или вообще отсутствовать.
Если вы используете Fedora, убедитесь, что настройки DNS сохранены перед перезагрузкой, потому что Network Manager часто перезаписывает их.
Метод 3: Использование Dig
Следующий метод, который вы можете попробовать, — это использовать dig. Dig — это утилита командной строки, которая полезна при выполнении DNS-запросов и обратного просмотра. Это мощный инструмент, у которого есть набор функций, помимо поиска имени хоста.
После того, как вы установили dig в своей системе, используйте команду:
$ dig -x <ip>
Также полезно отметить, что на сервере должен быть включен обратный поиск DNS; в противном случае вы не получите имя хоста сервера.
Метод 4: Nslookup
Гораздо более простой и распространенный способ найти имя хоста по IP-адресу — использовать nslookup. Nslookup — это утилита командной строки, похожая на dig, но позволяющая пользователям запрашивать у DNS имена хостов и сопоставления IP-адресов.
Чтобы запросить имя хоста с помощью nslookup, используйте команду как:
$ nslookup <ip>
Пример такой, как показано ниже:
[fedora@fedora34 ~]$ nslookup 216.58.223.110
110.223.58.216.in-addr.arpa name = mba01s08-in-f14.1e100.net.
Заключение
В этом руководстве мы проиллюстрировали различные способы получения имени хоста с IP-адреса как на машинах Linux, так и на Windows.