- Запрос данных DNS с помощью dig, whois и ping в Ubuntu
- Использование dig
- Тестирование DNS-записей с помощью dig
- Использование команды host
- Другие инструменты для опроса серверов имен DNS
- ping
- whois
- How to get a hostname/domain name from an IP address in Linux
- Prerequisites
- Perform DNS Reverse lookup using dig command
- Perform DNS Reverse lookup using nslookup command
- Perform DNS Reverse lookup using the host command
- Conclusion
- About the author
- Karim Buzdar
Запрос данных DNS с помощью dig, whois и ping в Ubuntu
Dig – это сетевой инструмент, позволяющий обращаться к серверам DNS за информацией. Он может быть очень полезным при диагностике проблем с направлением домена; также это отличный способ убедиться в правильной работе конфигураций.
Эта статья охватывает использование dig для проверки настроек доменного имени и выведения данных о том, как интернет видит домен. В ней также рассматриваются другие связанные с dig инструменты, такие как whois и ping.
Примечание: Для тестирования команд данное руководство использует сервер Ubuntu 12.04, но любой современный дистрибутив Linux будет работать таким же образом.
Использование dig
Основной способ использования dig – это указание домена, к которому нужно обратиться с запросом:
Для примера можно протестировать «duckduckgo.com», чтобы увидеть, какую информацию возвращает dig:
; > DiG 9.8.1-P1 > duckduckgo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;duckduckgo.com. IN A
;; ANSWER SECTION:
. duckduckgo.com. 99 IN A 107.21.1.61
. duckduckgo.com. 99 IN A 184.72.106.253
. duckduckgo.com. 99 IN A 184.72.106.52
. duckduckgo.com. 99 IN A 184.72.115.86
;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE rcvd: 96
Выведено достаточно много информации. Рассмотрим ее по частям.
; > DiG 9.8.1-P1 > duckduckgo.com
;; global options: +cmd
Вышеуказанные строки являются заголовком выведенного запроса. Можно также запустить dig в пакетном режиме (batch), потому надлежащая маркировка результатов имеет большое значение для обеспечения корректного анализа.
;; Got answer:
;; ->>HEADER ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
Следующая часть предоставляет техническое резюме результатов запроса. Здесь можно видеть, что запрос был успешным, что было получено 4 «ответа», а также использованные флаги.
;; QUESTION SECTION:
;duckduckgo.com. IN A
;; ANSWER SECTION:
duckduckgo.com. 99 IN A 107.21.1.61
duckduckgo.com. 99 IN A 184.72.106.253
duckduckgo.com. 99 IN A 184.72.106.52
duckduckgo.com. 99 IN A 1
Вышеприведенная часть содержит собственно искомые результаты. Она вновь формулирует запрос, а затем возвращает соответствующие DNS-записи для этого доменного имени.
Как можно видеть, выведены четыре записи «А» для «duckduckgo.com». Записи «А» выводятся по умолчанию. Это показывает IP-адреса, по которым отвечает доменное имя.
«99» – это TTL (то есть, «time to live») до того, как DNS-сервер перепроверит связь между именем домена и IP-адресом. «IN» означает, что класс записи является стандартным.
;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE rcvd: 96
Эти строки просто предоставляют некоторые статистические данные о фактических результатах запроса. Время запроса может указать на проблему с DNS-сервером.
Тестирование DNS-записей с помощью dig
Если доменное имя уже установлено, можно использовать dig для запроса информации.
Чтобы проверить, правильно ли установлены записи А, введите:
При необходимости проверить, правильно ли направлены почтовые серверы, введите:
dig your_domain_name.com MX
В целом, тип записи, поиск которой нужно провести, можно использовать после доменного имени в запросе.
Чтобы получить информацию обо всех записях, введите:
dig your_domain_name.com ANY
Это отобразит все записи, соответствующие базовому домену, а именно записи SOA, NS, A и MX.
Примечание: В связи с особенностями работы TTL и DNS иногда требуется некоторое время, чтобы внесенные изменения были переданы на сервер доменных имён. Если созданная запись не выводится, подождите, пока TTL достигнет 0, чтобы проверить, появилась ли данная запись.
Чтобы отобразить только фактический IP, на который направлен домен, введите:
dig your_domain_name.com +short
Использование команды host
Команда host является альтернативой команде dig. Данная команда действует подобным dig образом, а также использует многие её опции.
Обратите внимание: не нужно использовать флаг, чтобы изменить функциональность с обычного поиска DNS на обратный поиск.
Как и с командой dig, можно указать тип нужной записи. Для этого используется флаг «-t».
Чтобы вернуть записи «mх» Google, наберите:
host -t mx google.com
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
Так же легко можно получить и другие типы записей.
Все записи можно отобразить при помощи флага -а. Данное руководство не предоставляет выведенного результата, так как он достаточно длинный.
Чтобы получить дополнительную информацию о хосте, можно вывести подробный результат с помощью флага «-v».
Это действие предоставляет подробную информацию.
Другие инструменты для опроса серверов имен DNS
ping
Ping является простым способом проверить, правильно ли распознается доменное имя.
Данная команда очень проста в использовании:
ping your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.026 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.038 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.037 ms
. . .
Она будет продолжать выводить информацию, пока не будут нажаты «CTRL-C».
Можно также сказать программному обеспечению использовать ping только определенное количество раз. Чтобы использовать ping три раза:
ping -c 3 your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.027 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.059 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.042 ms
— your_domain_name.com ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.027/0.042/0.059/0.015 ms
Данная команда может быть использована для того, чтобы проверить, относится ли доменное имя к назначенному IP-адресу.
whois
Протокол whois выводит информацию о зарегистрированных доменных именах, включая серверы имен, с которыми они настроены работать.
В то время как большая часть информации касается регистрации домена, этот протокол может быть полезен для того, чтобы убедиться, что серверы имен возвращаются правильно.
Запустите следующую команду:
Это выведет длинный список информации. Форматирование будет меняться на основе Whois-сервера, содержащего информацию.
В нижней части можно увидеть серверы домена, которые обеспечивают пересылку домена на правильные IP-адреса.
Читайте также:
How to get a hostname/domain name from an IP address in Linux
One of the questions that many Linux users ask is how they can retrieve a system’s hostname using its IP address. It may seem an uphill task, but in the real sense, it’s quite easy. Essentially, this is known as the reverse DNS lookup. Reverse DNS lookup queries an IP address to retrieve the hostname or domain of the server. The exact opposite is the Forward DNS lookup which maps the domain name to the IP address.
In this short guide, we have explored a few ways to performs Reverse DNS lookup and get a domain name from an IP address. For demonstration purposes, I have used Ubuntu 20.04.
Prerequisites
Before you roll up your sleeves, ensure that your remote host has an A record which is a DNS entry that points or maps a domain name to an IP address
Perform DNS Reverse lookup using dig command
Dig command is a flexible and powerful tool that is used for querying or probing DNS records. It’s an acronym for domain information groper and allows you to retrieve a wide array of DNS information such as A, CNAME, MX, and SOA records.
Perform DNS Reverse lookup using nslookup command
A nslookup command is a troubleshooting tool that features highly in a sysadmin’s armory. It’s a versatile tool that performs all DNS record querying such as CNAME, A, MX, and reverses or PTR records.
To retrieve a domain name from an IP address, use the command syntax:
Perform DNS Reverse lookup using the host command
Similarly, you can use the host command to obtain a hostname or domain name from an IP address using the syntax as shown.
For example, to check the domain name for the IP 5.9.235.235, execute the command:
Just like the Nslookup command, you can also use the host command with hostnames or IP addresses.
Conclusion
The few examples that we have just elaborated are a sure way of helping you obtain the domain name from an IP address. Usually, the reverse DNS lookup is trivial and not as crucial as the forward lookup, which maps domain names to IP addresses. Your feedback or contribution will be highly welcomed.
About the author
Karim Buzdar
Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.