Команда хоста в Linux

Обновлено: 21.11.2024

Команда Host – это простая и простая в использовании утилита командной строки для выполнения поиска в DNS, который переводит доменные имена в IP-адреса и наоборот. Его также можно использовать для составления списка и проверки различных типов записей DNS, таких как NS и MX, тестирования и проверки DNS-сервера интернет-провайдера и подключения к Интернету, спама и внесения в черный список записей, обнаружения и устранения неполадок DNS-сервера, среди прочего.

В этой статье мы узнаем, как использовать команду host с несколькими полезными примерами в Linux для выполнения поиска DNS. В предыдущих статьях мы показали 8 наиболее часто используемых команд Nslookup для тестирования и устранения неполадок DNS-серверов, а также для запроса определенных записей ресурсов DNS (RR).

Мы также объяснили 10 команд Linux Dig (Domain Information Groper) для запроса информации DNS, они больше похожи на инструмент Nslookup. Утилита host также работает аналогичным образом и предустановлена ​​в большинстве, если не во всех основных дистрибутивах Linux.

С учетом сказанного давайте рассмотрим эти 14 команд хоста ниже.

Найти IP-адрес домена

Найти серверы доменных имен

Чтобы узнать серверы доменных имен, используйте параметр -t.

Найти запись CNAME домена

Чтобы узнать домен CNAME, запустите.

Найти запись MX домена

Чтобы узнать записи MX для домена.

Найти TXT-запись домена

Чтобы узнать записи TXT для домена.

Найти запись SOA домена

Вы можете заставить хост попытаться отобразить записи SOA для указанной зоны со всех перечисленных авторитетных серверов имен для этой зоны с флагом -C.

Запрос определенного сервера имен

Для запроса определенного сервера доменных имен.

Поиск всей информации о записях и зонах домена

Чтобы сделать запрос типа ЛЮБОЙ, используйте параметр -a (все), который эквивалентен параметру -v.

Получить информацию о TTL домена

Чтобы узнать информацию о TTL домена.

Использовать либо IPv4, либо IPv6

Параметр -4 или -6 заставляет хост использовать только транспорт запросов IPv4 или только IPV6 соответственно.

Выполнение нерекурсивных запросов

Опция -r выполняет нерекурсивные запросы. Обратите внимание, что установка этой опции очищает RD (требуется рекурсия), бит в запросе, который делает хост.

Установить количество попыток UDP для поиска

По умолчанию количество попыток UDP равно 1, чтобы изменить его, используйте флаг -R.

Установить время ожидания ответа на запрос

Используя ключ -W, вы можете указать хосту ждать ответа в течение указанного времени в секундах, а если используется флаг -w, он заставляет хост ждать ответа вечно:

Вот оно! В этой статье мы узнали, как использовать команду host с несколькими полезными примерами в Linux. Используйте форму обратной связи ниже, чтобы поделиться с нами своими мыслями об этом руководстве.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

host — это простая утилита для выполнения поиска в DNS. Обычно он используется для преобразования имен в IP-адреса и наоборот. Если аргументы или параметры не указаны, хост выводит краткую сводку своих аргументов и параметров командной строки.

name – это доменное имя, которое необходимо найти. Это также может быть IPv4-адрес с разделителями-точками или IPv6-адрес с разделителями-двоеточиями, и в этом случае хост по умолчанию выполнит обратный поиск этого адреса. server — это необязательный аргумент, который представляет собой либо имя, либо IP-адрес сервера имен, который хост должен запрашивать вместо сервера или серверов, перечисленных в /etc/resolv.conf.

Опция -a (все) эквивалентна установке опции -v и запросу хоста сделать запрос типа ЛЮБОЙ.

При использовании параметра -C хост попытается отобразить записи SOA для зоны name со всех перечисленных авторитетных серверов имен для этой зоны. Список серверов имен определяется записями NS, найденными для зоны.

Параметр -c указывает, что DNS-запрос должен быть класса class. Это можно использовать для поиска записей ресурсов класса Hesiod или Chaosnet. Класс по умолчанию — IN (Интернет).

