Какая утилита определяет имя узла в ос windows и linux

Обновлено: 04.07.2024

Все три приведенные в заглавии утилиты предназначены для работы с сетями. Полезны они и для пользователей Интернета, т.к. помогают выявить и устранить проблемы соединений и определить ключевые узлы сети. Но, обо всем по порядку. Подробное описание каждой из утилит без труда можно найти на Интернет-сайтах и страницах мануалов, поэтому рассмотрим несколько практических задач.

Утилита Ping

Назначение состоит в определении возможности прохождения пакетов от узла на котором выполняется запрос до узла в сети. Команда ping посылает ICMP ECHO запрос на целевой узел и получает ECHO ответ в случае доступности узла. Если в течении определенного времени ответ не получен утилита завершает работу с выводом строки "unknown host". При удачном запросе возвращает обобщенную статистику и строки вида (UNIX и MacOS):
64 bytes from [DNS имя сервера доменных имен] ([ip DNS]): icmp_seq=1 ttl=57 time=27.8 ms
где 64 bytes - кол-во переданных байт с одним пакетом, icmp_seq - номер запроса, ttl(time to live) - время жизни IP (в приближенном смысле не более маршрутизаторов на пути, чем значение ttl, т.к. прохождение по каждому из роутеров на пути отклика уменьшает значение на 1, а 0 анулирует пакет), time - быстрота прохождения пакетов по всему пути в миллисекундах.

Утилита Tracert

Отсылает ICMP (аналогичная по сути утилита tcptraceroute отсылает TCP) запросы и определяет каждый узел при похождении пакета от компьютера запроса до цели. В выводе показывает все хопы(маршрутизаторы) в виде строк след-го вида
[доменное имя узла] ([IP узла]) 74.881 ms 74.888 ms 74.895 ms
где значения в ms разница между временем отправки пакета и получением ответа. По умолчанию делается 3 запроса.

В командную строку введите tracert [доменное имя]. При обнаружении знаков * в одном из хопов или появлении строки "request timeout" c большой долей вероятности вы нашли узел, где прерывается маршрут пакетов и решение вопроса стоит искать совместно с владельцами таких серверов. Также обратите внимание на большие значения в ms.

Следующая практическая задача состоит в применении утилиты NSLookup для получения имен почтовых северов хостера. Задача типичная. Вами сделан сайт приобретен домен и настроен хостинг. Теперь неплохо бы создать несколько e-mail адресов из панели управления хостингом. После заполнения нескольких полей формы почтовый адрес создан и получены данные о логине, пароле и почтовых серверах. Но, что если регулярный почтовый клиент не был сразу настроен на получение/отправку писем с нового ящика и имена серверов забыты? Не спешите набирать адрес контрольной панели в браузере. Лучшим вариантом может оказаться применение утилиты NSLookup.

Утилита NSLookup

Утилита NSLookup используется для получения информации о записях DNS.
Строки вывода отличаются в зависимости от примененных флагов и установленных опций. Флаг -type=any возвращает информацию по всем записям DNS

Для того, чтобы узнать адрес Mail Exchange (MX) сервера хостера достаточно в командной строке набрать nslookup -type=mx [домен хостера] и обнаружить строку mail exchanger = [адрес]. Для того, чтобы узнать адрес, который вам надо указать в почтовой программе наберите ту же строку, только замените имя домена хостера на свое. Заметим попутно, что применение утилиты host может оказаться здесь более удобным решением: host [имя домена].

Подсказки о применении каждой из утилит с описанием действия всех возможных опций запроса:
в UNIX системах: man [имя утилиты]
В Windows системах:[имя утилиты] -h


Предлагаю воспользоваться онлайн сервисом просмотра заголовков ответа серверов

В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.


Утилита ping , как можно судить по её названию, используется для проверки связи между узлами сети, между компьютером, на котором её запускают, и другой системой. Эта утилита использует протокол ICMP, отправляя эхо-запросы, на которые отвечает удалённая система, получающая их. Использование ping , кроме того — это хороший способ проверки связности сети, проводимой в качестве первого шага диагностики сети при наличии неполадок. Команду ping можно использовать с адресами IPv4 и IPv6. Тут можно почитать подробности об IP-адресах и о работе с ними.

