ฉันรู้ว่าใน 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แคชโดยไม่ต้องถอดรหัสรูปแบบไบนารี