Подробный вывод создается хостом при использовании параметра -d или -v. Оба варианта эквивалентны. Они были предоставлены для обратной совместимости. В предыдущих версиях параметр -d включал трассировку отладки, а параметр -v включал подробный вывод.

Режим списка выбирается опцией -l. Это заставляет хост выполнять передачу зоны для зоны name.Перенесите зону, распечатав записи NS, PTR и адресов (A/AAAA). В сочетании с -a будут напечатаны все записи.

Параметр -i указывает, что при обратном поиске адресов IPv6 должен использоваться домен IP6.INT, как определено в RFC1886. По умолчанию используется IP6.ARPA.

Опция -N задает количество точек, которое должно быть в name, чтобы оно считалось абсолютным. Значение по умолчанию определяется с помощью оператора ndots в /etc/resolv.conf или равно 1, если оператор ndots отсутствует. Имена с меньшим количеством точек интерпретируются как относительные имена и будут искаться в доменах, перечисленных в директиве search или domain в /etc/resolv.conf.

Количество попыток UDP для поиска можно изменить с помощью параметра -R. число указывает, сколько раз узел будет повторять запрос, на который не будет ответа. Количество повторных попыток по умолчанию равно 1. Если число отрицательное или нулевое, количество повторных попыток по умолчанию равно 1.

Нерекурсивные запросы можно выполнять с помощью параметра -r. Установка этого параметра очищает бит RD - необходимая рекурсия - в запросе, который делает хост. Это должно означать, что сервер имен, получивший запрос, не будет пытаться разрешить name. Параметр -r позволяет хосту имитировать поведение сервера имен, выполняя нерекурсивные запросы и ожидая получения ответов на эти запросы, которые обычно являются ссылками на другие серверы имен.

По умолчанию хост использует UDP при выполнении запросов. Параметр -T позволяет использовать TCP-соединение при запросе к серверу имен. TCP будет автоматически выбираться для запросов, требующих его, например для запросов на передачу зоны (AXFR).

Параметр -4 заставляет хост использовать только транспорт запросов IPv4. Параметр -6 заставляет хост использовать только транспорт запросов IPv6.

Опция -t используется для выбора типа запроса. type может быть любым распознаваемым типом запроса: CNAME, NS, SOA, SIG, KEY, AXFR и т. д. Если тип запроса не указан, хост автоматически выбирает соответствующий тип запроса. По умолчанию он ищет записи A, AAAA и MX, но если была указана опция -C, запросы будут выполняться для записей SOA, и если name представляет собой десятичный адрес IPv4 с точками или двоеточие IPv6-адрес с разделителями, хост будет запрашивать записи PTR. Если выбран тип запроса IXFR, начальный серийный номер можно указать, добавив знак равенства, за которым следует начальный серийный номер (например, -t IXFR=12345678).

Время ожидания ответа можно контролировать с помощью параметров -W и -w. Опция -W заставляет хост ждать wait секунд. Если wait меньше единицы, интервал ожидания устанавливается равным одной секунде. Когда используется опция -w, хост будет фактически вечно ждать ответа. Время ожидания ответа будет установлено равным количеству секунд, определяемому максимальным аппаратным значением для целочисленной величины.

Опция -s указывает хосту не отправлять запрос следующему серверу имен, если какой-либо сервер отвечает ответом SERVFAIL, что является обратным обычному поведению резолвера-заглушки.

С помощью -m можно установить флаги отладки использования памяти record, usage и trace.

Идентификационная поддержка

Если хост был создан с поддержкой IDN (интернационализированных доменных имен), он может принимать и отображать доменные имена, отличные от ASCII. хост соответствующим образом преобразует кодировку символов доменного имени перед отправкой запроса на DNS-сервер или отображением ответа с сервера. Если вы хотите отключить поддержку IDN по какой-либо причине, определите переменную среды IDN_DISABLE. Поддержка IDN отключена, если переменная установлена ​​при запуске хоста.

Файлы

/etc/resolv.conf

