ฉันรู้ว่าใน Windows ฉันสามารถออกipconfig /displaydns
และฉันเห็นเนื้อหาแคชของ DNS ท้องถิ่น
ฉันจะแสดงรายการเนื้อหาแคชของ DNS ใน Linux ได้อย่างไร
ฉันต้องการได้รับการแก้ปัญหาข้าม distro มากที่สุด
ฉันรู้ว่าใน Windows ฉันสามารถออกipconfig /displaydns
และฉันเห็นเนื้อหาแคชของ DNS ท้องถิ่น
ฉันจะแสดงรายการเนื้อหาแคชของ DNS ใน Linux ได้อย่างไร
ฉันต้องการได้รับการแก้ปัญหาข้าม distro มากที่สุด
คำตอบ:
systemd
นี้แทบไม่มีแคช DNS ระดับระบบปฏิบัติการก่อนที่จะsystemd
ไม่มีแคช OS ระดับ DNS บนลินุกซ์ (และอาจจะใช้ระบบปฏิบัติการยูนิกซ์ส่วนใหญ่) เว้นแต่nscd
หรือdnsmasq
ได้รับการติดตั้งและใช้
แล้วถึงแม้ DNS แคชคุณลักษณะของการnscd
ถูกปิดใช้งานโดยเริ่มต้นใน Debian อย่างน้อยเพียงเพราะมันจะเสีย
สำหรับdnsmasq
การแคชดูเหมือนว่าจะเกิดขึ้นใน RAMโดยค่าเริ่มต้น
dnsmasq
ค่าเริ่มต้นดังนั้นunix.stackexchange.com/q/162973/79839อาจมีประโยชน์
systemd
มีแนวโน้มที่จะมีsystemd-resolved
การทำงานโดยเริ่มต้นที่ไม่ผลลัพธ์ของ DNS แคชขึ้นอยู่กับ TTL ของพวกเขา
nscd
เป็น Daemon บริการแคช นี่คือยูทิลิตี้ที่ Linux, Solaris และการใช้บริการแคชชื่ออื่น ๆ บริการชื่อในกรณีนี้เป็นคำทั่วไปไม่ จำกัด อย่างเคร่งครัดในการแก้ปัญหาโฮสต์ แต่ยังรวมถึงผู้ใช้กลุ่ม ฯลฯ
ฉันไม่รู้วิธีดูเนื้อหาจริงของแคชแม้ว่าคุณจะสามารถแสดงสถิติ/usr/sbin/nscd -g
ได้
อย่างน้อยก็สามารถแสดงให้คุณเห็นว่าแคชของคุณมีประสิทธิภาพมากน้อยเพียงใด
คุณอาจมีตัวเลือกอื่น ๆ หากคุณใช้เครื่องมือแคชสำรองเช่น DNSMASQ
หากคุณใช้nscd
คุณสามารถดูเนื้อหา (และอาจเป็นขยะอื่น ๆ ) โดยแสดงสตริง ASCII จากไฟล์แคชไบนารี ใน Debian / Ubuntu ไฟล์นั้นใช้/var/cache/nscd/hosts
สำหรับแคชของโฮสต์ / DNS ดังนั้นคุณสามารถเรียกใช้strings /var/cache/nscd/hosts
เพื่อดูโฮสต์ที่อยู่ในแคช
โปรดทราบว่านี่เป็นแฮ็คทั้งหมดเนื่องจากดูเหมือนจะไม่มีวิธีที่เหมาะสมในการตรวจสอบnscd
แคชโดยไม่ต้องถอดรหัสรูปแบบไบนารี