Câu trả lời:
nslookup
, host
và dig
là các công cụ truy vấn DNS hoàn toàn tốt trong OS X, nhưng tất cả chúng đều truy vấn DNS trực tiếp thay vì đi qua hệ thống phân giải nội bộ của OS X. Do đó, họ không kiểm tra tệp / etc / hosts hoặc giải quyết tên Bonjour / mDNS (những tên kết thúc bằng .local). Cách tiêu chuẩn (nhanh chóng bẩn) để kiểm tra độ phân giải là sử dụng ping
, vì nó sẽ giải quyết địa chỉ bạn cung cấp qua hệ thống thông thường trước khi thử ping nó. Nếu bạn muốn một cái gì đó dành cho mục đích, dscacheutil
thay vào đó hãy sử dụng :
$ 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
#!/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
Hoặc là lệnh hoạt động tốt. Chỉ vì nó không sử dụng các phương thức của OS X không có nghĩa là nó không hoạt động. Nếu bạn muốn sử dụng "phương pháp OS X", tôi có thể giới thiệu Network Utility không?
Điều này vẫn có thể gọi whois và chỉ hiển thị nó trong cửa sổ.
.local
địa chỉ, phải không?