См. также

Авторское право

Авторское право © 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
Авторское право © 2000-2002 Internet Software Consortium.

iStock

Команда host в системах Linux может искать различную информацию, доступную через систему доменных имен (DNS). Он может найти имя хоста, если задан IP-адрес, или IP-адрес, если задано имя хоста, а также множество других интересных сведений о системах и интернет-доменах.

Первый запрос ниже сообщает нам, что система, связанная с адресом 192.168.0.18, называется «стрекоза». Второй сообщает нам, что 192.168.0.1 является маршрутизатором по умолчанию.

Чтобы сделать обратное, вы можете использовать такие команды:

Эти команды были запущены в моей домашней сети, и они отображают лишь небольшую часть информации, которую может получить команда хоста.

Просмотр параметров команды хоста

Каждый раз, когда вы вводите «хост» без дополнительных аргументов, вы увидите доступные параметры команды с кратким объяснением каждого из них.

Почти для каждого варианта вам необходимо предоставить дополнительную информацию — имя хоста, IP-адрес, доменное имя или, возможно, некоторые дополнительные данные, чтобы описать то, что вы ищете. Единственная опция, которая НЕ будет просто предоставлять показанный выше список, когда не указан аргумент, - это опция -V, которая сообщает информацию о версии для самой команды.

Теперь давайте рассмотрим другую полезную информацию, которую может предоставить команда.

IP-адреса

Некоторые важные сведения о конкретном домене можно получить, используя только доменное имя:

Мы видим, что в этом домене используется несколько серверов, что характерно для многих коммерческих сайтов.

Подробный отчет

Однако вы всегда можете передать выходные данные хост-команды в grep, чтобы сократить их до того, что вы хотите видеть.

Обмен почтой (MX)

Чтобы сосредоточиться на записях почтового обмена (MX), вы можете использовать следующую команду:

Кроме того, вы можете получить записи MX, используя параметр -t (тип) mx команды хоста:

Записи SOA

Чтобы сосредоточиться на записях SOA (начало полномочий), вы можете использовать команду, подобную этой:

Кроме того, вы также можете использовать подобную команду с параметром -t (тип) SOA:

CNAME

Сервер имен

В приведенной ниже команде мы просто ищем серверы имен, используя тип ns с помощью команды host:

Подведение итогов

Команда host имеет так много опций, что может потребоваться некоторое время, чтобы привыкнуть к ним и решить, какие из них наиболее полезны. Они могут оказаться очень полезными в зависимости от того, что вы ищете в обширном банке знаний DNS.

Присоединяйтесь к сообществам Network World на Facebook и LinkedIn, чтобы комментировать самые важные темы.

Сандра Генри-Стокер занимается администрированием систем Unix более 30 лет. Она описывает себя как «USL» (Unix как второй язык), но помнит достаточно английского, чтобы писать книги и покупать продукты. Она живет в горах в Вирджинии, где, когда не работает с Unix и не пишет о ней, отгоняет медведей от своих кормушек для птиц.

Команда Linux hostname используется для просмотра или изменения системного домена и имени хоста. Он также может проверять IP-адрес компьютера.

В этом руководстве мы рассмотрим все способы использования команды hostname в Linux и способы изменения имени хоста вашего компьютера в системе Linux.

  • Система под управлением Linux
  • Доступ к командной строке/окну терминала

Синтаксис команды имени хоста

Команда hostname использует следующий формат:

Используйте параметр [options], чтобы добавить более конкретные инструкции к команде hostname. Без него вывод по умолчанию показывает имя хоста вашего компьютера:

Используйте параметр [new_hostname], если хотите изменить имя хоста вашего компьютера.

Примеры команд hostname