▍Примеры

Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.



Использование ping для выяснения IP-адреса сайта по его имени

Traceroute

Traceroute — это приятная утилита, которая позволяет исследовать маршруты передачи данных между компьютерами. В то время как команда ping направлена на то, чтобы выяснить, можно ли установить связь между двумя узлами сети, traceroute даёт сведения об IP-адресах маршрутизаторов, через которые проходят данные от вашей системы до конечной, например — до веб-сайта или сервера. Команда traceroute обычно применяется на втором шаге диагностики сети, после команды ping .

▍Пример

Telnet

Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.

▍Пример

Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:

Netstat

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

▍Примеры

Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:


Следующая команда выводит сведения обо всех портах. Для того чтобы ограничиться только TCP-портами, нужно воспользоваться ключом -at , для того, чтобы получить данные об UDP-портах, используйте ключ -au .


Для просмотра таблиц маршрутизации воспользуйтесь такой командой:


Вот как выглядит результат выполнения этой команды.



Сведения о таблице маршрутизации

Вот вариант этой команды, выводящий статистику по протоколам:




Статистика по протоколам

Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:



Данные об отправленных и полученных пакетах

Nmcli

Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.

▍Примеры

Вот как с помощью nmcli вывести список сетевых интерфейсов:


Так можно вывести информацию по конкретному интерфейсу:


Следующий вариант вызова команды позволяет проверить подключение устройства к сети:




Примеры использования nmcli

Эта команда позволяет отключить заданный интерфейс:


А эта позволяет включить интерфейс:


Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:

Маршрутизация

Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.

▍Примеры

Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:




Маршруты, настроенные для интерфейсов

Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:


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


С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:


Вот примеры использования команды route .



Использование команды route

Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:


Взглянем на примеры её использования.



Данные, полученные с помощью команды ip neighbor

Вот сведения о команде ip neigh



Сведения о команде ip neigh

Команда arp (ARP — это сокращение от Address Resolution Protocol, протокол определения адреса) похожа на ip neighbor . Утилита arp выводит данные о соответствии IP-адресов MAC -адресам. Вот как её использовать:


Вот пример её вызова.



Вызов команды arp

Tcpdump и Wireshark

Linux даёт в распоряжение администратора множество инструментов для захвата и анализа пакетов. Среди них, например, tcpdump , wireshark , tshark , и другие. Они используются для захвата сетевого трафика в передаваемых системой пакетах или в пакетах, получаемых ей. Это делает их весьма ценным инструментом администратора, помогающим в деле выяснения причин различных сетевых неполадок. Тем, кто предпочитает командную строку всем остальным способам общения с компьютерами, понравится tcpdump . Тем же, кто любит графические интерфейсы, можно порекомендовать wireshark — отличный инструмент для захвата и анализа пакетов. Утилита tcpdump — это встроенное в Linux средство для захвата сетевого трафика. Его можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам.

▍Примеры

Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:


Пакеты можно сохранять в файл, воспользовавшись флагом -w и задав имя файла:


Вот пример использования tcpdump .



Использование tcpdump

Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:


Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:


Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:


Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:

Iptables

Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.

▍Примеры

Следующая команда позволяет вывести все существующие правила iptables :


Эта команда удаляет все существующие правила:


Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:


Следующие команды разрешают loopback-доступ к системе:

Nslookup

Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).

▍Примеры

Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:


Такая команда показывает все доступные записи для заданного веб-сайта или домена:

Поиск неполадок

Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.

