Saya ingin menampilkan server DNS yang digunakan oleh pengaturan jaringan saat ini di OS X, dari baris perintah.
command-line
dns
Sorin
sumber
sumber
networksetup -getdnsservers
tidak berfungsi untuk server DNS yang ditetapkan DHCP. Saya selalu lupascutil
. 'Sc' adalah singkatan dari System Configuration? Ini tentu tidak mengkonfigurasi banyak sistem ...dig
ataunslookup
tidak perlu memberikan gambaran realistis tentang bagaimana aplikasi macOS menyelesaikan nama domain dari sistem lokal, terutama ketika beberapa DNS (khusus domain) telah dikonfigurasi, seperti ketika menggunakan klien VPN untuk banyak koneksi bersamaan. Alih-alihnslookup
ataudig
, gunakandscacheutil -q host -a name somehostname.com
untuk menguji resolusi DNS. Ini memperhitungkan semua server DNS yang dikonfigurasi serta urutan prioritasnya.cat /etc/resolv.conf
tidak tampak seperti solusi yang "dapat diandalkan" lagi. Ini adalah pemberitahuan yang saya dapatkan di macOS High Sierra ketika menggunakannya: (maaf untuk pemformatan - komentar tidak mendukung jeda baris sederhana) # macOS Pemberitahuan # # File ini tidak dikonsultasikan untuk resolusi nama host DNS, alamat # resolusi, atau Mekanisme perutean DNS query digunakan oleh sebagian besar proses # pada sistem ini. # # Untuk melihat konfigurasi DNS yang digunakan oleh sistem ini, gunakan: # scutil --dnsscutil --dns | grep nameserver
untuk hanya mendapatkan server DNS.Perintah shell berikut dapat bermanfaat untuk mendaftar entri DNS saat ini:
Untuk memfilter skrip, Anda dapat menyalurkan output ke
awk '{print $3}'
ataugrep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+"
perintah.sumber
scutil --dns | grep nameserver
benar (hanya sintaks yang berbeda)?