Apa metode pencarian nama domain baris perintah (DNS) yang disukai?
11
Apa perintah baris perintah yang saya gunakan untuk mencari alamat domain?
Ketika melihat halaman manual untuk nslookup dan menggali, saya dapat melihat bagian yang mengatakan bahwa utilitas ini tidak menggunakan metode Mac OS untuk menemukan nama.
nslookup,, hostdan digmerupakan alat kueri DNS yang sangat baik di OS X, tetapi semuanya meminta DNS secara langsung daripada melalui sistem resolusi internal OS X. Akibatnya, mereka tidak memeriksa file / etc / hosts, atau menyelesaikan nama Bonjour / mDNS (yang berakhiran .local). Cara standar (cepat dan kotor) untuk menguji resolusi adalah dengan menggunakan ping, karena itu akan menyelesaikan alamat yang Anda berikan melalui sistem yang biasa sebelum mencoba melakukan ping. Jika Anda menginginkan sesuatu yang dimaksudkan untuk tujuan tersebut, gunakan dscacheutilsebagai berikut:
$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net
ip_address:184.24.141.15
$ ping www.apple.com
PING e3191.c.akamaiedge.net (184.24.141.15):56 data bytes
64 bytes from 184.24.141.15: icmp_seq=0 ttl=57 time=57.258 ms
^C
--- e3191.c.akamaiedge.net ping statistics ---1 packets transmitted,1 packets received,0.0% packet loss
round-trip min/avg/max/stddev =57.258/57.258/57.258/0.000 ms
Satu masalah dengan menggunakan dscacheutil untuk pencarian adalah bahwa jika tidak dapat menyelesaikan nama host, ia tidak keluar dengan kode pengembalian yang tidak nol seperti yang dilakukan oleh host.
gurple
Untuk mengatasi kurangnya kode pengembalian yang berguna saya telah membuat skrip shell paling dasar untuk melengkapi perintah 'host' standar. #!/usr/bin/env bash STAT=1 LOOKUPRESULT="$(dscacheutil -q host -a name "$1")" if [ -z "$LOOKUPRESULT" ] ; then exit "$STAT" else echo "$LOOKUPRESULT" STAT=0 exit "$STAT" fi
gurple
4
Salah satu perintah berfungsi dengan baik. Hanya karena tidak menggunakan metode OS X tidak berarti tidak berfungsi. Jika Anda ingin menggunakan "metode OS X" dapatkah saya merekomendasikan Network Utility?
Ini mungkin masih memanggil whois dan hanya menampilkannya di jendela.
#!/usr/bin/env bash STAT=1 LOOKUPRESULT="$(dscacheutil -q host -a name "$1")" if [ -z "$LOOKUPRESULT" ] ; then exit "$STAT" else echo "$LOOKUPRESULT" STAT=0 exit "$STAT" fi
Salah satu perintah berfungsi dengan baik. Hanya karena tidak menggunakan metode OS X tidak berarti tidak berfungsi. Jika Anda ingin menggunakan "metode OS X" dapatkah saya merekomendasikan Network Utility?
Ini mungkin masih memanggil whois dan hanya menampilkannya di jendela.
sumber
.local
alamat, bukan?