▍Примеры

  • ss — утилита для вывода статистической информации о сокетах.
  • nmap <ip-address> — имя этой команды является сокращением от Network Mapper. Она сканирует сетевые порты, обнаруживает хосты, выясняет MAC-адреса и выполняет множество других задач.
  • ip addr/ifconfig -a — эта команда предоставляет сведения об IP-адресах и другие данные по всем интерфейсам системы.
  • ssh -vvv user@<ip/domain> — такая команда позволяет подключиться по SSH к другому компьютеру, используя заданный IP-адрес или доменное имя компьютера и имя пользователя. Флаг -vvv позволяет получать подробные сведения о происходящем.
  • ethtool -S <interface> — данная команда позволяет вывести статистические сведения по заданному интерфейсу.
  • ifup <interface> — эта команда включает указанный интерфейс.
  • ifdown <interface> — эта команда отключает указанный интерфейс.
  • systemctl restart network — с помощью этой команды можно перезагрузить системную сетевую подсистему.
  • /etc/sysconfig/network-scripts/<interface-name> — это — файл настройки интерфейсов, используемый для указания IP-адреса, сети, шлюза и других параметров для заданного интерфейса. Здесь можно задать использование интерфейсом DHCP-режима.
  • /etc/hosts — данный файл содержит сведения о соответствии хостов или доменов IP-адресам, настроенные администратором.
  • /etc/resolv.conf — в этом файле хранятся настройки DNS.
  • /etc/ntp.conf — этот файл хранит настройки NTP.

Итоги

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

Команды по работе с доменными именами: host, nslookup, dig, whois, ping

DNS (Domain Name System) — это система доменных имён, с помощью которой каждому имени домена сопоставляется его реальный IP адрес. В основе самого понятия DNS лежит представление о структуре доменного имени и зонах. Чтобы понять, как работать с доменными именами в Linux, нам необходимо изучить основные команды для работы с DNS, их синтаксис и примеры применения на практике. В этой статье рассмотрим следующие команды: host, nslookup, dig, whois, ping. Все практические задачи по работе с доменными именами мы покажем на нашем VPS под управлением серверной ОС CentOS 7. Для работы нам потребуется установить пакет утилит: bind-utils, без которого в CentOS 7 не будут работать команды host, nslookup, dig.

установка bind-utils в CentOS 7

Также в синтаксисе некоторых команд мы будем использовать основные DNS записи для доменного имени (A, AAAA, MX, NS, SOA, TXT, CNAME, PTR), ниже расшифруем, что означает каждая из них.
Зарегистрировать домен Вы можете здесь.

Основные DNS записи для домена

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

  • Имя (хост, псевдоним);
  • Тип записи;
  • Значение (IP адрес, назначение, ответ и т.д.).

DNS записи для домена

Существуют следующие типы записей:

Команда dig

Одна из основных команд Linux для работы с доменами — это dig (domain information groper). Утилита предоставляет возможность узнать о домене наиболее полную информацию, например, IP адрес, который привязан к данному доменному имени и еще ряд полезных для системного администратора параметров. Синтаксис команды dig следующий:

dig [@сервер] [имя домена] [тип записи] [флаги], где:

  • @cервер — указывает IP-адрес сервера DNS, если не указать этот параметр, то обращение идет к серверу DNS «по умолчанию»;
  • имя домена — указывает имя домена, о котором нужно получить информацию;
  • тип записи — тип записи DNS (А, MX, TXT, NS и т.д.);
  • флаги — с помощью флагов можно задать дополнительные опции утилиты dig.

Ниже укажем основные флаги утилиты dig:

  • +[no]all — используется для вывода на экран или сокрытия всех установленных «по умолчанию» флагов;
  • +[no]answer — необходима для отображения только ответа на запрос;
  • +short — выводит информацию о домене в сокращенном формате;
  • +[no]identify — применяется совместно с флагом +short для отображения информации об IP-адресе сервера;
  • +[no]comments — служит для вывода информации без комментариев;
  • +[no]trace — используется для вывода списка DNS серверов, через которые идет запрос на получение данных о домене.

Дополнительно, могут быть использованы следующие опции для команды dig:

  • -4 — разрешает к использованию только IPv4;
  • -6 — разрешает к использованию только IPv6;
  • -x — служит для получения имени домена по его IP-адресу;
  • -f — предназначена, чтобы прочитать список доменов из файла;
  • -t — служит для обозначения типа записи, которую надо вывести на экран;
  • -p — показывает номер порта DNS сервера.

