1. Начало
  2. Домейни
  3. Управление на домейн
  4. Проверки в DNS системата с nslookup (Windows) и dig (Mac, Linux)

Проверки в DNS системата с nslookup (Windows) и dig (Mac, Linux)

Проверките в DNS системата обикновено са автоматични и скрити от обикновените потребители. Извършват се например при зареждане на сайт в браузъра или при изпращане на имейл съобщения. Възможно е обаче потребителите също да правят проверки в DNS, като използват специални приложения или инструменти, налични към операционната системата на устройството им.

nslookup (MS Windows)

nslookup (name server lookup) е инструмент в команден ред за проверки в DNS системата. Този инструмент е наличен към операционни системи Windows, Linux, Mac OS. С него можете да проверите кой е IP адресът за домейна, както и какви нейм сървъри са му зададени.

nslookup се използва през терминала на операционната система. За Linux и Mac отворете терминала.

За да извършите DNS проверка с nslookup на Windows, отворете командния ред - cmd. Можете да отворите cmd като изберете клавишната комбинация Win бутон + R. В отворилия се прозорец попълнете "cmd" и натиснете Enter.

В конзолата въведете nslookup, домейна и след него един DNS сървър, който да се използва за DNS проверката.

Например:

nslookup goodexample.eu 8.8.8.8

В резултата ще видите "Non-authoritative answer:". Това означава, че отговорът не е получен от отговорния нейм сървър за домейна. Отговорният (authoritative) нейм сървър държи актуалната DNS информация за домейна. Отговорният нейм сървър (NS) за домейна и DNS зоната му, можете да откриете с различна DNS проверка през nslookup.

Има различни DNS сървъри/резолвери, които можете да използвате свободно например: Google Public DNS: 8.8.8.8 и 8.8.4.4; Cloudflare DNS: 1.1.1.1 и 1.0.0.1; OpenDNS: 208.67.222.222 и 208.67.220.220.

По подразбиране nslookup прави проверка за А записа на домейна. За да проверите друг тип запис, например NS (нейм сървърите за домейна) и да изберете кой DNS сървър, може да стартирате nslookup в интерактивен режим. За целта въвеждате nslookup, тире и DNS сървър, например:

nslookup - 8.8.8.8

След като натиснете Enter ще трябва да въведете типа на DNS записа, който да се търси. Изпишете NS и натиснете Enter.

set type=NS

След това въведете домейна и натиснете Enter.

Като резултат ще получите отговорните нейм сървъри, които са зададени за домейна.

Основният (master) отговорен нейм сървър (primary name server) може да се намери с проверка на SOA записа.

Със "set type=" можете да проверявате и останалите типове DNS записи - MX, TXT и т.н.

Можете да проверите даден тип запис за домейна и без да стартирате nslookup в интерактивен режим. Например за да проверите нейм сървърите на домейна, използвайте:

nslookup -q=ns goodexample.eu

При този тип проверка ще се използват DNS сървърите, които са зададени в мрежовите настройки на операционната система.

dig (Mac, Linux)

dig (Domain Information Groper) е инструмент за извършване на проверки в DNS системата. dig се използва често за отстраняване на проблеми с DNS настройките на даден домейн.

dig е наличен в повечето операционни системи Mac и Linux. За да го използвате, е нужно да стартирате терминала (Terminal).

За Mac OS X отворете Applications, кликнете на Utilities и след това Terminal.

За Linux - отворете терминала.

За Windows dig може да се инсталира допълнително: Инсталация на dig на Windows 10 | Help.

През уеб браузъра: dig има уеб имплементация през сайта https://www.digwebinterface.com

За да извършите DNS проверка, в конзолата изпишете dig и домейна:

dig goodexample.eu

;; QUESTION SECTION:
;goodexample.eu.       IN   A
;; ANSWER SECTION:
 goodexample.eu.  299  IN   A   164.138.218.65
;; Received 114 bytes from 195.191.149.12#53(ns120.superhosting.bg) in 26 ms

В раздел "QUESTION SECTION" се вижда DNS заявката, изпратена към определен DNS сървър. Ако системата няма запазен DNS кеш за този запис или той не присъства в host файла, заявката се изпраща към DNS сървъра/резолвера, посочен в мрежовите настройки на операционната система.

В раздел "ANSWER SECTION" се съдържа отговора на DNS заявката. Под отговора се вижда кой DNS сървър е върнал този отговор (Received from...).

По подразбиране dig проверява А записа за домейна. За да проверите кои са отговорните нейм сървъри за DNS зоната на домейна, добавете NS след домейна:

dig goodexample.eu NS

;; QUESTION SECTION:
;goodexample.eu.       IN  NS
;; ANSWER SECTION:
 goodexample.eu.  3599  IN  NS  ns120.superhosting.bg.
 goodexample.eu.  3599  IN  NS  ns119.superhosting.bg.
;; Received 114 bytes from 195.191.149.12#53(ns120.superhosting.bg) in 26 ms

За да получите отговор с актуална DNS информация (и да сте сигурни, че това не е кеширан отговор), трябва директно да попитате някой от отговорните (Authoritative) нейм сървъри за домейна. За целта може да извършите рекурсивна DNS проверка, от самото начало на DNS системата до отговорния нейм сървър. Тази проверка може да се извърши ръчно, като питате всеки един нейм сървър за отговорните нейм сървъри на следващото ниво в домейна. Или към dig може да се използва параметърът "trace", за да може проверката да се извърши рекурсивно:

dig +trace goodexample.eu

Има различни DNS сървъри/резолвери, които можете да използвате свободно за проверките в DNS: Google Public DNS: 8.8.8.8 и 8.8.4.4; Cloudflare DNS: 1.1.1.1 и 1.0.0.1; OpenDNS: 208.67.222.222 и 208.67.220.220.

Ако искате да използвате DNS резолвер на Google (а не този, който е въведен в мрежовите настройки на устройството), може да го добавите след домейна с @.

dig +additional +trace goodexample.eu. @8.8.4.4

В резултата ще видите отговорите от всички сървъри по веригата в DNS системата. Първият отговор показва 13те основни root DNS сървъри, след това един от тях връща резултат с отговорните нейм сървър за .eu домейна. След това един от нейм сървърите на .eu домейна връща отговорните нейм сървъри за домейна goodexample.eu. И последният отговор е от един от отговорните нейм сървъри на goodexamlpe.eu, в който се посочва А записа на домейна.

.         131712    IN     NS    e.root-servers.net.
.         131712    IN     NS    h.root-servers.net.
.         131712    IN     NS    l.root-servers.net.
.         131712    IN     NS    i.root-servers.net.
.         131712    IN     NS    a.root-servers.net.
.         131712    IN     NS    d.root-servers.net.
.         131712    IN     NS    c.root-servers.net.
.         131712    IN     NS    b.root-servers.net.
.         131712    IN     NS    j.root-servers.net.
.         131712    IN     NS    k.root-servers.net.
.         131712    IN     NS    g.root-servers.net.
.         131712    IN     NS    m.root-servers.net.
.         131712    IN     NS    f.root-servers.net.
;; Received 228 bytes from 8.8.4.4#53(8.8.4.4) in 12 ms
 eu.         172800    IN     NS    uk.dns.eu.
 eu.         172800    IN     NS    nl.dns.eu.
 eu.         172800    IN     NS    x.dns.eu.
 eu.         172800    IN     NS    si.dns.eu.
 eu.         172800    IN     NS    cz.dns.eu.
 eu.         172800    IN     NS    y.dns.eu.
 eu.         172800    IN     NS    z.dns.eu.
;; Received 629 bytes from 202.12.27.33#53(m.root-servers.net) in 200 ms
 goodexample.eu. 86400   IN    NS    ns120.superhosting.bg.
 goodexample.eu. 86400   IN    NS    ns119.superhosting.bg.
;; Received 589 bytes from 193.2.221.60#53(si.dns.eu) in 70 ms
 goodexample.eu.   300   IN    A   164.138.218.65
 goodexample.eu.   3600  IN    NS  ns119.superhosting.bg.
 goodexample.eu.   3600  IN    NS  ns120.superhosting.bg.
;; Received 114 bytes from 195.191.149.12#53(ns120.superhosting.bg) in 26 ms

Вижте още:

🔗 Какво е DNS? | Blog

🔗 DNS проверка за важния DNS запис: домейн.име=IP (Какво е DNS?) | Blog

🔗 DNS зона и DNS записи (Какво е DNS?) | Blog

Обновена: 26.08.2019

Беше ли Ви полезна тази статия?

Вижте още