Phương pháp ưa thích của tra cứu tên miền dòng lệnh (DNS) là gì?


11

Tôi sử dụng lệnh dòng lệnh nào để tra cứu địa chỉ tên miền?

Khi xem các trang man cho nslookup và dig, tôi có thể thấy một phần nói rằng các tiện ích này không sử dụng các phương pháp tìm tên Mac OS.

Vì vậy, tôi nên chạy lệnh nào?

Câu trả lời:


25

nslookup, hostdiglà 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, dscacheutilthay 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

Thanh danh. Tôi đã gửi một Radar rằng các trang này sẽ rõ ràng hơn về điều này: openradar.me/radar?id=5038477976535040
Sören Kuklau

Một vấn đề với việc sử dụng dscacheutil để tra cứu là nếu nó không thể giải quyết tên máy chủ thì nó không thoát với mã trả về khác không như máy chủ lưu trữ.
gurple

Để khắc phục việc thiếu mã trả về hữu ích, tôi đã tạo một tập lệnh shell cơ bản nhất để bổ sung cho lệnh 'máy chủ' tiêu chuẩn. #!/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

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?

nhập mô tả hình ảnh ở đây

Điều này vẫn có thể gọi whois và chỉ hiển thị nó trong cửa sổ.


Tôi đoán điều này không làm việc cho các .localđịa chỉ, phải không?
Piotr Findeisen

Không, điều này sẽ không làm việc cho các địa chỉ .local. Điều này sử dụng máy chủ whois công khai và địa chỉ .local sẽ không được đăng ở đó.
Everett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.