Мы показали только часто употребляемые флаги и опции команды dig, для получения полной информации по данному вопросу советуем воспользоваться командой:

Сейчас приведем практические примеры использования утилиты dig. Самый простой случай применения dig:

Например, введем в терминале:

результаты выполнения команды dig

Как понять результаты выполнения этой команды? Информация условно поделена на три секции:

  • секция HEADER — показывает текущую версию утилиты dig, ID запроса и т. д.;
  • секция QUESTION SECTION — выводит на экран текущий запрос;
  • секция ANSWER SECTION — отображает ответ на созданный запрос (в нашем запросе выводит IP домена).

Если вы хотите получить только основные данные по домену, то стоит задать сокращенный запрос следующей командой:

использование команды dig с флагом +short

При использовании флага +noall будет отключен вывод на экран информации всех трех секций:

Если вы хотите увидеть информацию только из секции ANSWER SECTION, то выполните следующую команду:

использование команды dig с флагами +noall +answer

При необходимости получить такого рода информацию по нескольким доменам сразу, советуем создать специальный файл sites.txt в редакторе nano и занести туда доменные имена нужных сайтов, например:

Далее следует выполнить команду в терминале:

получение информации с помощью dig для нескольких доменов сразу

Теперь попробуем получить определенные типы записей DNS (A, MX, NS, TXT и т.д.), для этого выполняем команду dig, применяя следующие флаги, например, для типа записи «почтовый сервер»:

получение информации с помощью dig с флагом MX

Или же, если мы хотим получить ответ только для третьей секции утилиты dig:

использование команды dig с флагами для определения типа записи

использование команды dig с параметром @сервер.

Для решения обратной задачи — получения имени домена по IP-адресу, выполним команду dig с опцией -x:

команда dig с опцией -x

Попытаемся узнать, через какие DNS сервера идет запрос для получения информации о домене (команда трассировки в Linux):

использование команды dig с флагом +trace

Для вывода текущей версии утилиты dig воспользуемся опцией -v:

версия утилиты dig

Для проверки синхронизации зоны со всеми NS введем команду:

использование команды dig с флагом +nssearch

Команда nslookup

Эта команда также позволяет получить информацию по домену или по IP адресу. Основной синтаксис написания nslookup:

nslookup [опции] [доменное имя] [сервер]

где [сервер] — указывать необязательно.

Самый простой пример использования nslookup приведем ниже:

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

Можем выполнить и обратную задачу — по IP адресу узнать доменное имя сайта.

пример использования команды nslookup

Ниже приведем основные опции команды nslookup:

  • type – записывается тип записи DNS (к примеру, NS, TXT, SOA и др.);
  • port – указывается номер порта;
  • recurse – в случае, когда DNS не отвечает, использовать другие DNS;
  • retry – задается количество попыток;
  • timeout – время;
  • fail – в случае, когда DNS возвращает ошибку, необходимо использовать другой сервер.

Приведем примеры команды, с использованием опции type (тип записи), например, для получения записей типа NS, MX, TXT, SOA и т.д.:

примеры команды nslookup с использованием опции type

Техническую информацию о домене можно получить в ответе, запустив команду nslookup с параметром для типа записи SOA:

  • origin — источник информации;
  • mail addr — указывает email address администратора домена;
  • serial — показывает время в формате timestamp;
  • refresh — выводит время в секундах, в течении которого нужно повторить подключения, чтобы обновить информацию;
  • retry — указывает время в секундах, через которое необходимо опять повторить подключения к DNS, в случае, если он недоступен;
  • expire — показывает интервал времени в секундах, через который нужно считать информацию, полученную от первого DNS, устаревшей;
  • minimum — это время в секундах, которое проходит до следующего обновления.

Команда whois

Whois — это сервис, который позволяет узнать всю информацию о владельце домена. В ОС Linux эту команду можно вводить прямо в терминале. В CentOS 7 данная служба не установлена «по умолчанию», поэтому необходимо ее установить:

