Jak sprawdzić, którego serwera DNS używam (w systemie Mac OS X)

72

W systemie Mac OS X, jak mogę sprawdzić, którego serwera DNS aktualnie używam (najlepiej z linii poleceń)?

System Preferences > Networkpokazuje 192.168.1.1, który jest adresem mojego routera, a nie prawdziwym serwerem DNS.

ryanprayogo
źródło
Gdy używasz polecenia dig lub nslookup, wyświetla domyślny adres IP serwera DNS.
Biswapriyo
Dla przypomnienia - twój router ma prawdziwy serwer DNS. Bardziej szczegółowo, jest to serwer DNS cykliczny, taki sam jak DNS twojego dostawcy usług internetowych lub Google 8.8.8.8.
Nowaker

Odpowiedzi:

112

Możesz spróbować wydać scutil --dns | grep 'nameserver\[[0-9]*\]'polecenie w wierszu polecenia. Powinien dać ci listę serwerów DNS skonfigurowanych w twoim systemie.

Johnsyweb
źródło
to świetne polecenie - wygląda na to, że jest to serwer DNS używany przez Comcast (mój ISP). +1 za świetny punkt bonusowy i odpowiedź na głębszą wiedzę.
Mbb
2
+1 Dla polecenia wyświetlającego serwery dla konfiguracji „wielu klientów” (np /etc/resolver/….).
Chris Johnsen
2
Dodałem | sort | uniqdo niego, ponieważ interesowały mnie tylko używane unikalne serwery DNS.
Jeroen Wiert Pluimers
1
Nitpick, ale dlaczego konieczne jest dodanie \[[0-9]*\]do grepciągu?
ijoseph
1
Na moim komputerze scutil --dns | grep nameserverwystarczy lub scutil --dns | grep nameserver | sort -ujeśli chcę tylko zobaczyć unikalne serwery.
AllanLRH
16

Router działa jako usługa przesyłania dalej DNS, pytasz router, a router prosi o serwer DNS. Musisz się zalogować do konfiguracji routera, aby dowiedzieć się, z czego korzysta, lub możesz po prostu wprowadzić go bezpośrednio do konfiguracji sieci.

Jakub
źródło
To jest po prostu złe. Serwer DHCP przypisuje serwer DNS (co wydaje mi się, że jesteś zdezorientowany), ale router sam nie obsługuje DNS. Jego zadaniem jest kierowanie ruchem.
senfo
10

Użyj następującego polecenia, aby wyświetlić serwer DNS w Mac OS X:

Otwórz terminal i wpisz

$ cat /etc/resolv.conf

aby zobaczyć swój serwer DNS.

Przykładowe dane wyjściowe:

$ cat /etc/resolv.conf 
domain http://www.example.com (Here, you can see DNS records info of the particular domain name.)
nameserver 68.87.85.98
nameserver 68.87.69.146
użytkownik1908924
źródło
1
To pokaże to samo, co System Preferences > Networkrobi.
Kevin Panko
W dzisiejszych czasach niezbyt przydatne. Ten plik jest tylko taki, że starsze aplikacje mają coś do przeczytania. Większość rzeczy w MacOS korzysta z wewnętrznej bazy danych. Zobacz odpowiedź powyżej za pomocą polecenia „scutil”.
Chris Cogdon
10

Akamai zapewnia narzędzie do debugowania DNS, które zwraca adres IP resolvera używanego do zapytania. Otwórz Terminal.app i uruchom następujące polecenie:

dig whoami.akamai.net +short

UltraDNS zapewnia również jeden, ale okazało się, że jest mniej niezawodny:

dig whoami.ultradns.net +short

Adres IP zwracany przez te narzędzia to program rozpoznawania nazw DNS używany w sieci, ale może być tylko jednym z kilku. Bezpośrednie korzystanie z adresu IP w preferencjach sieci może być zaletą.

Możesz porównywać wydajność lokalnych i alternatywnych serwerów DNS za pomocą platformy nazw .

Quinn Comendant
źródło
Doskonały. Oszczędza to czas dostępu do ekranu administratora routera.
downeyt
Ta usługa jest świetna.
pedrosanta
5

Dotarłem do tego pytania, gdy szukałem sposobu, aby uzyskać listę serwerów DNS konkretnej karty sieciowej w formacie tekstowym (na przykład karty Wi-Fi):

wprowadź opis zdjęcia tutaj

Tę listę serwerów DNS można uzyskać w terminalu za pomocą tego polecenia:

$ networksetup -getdnsservers Wi-Fi
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1

A dla adaptera Ethernet:

$ networksetup -getdnsservers Ethernet
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1
Hamid Rohani
źródło
3

To jest serwer DNS, którego używa twój Mac. W twoim routerze działa buforujący serwer DNS i ustawia się jako serwer DNS przez DHCP. Po zalogowaniu się do routera możesz dowiedzieć się, z których serwerów DNS korzysta.

stawanie się
źródło