У команды hostname есть несколько параметров, которые можно использовать для получения более конкретных результатов:

  • -a , --alias : отображает псевдоним хоста.
  • -A , --all-fqdns : отображает все FQDN (полное доменное имя) компьютера.
  • -b , --boot : всегда задавать имя хоста.
  • -d , --domain : отображать доменное имя DNS.
  • -f , --fqdn , --long : показать полное доменное имя.
  • -F , --file : Проверить файл для восстановления и отображения имени хоста.
  • -h , --help : напечатать справочное сообщение в качестве вывода.
  • -i , --ip-address : показать IP-адрес компьютера.
  • -I , --all-ip-addresss : показать все сетевые адреса компьютера.
  • -s , --short : показать короткую версию имени хоста.
  • -v , --verbose : расширить весь вывод до подробного.
  • -y , --yp , --nis : показать доменное имя NIS.

Отображаемое имя хоста

При использовании команды hostname без каких-либо дополнительных параметров отображается имя хоста компьютера:

Отображать короткое имя хоста

Используйте параметр -s или --short, чтобы отобразить короткую версию имени хоста, которая обрезается до первой точки:

Отображаемый псевдоним

Используйте параметр -a или --alias, чтобы отобразить псевдоним (замещающее имя хоста) хоста, если он установлен.Этот параметр полезен в очень редких случаях, и его использование больше не рекомендуется.

Поиск имен хостов

Используйте параметр -F или --file для поиска определенного файла (например, имя хоста или hosts) и измените имя хоста вашего компьютера, чтобы оно соответствовало содержимому файла. :

Примечание. При использовании параметров -F или --file также укажите путь к файлу, который вы хотите проверить.

Использовать имя хоста по умолчанию

Если вы не хотите иметь определенный файл, содержащий имя хоста, или хотите оставить этот файл пустым, используйте параметр -b или --boot. Это заставляет ваш компьютер использовать имя хоста по умолчанию (localhost), пока вы не установите другое:

Отображаемое доменное имя

Используйте параметр -d или --domain, чтобы отобразить имя вашего домена DNS:

Показать полное доменное имя

Если вы хотите отобразить полное доменное имя системы, используйте параметр -f , --fqdn или --long:

Полное доменное имя содержит короткое имя хоста и доменное имя DNS.

Показать все полные доменные имена

Чтобы отобразить каждое полное доменное имя вашего компьютера, используйте параметр -A или --all-fqdns:

Эта опция выводит список всех ваших сетевых адресов и их доменных имен DNS. Он пропускает все адреса, которые не может перевести.

Примечание. Различные сетевые адреса могут преобразовываться в одни и те же доменные имена DNS. Это может привести к дублированию выходных записей при использовании параметров -A или --all-fqdns.

Показать домен NIS

Если вы используете NIS (Сетевая информационная служба), вы можете проверить имя своего домена NIS с помощью параметра -y , --yp или --nis:

Изменить доменное имя NIS

Используйте эту команду в следующем формате, чтобы изменить имя домена NIS:

Показать связанные сетевые адреса

Команда hostname также позволяет связать отображаемые сетевые адреса с именем хоста. Для этого используйте опцию -i или --ip-address:

Эта команда работает, только если имя хоста может быть разрешено.

Показать все сетевые адреса

Используйте параметр -I или --all-ip-addresses, чтобы отобразить все сетевые адреса хоста. В отличие от -i, эта опция не зависит от разрешения имени хоста:

Изменить имя хоста до перезагрузки

Вы можете изменить имя хоста вашего компьютера с помощью команды hostname. Для этого используйте следующий формат:

Любые изменения имени хоста, сделанные с помощью этой команды, будут действительны только до следующей перезагрузки.

Изменить имя хоста навсегда

Чтобы навсегда изменить имя хоста, используйте текстовый редактор, например Nano, чтобы внести изменения в файлы hostname и hosts:

Вы также можете использовать команду hostnamectl для постоянного изменения имени хоста:

Дополнительные параметры имени хоста

Используйте параметр -V или --version, чтобы распечатать версию программного пакета имени хоста в вашей системе Linux:

Если вам нужна помощь по какой-либо из команд, используйте параметр -h или --help, чтобы распечатать справочное сообщение:

Изучив это руководство, вы теперь знаете, как использовать команду hostname в Linux, и все параметры, которые могут расширить ее возможности.

Читайте также: