วิธีที่ต้องการในการค้นหาชื่อโดเมนบรรทัดคำสั่ง (DNS) คืออะไร?


11

ฉันใช้คำสั่งบรรทัดคำสั่งใดเพื่อค้นหาที่อยู่โดเมน

เมื่อดู man man สำหรับ nslookup และ dig ฉันสามารถดูหัวข้อที่กล่าวว่ายูทิลิตี้เหล่านี้ไม่ได้ใช้วิธีการ Mac OS ในการค้นหาชื่อ

ดังนั้นฉันควรใช้คำสั่งอะไร

คำตอบ:


25

nslookup, hostและdigเป็นเครื่องมือสืบค้น DNS ที่ดีอย่างสมบูรณ์ใน OS X แต่พวกเขาทั้งหมดสืบค้น DNS โดยตรงแทนที่จะผ่านระบบการแก้ไขภายในของ OS X ดังนั้นพวกเขาจะไม่ตรวจสอบไฟล์ / etc / hosts หรือแก้ไขชื่อ Bonjour / mDNS (ที่ลงท้ายด้วย. local) วิธีมาตรฐานในการทดสอบความละเอียดคือการใช้pingเนื่องจากจะแก้ไขที่อยู่ที่คุณให้ผ่านระบบปกติก่อนที่จะพยายาม ping หากคุณต้องการบางสิ่งบางอย่างสำหรับวัตถุประสงค์ให้ใช้dscacheutilแทน:

$ 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

ความรุ่งโรจน์ ฉันได้ยื่น Radar เพื่อให้ manpages ชัดเจนยิ่งขึ้นในเรื่องนี้: openradar.me/radar?id=5038477976535040
Sören Kuklau

ปัญหาหนึ่งในการใช้ dscacheutil สำหรับการค้นหาคือหากไม่สามารถแก้ไขชื่อโฮสต์ได้จะไม่ออกจากด้วยรหัสส่งคืนที่ไม่เป็นศูนย์เหมือนกับโฮสต์ทำ
gurple

เพื่อเอาชนะการไม่มีโค้ดส่งคืนที่มีประโยชน์ฉันได้สร้างเชลล์สคริปต์พื้นฐานที่สุดเพื่อเสริมคำสั่ง 'โฮสต์' มาตรฐาน #!/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

ทั้งคำสั่งทำงานได้ดี เพียงเพราะมันไม่ได้ใช้วิธีการของ OS X ไม่ได้หมายความว่ามันไม่ทำงาน หากคุณต้องการใช้ "วิธีการ OS X" ฉันขอแนะนำ Network Utility ได้ไหม?

ป้อนคำอธิบายรูปภาพที่นี่

นี่อาจยังเรียก whois และเพียงแสดงในหน้าต่าง


ฉันเดาว่านี่ใช้ไม่ได้กับ.localที่อยู่ใช่ไหม
Piotr Findeisen

ไม่สิ่งนี้จะไม่สามารถใช้ได้กับที่อยู่ในท้องถิ่น สิ่งนี้ใช้เซิร์ฟเวอร์ whois สาธารณะและที่อยู่. local จะไม่ถูกโพสต์ที่นั่น
Everett
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.