Как использовать Dig, Whois и Ping на Ubuntu VPS для запроса данных DNS

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

В этой статье мы обсудим, как использовать dig для проверки настроек вашего домена и возврата данных о том, как интернет видит ваш домен. Мы также рассмотрим несколько других связанных с ними инструментов, таких как «whois» и «ping».

Мы будем использовать Ubuntu 12.04 VPS для тестирования команд в этом руководстве, но любой современный дистрибутив Linux должен функционировать аналогичным образом.

Как использовать Dig

Самый простой способ использования dig — указать домен, который мы хотим запросить:

dig example.com

Мы можем проверить «duckduckgo.com», чтобы узнать, какую информацию он возвращает:

dig duckduckgo.com
; <<>> DiG 9.8.1-P1 <<>> duckduckgo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; 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

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

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; 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	184.72.115.86

Вышеупомянутый раздел вывода содержит фактические результаты, которые мы искали. Он повторяет запрос и затем возвращает соответствующие записи DNS для этого имени домена.

Здесь мы видим, что существует четыре записи «A» для «duckduckgo.com». По умолчанию возвращаются записи «A». Это дает нам IP-адреса, разрешаемые доменным именем.

«99» — это TTL (время для жизни), прежде чем 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-серверами.

Как использовать Dig для тестирования записей DNS

Если вы создали доменное имя с DigitalOcean , вы можете использовать dig для запроса информации.

Чтобы проверить, что ваши записи «A» установлены правильно, введите:

dig your_domain_name.com

Если вы хотите проверить правильность направления почтовых серверов, введите:

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» Вместо «dig»

Альтернативой dig является команда под названием « host ». Эта команда работает очень похожим образом, чтобы копать, со многими из тех же параметров.

Основной синтаксис:

host domain_name_or_IP_address

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

Как и в случае с dig, вы можете указать тип записи, который вас интересует. Это делается с помощью флага «-t».

Чтобы вернуть mx-записи 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.

Другие типы записей могут быть получены так же легко.

Вы можете вернуть все записи с помощью флага «-a». Я не буду публиковать вывод этой команды, потому что она может быть довольно длинной:

host -a google.com

Если вам нужна дополнительная информация о хосте, вы можете включить подробный вывод с флагом «-v»:

host -v google.com

Это обеспечит расширенную информацию.

Использование других инструментов для запроса информации 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 выполняется только определенное количество раз. Это будет пинг 3 раза:

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 your_domain_name.com

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

Внизу вы обычно видите серверы домена, которые обеспечивают переадресацию домена на правильные IP-адреса.

Заключение

Хотя dig, ping и whois — все простые инструменты, которые выполняют основные проверки ваших доменных имен, они могут быть невероятно полезными. Когда вы настраиваете свои доменные имена, наличие открытого терминала с возможностью подкачки может сэкономить вам много догадок.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *