Jak sprawdzić, czy serwer nazw odpowiada na zapytania rekurencyjne?

18

Jestem tylko ciekawy, czy możesz użyć dig, aby sprawdzić, czy pewien serwer nazw odpowiada na zapytania rekurencyjne.

Dzięki!

Mikko
źródło

Odpowiedzi:

20

Użyj digi sprawdź status RDi RAbitów w odpowiedzi.

Domyślnie digwyśle ​​zapytanie rekurencyjne ( RDustawione w nagłówku zapytania), chyba że ustawisz +norecurseflagę wiersza poleceń.

Jeśli serwer obsługuje zapytania rekurencyjne, RAw nagłówkach odpowiedzi zostanie ustawiony bit „dostępna rekurencja” .

RABit jest test diagnostyczny dla rekurencyjnego wsparcie zapytań.

Alnitak
źródło
11

Sprawdź, czy możesz zapytać go o wpis DNS, dla którego nie jest autorytatywny, np. Spróbuj host www.cnn.com ns.example.com:, gdzie ns.example.com jest testowanym serwerem nazw. Jeśli nie odpowie na zapytania rekurencyjne, otrzymasz ODMOWĘ.

$ host www.cnn.com. ns1.example.com
Using domain server:
Name: ns1.example.com
Address: 192.168.183.130#53
Aliases:

Host www.cnn.com not found: 5(REFUSED)

podczas gdy serwer DNS, który wykonuje zapytania rekurencyjne:

$ host www.cnn.com. 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.cnn.com has address 157.166.255.18
www.cnn.com has address 157.166.255.19
www.cnn.com has address 157.166.226.25
www.cnn.com has address 157.166.226.26
cjc
źródło
Wielkie dzięki @cjc. Wymyśliłem też inną metodę, ale za pomocą dig. Spróbuj wyszukać domenę na serwerze nazw, który nie jest autorytatywny dla domeny. Jeśli nic nie zwraca, oznacza to, że nie odpowiada na zapytania rekurencyjne.
Mikko
@Mikko, tak, zarówno digi host(i przestarzałe nslookup) są narzędziami do zapytań DNS. Wszystkie z nich są wystarczające do ustalenia, czy serwer DNS zezwala na zapytania rekurencyjne z Twojego adresu IP.
cjc
to źle - REFUSEDjest to również kod odpowiedzi, który otrzymujesz, jeśli poprosisz autorytatywny serwer nazw o informacje na temat domeny, dla której nie ma on pliku strefy.
Alnitak