установка whois в CentOS 7

команда whois freehost.com.ua

Для изучения всех параметров команды whois выполните:

команда man whois

Команда ping

Команда ping известна всем пользователям сети, которые сталкивались с проблемами с соединением. Ping служит для того, чтобы узнать, есть ли связь с удаленным узлом сети, используя протокол ICMP (Internet Control Message Protocol). Принцип действия утилиты простой: на удаленный хост передается пакет с данными ICMP, с целью получить пакет с ответом — если он приходит, то удаленный узел считается доступным.

Синтаксис данной команды:

ping [опции] [адрес удаленного узла]

На скриншотах ниже показаны простые примеры использования команды ping:

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

пример использования команды ping

Команда ping может исполняться достаточно долго, для выхода из этого режима необходимо нажать комбинацию клавиш: ctrl+c.

Ниже приведем некоторые опции утилиты ping с примерами:

опция -с утилиты ping

опция -f утилиты ping

опция -i утилиты ping

опция -D утилиты ping

Команда host

Еще одна команда для работы с DNS — это host. Она предназначена для получения информации о доменном имени, например, чтобы по имени домена узнать IP адрес:

команда host

Данную команду можно использовать со следующими опциями, например:

  • -l — выводит на экран всю информацию о домене;
  • -v — выдает результаты в подробном формате;
  • -w — принуждает утилиту host ждать ответ;
  • -r — используется для выключения режима рекурсии (в этом случае DNS-сервер не обращается за информацией к другим DNS-серверам, используется только локальная база);
  • -d — необходимо для включения режима отладки;
  • -t querytype — определяет тип запроса (например, -t TXT — возвращает только тип записи TXT для домена);
  • -a — служит для восстановления всех записей в DNS.

Заключение

В данной статье мы рассказали нашим читателям, как работать с системой доменных имён (DNS) с помощью команд host, nslookup, dig, whois, ping. В нашем материале приведены практические задачи, которые может решать системный администратор или пользователь Linux в своей ежедневной работе, применяя эти утилиты.

Найти hostname из IP Linux

Советы и хитрости

Имена или ярлыки полезны, поскольку они позволяют нам отличить одну вещь или одного человека от другого. Даже имя человека, которое может не быть уникальным в глобальном масштабе, содержит набор символов, которые позволяют человеку отличаться от другого человека.

Точно так же компьютеры поддерживают метки или имена, которые помогают придать им уникальную идентичность в сети. Вот здесь и появляется имя хоста. Имя хоста — это набор буквенно-цифровых символов, уникальных для компьютерной сети, позволяющий устройствам связываться друг с другом.

Как правило, базовая технология, которая идентифицирует компьютер или устройство в сети, представляет собой набор чисел, известных как IP-адреса. Затем они сопоставляются с определенным именем, преобразованным в IP-адрес машины.

Однако в этом руководстве я покажу вам различные способы, которые вы можете использовать для получения имени хоста, связанного с определенным IP-адресом. Методы, обсуждаемые в этом руководстве, будут работать почти во всех Linux и Unix-подобных системах.

Разобравшись с этим, давайте погрузимся.

Метод 1: Ping

Самый простой способ получить имя хоста с IP-адреса — использовать команду ping. Ping — это простая, но мощная утилита командной строки, которая использует пакеты ECHO для связи с хостом.

ПРИМЕЧАНИЕ. Следующая команда работает только на компьютерах с Windows. Для Linux проверьте следующий метод.

Чтобы получить имя хоста с IP-адреса с помощью команды ping, используйте команду ниже:

Вот результат выполнения вышеуказанной команды:

Вот результат выполнения вышеуказанной команды

Приведенная выше команда не всегда надежна; это часто работает только в том случае, если имя хоста доступно в файле hosts.

Метод 2: команда хоста

Второй и распространенный метод получения имени хоста из IP-адреса в Linux — это команда host. Этот простой инструмент является частью пакета dnsutil.

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