แคช DNS (บางครั้งเรียกว่าแคชตัวแก้ไข DNS) เป็นฐานข้อมูลชั่วคราวที่ดูแลโดยระบบปฏิบัติการของคอมพิวเตอร์ ซึ่งมีบันทึกการเข้าชมล่าสุดทั้งหมดและพยายามเข้าชมเว็บไซต์และโดเมนอินเทอร์เน็ตอื่นๆ
กล่าวอีกนัยหนึ่ง แคช DNS เป็นเพียงหน่วยความจำของการค้นหา DNS ล่าสุดที่คอมพิวเตอร์ของคุณสามารถอ้างอิงได้อย่างรวดเร็วเมื่อพยายามหาวิธีโหลดเว็บไซต์
ข้อมูลในบทความนี้ใช้กับผู้ใช้ตามบ้านที่ไม่ได้เปลี่ยนการตั้งค่า DNS
วัตถุประสงค์ของแคช DNS
อินเทอร์เน็ตใช้ระบบชื่อโดเมนเพื่อรักษาดัชนีของเว็บไซต์สาธารณะทั้งหมดและที่อยู่ IP ที่เกี่ยวข้อง คิดซะว่าเป็นสมุดโทรศัพท์ก็ได้
ด้วยสมุดโทรศัพท์ เราไม่ต้องจำหมายเลขโทรศัพท์ของทุกคน ซึ่งเป็นวิธีเดียวที่โทรศัพท์จะสื่อสารได้: ด้วยหมายเลขโทรศัพท์ ในทำนองเดียวกัน DNS ถูกใช้เพื่อที่เราจะได้ไม่ต้องจำที่อยู่ IP ของเว็บไซต์ทุกแห่ง ซึ่งเป็นวิธีเดียวที่อุปกรณ์เครือข่ายสามารถสื่อสารกับเว็บไซต์ได้
นี่คือสิ่งที่เกิดขึ้นหลังม่านเมื่อคุณขอให้เว็บเบราว์เซอร์โหลดเว็บไซต์
คุณพิมพ์ URL เช่น lifewire.com และเว็บเบราว์เซอร์ของคุณขอที่อยู่ IP จากเราเตอร์ของคุณ เราเตอร์มีที่อยู่เซิร์ฟเวอร์ DNS ที่เก็บไว้ ดังนั้นจะถามเซิร์ฟเวอร์ DNS สำหรับที่อยู่ IP ของชื่อโฮสต์นั้น เซิร์ฟเวอร์ DNS ค้นหาที่อยู่ IP ที่เป็นของ lifewire.com และจากนั้นจะสามารถเข้าใจได้ว่าคุณต้องการเว็บไซต์ใด หลังจากนั้นเบราว์เซอร์ของคุณจะสามารถโหลดหน้าที่เหมาะสมได้
สิ่งนี้เกิดขึ้นกับทุกเว็บไซต์ที่คุณต้องการเยี่ยมชม ทุกครั้งที่คุณเยี่ยมชมเว็บไซต์โดยใช้ชื่อโฮสต์ เว็บเบราว์เซอร์จะเริ่มส่งคำขอไปยังอินเทอร์เน็ต แต่คำขอนี้ไม่สามารถดำเนินการให้เสร็จสิ้นได้จนกว่าชื่อของเว็บไซต์จะถูก "แปลง" เป็นที่อยู่ IP
ปัญหาคือแม้ว่าจะมีเซิร์ฟเวอร์ DNS สาธารณะจำนวนมากที่เครือข่ายของคุณสามารถใช้เพื่อพยายามเร่งกระบวนการแปลง/แก้ไขให้เร็วขึ้น แต่ก็ยังเร็วกว่าที่จะมีสำเนา "สมุดโทรศัพท์" ในเครื่องซึ่งก็คือ ที่แคช DNS เข้ามาเล่น
แคช DNS พยายามเร่งกระบวนการให้เร็วขึ้นโดยจัดการการแก้ไขชื่อของที่อยู่ที่เข้าชมล่าสุดก่อนที่จะส่งคำขอไปยังอินเทอร์เน็ต
จริง ๆ แล้วมีแคช DNS ในทุกลำดับชั้นของกระบวนการ "ค้นหา" ซึ่งจะทำให้คอมพิวเตอร์ของคุณโหลดเว็บไซต์ในที่สุด คอมพิวเตอร์จะไปถึงเราเตอร์ของคุณ ซึ่งจะติดต่อกับ ISP ของคุณ ซึ่งอาจกระทบกับ ISP อื่นก่อนที่จะไปสิ้นสุดที่ "เซิร์ฟเวอร์ DNS ราก" แต่ละจุดในกระบวนการมีแคช DNS ด้วยเหตุผลเดียวกัน ซึ่งก็คือการเร่งกระบวนการแก้ไขชื่อให้เร็วขึ้น
แคช DNS ทำงานอย่างไร
ก่อนที่เบราว์เซอร์จะส่งคำขอไปยังเครือข่ายภายนอก คอมพิวเตอร์จะสกัดกั้นแต่ละรายการและค้นหาชื่อโดเมนในฐานข้อมูลแคช DNSฐานข้อมูลประกอบด้วยรายชื่อโดเมนที่เข้าถึงล่าสุดทั้งหมดและที่อยู่ที่ DNS คำนวณสำหรับพวกเขาในครั้งแรกที่มีการร้องขอ
เนื้อหาของแคช DNS ในเครื่องสามารถดูได้บน Windows โดยใช้คำสั่ง ipconfig /displaydns โดยมีผลลัพธ์คล้ายกับสิ่งนี้:
docs.google.com
ชื่อบันทึก….: docs.google.com
ประเภทบันทึก….: 1
Time To Live….: 21
ความยาวข้อมูล….: 4
มาตรา…….: คำตอบ
A (โฮสต์) บันทึก..: 172.217.6.174
ใน DNS ระเบียน "A" คือส่วนของรายการ DNS ที่มีที่อยู่ IP สำหรับชื่อโฮสต์ที่ระบุ แคช DNS เก็บที่อยู่นี้ ชื่อเว็บไซต์ที่ร้องขอ และพารามิเตอร์อื่นๆ จากรายการ DNS ของโฮสต์
DNS Cache Poisoning คืออะไร
แคช DNS เป็นพิษหรือเสียเมื่อมีการใส่ชื่อโดเมนหรือที่อยู่ IP ที่ไม่ได้รับอนุญาต
บางครั้งแคชอาจเสียหายเนื่องจากความบกพร่องทางเทคนิคหรืออุบัติเหตุจากการดูแลระบบ แต่โดยทั่วไปแล้วการเป็นพิษของแคช DNS จะเกี่ยวข้องกับไวรัสคอมพิวเตอร์หรือการโจมตีเครือข่ายอื่นๆ ที่แทรกรายการ DNS ที่ไม่ถูกต้องลงในแคช
พิษทำให้คำขอของลูกค้าถูกเปลี่ยนเส้นทางไปยังปลายทางที่ไม่ถูกต้อง ซึ่งมักจะเป็นเว็บไซต์ที่เป็นอันตรายหรือหน้าเว็บที่เต็มไปด้วยโฆษณา
ตัวอย่างเช่น หากระเบียน docs.google.com จากด้านบนมีระเบียน "A" ที่ต่างออกไป เมื่อคุณป้อน docs.google.com ในเว็บเบราว์เซอร์ของคุณ คุณจะถูกนำไปที่อื่น
สิ่งนี้สร้างปัญหาใหญ่ให้กับเว็บไซต์ยอดนิยม ตัวอย่างเช่น หากผู้โจมตีเปลี่ยนเส้นทางคำขอของคุณสำหรับ Gmail.com ไปยังเว็บไซต์ที่ดูเหมือน Gmail แต่ไม่ใช่ คุณอาจต้องทนทุกข์ทรมานจากการโจมตีแบบฟิชชิง เช่น การล่าปลาวาฬ
DNS ฟลัชชิง: ทำอะไรและทำอย่างไร
เมื่อแก้ไขปัญหาแคชเป็นพิษหรือปัญหาการเชื่อมต่ออินเทอร์เน็ตอื่นๆ ผู้ดูแลระบบคอมพิวเตอร์อาจต้องการล้างข้อมูล (เช่น ล้าง รีเซ็ต หรือลบ) แคช DNS
เนื่องจากการล้างแคช DNS จะลบรายการทั้งหมด ระบบจะลบบันทึกที่ไม่ถูกต้องด้วย และบังคับให้คอมพิวเตอร์ของคุณเติมที่อยู่เหล่านั้นซ้ำในครั้งต่อไปที่คุณพยายามเข้าถึงเว็บไซต์เหล่านั้น ที่อยู่ใหม่เหล่านี้นำมาจากเซิร์ฟเวอร์ DNS ที่เครือข่ายของคุณตั้งค่าให้ใช้
ดังนั้น หากต้องการใช้ตัวอย่างข้างต้น หากระเบียน Gmail.com ถูกวางยาพิษและเปลี่ยนเส้นทางคุณไปยังเว็บไซต์แปลก ๆ การล้าง DNS เป็นขั้นตอนแรกที่ดีในการทำให้ Gmail.com ปกติกลับมาอีกครั้ง
ใน Microsoft Windows คุณสามารถล้างแคช DNS ในเครื่องได้โดยใช้คำสั่ง ipconfig /flushdns ในพรอมต์คำสั่ง คุณรู้ว่ามันใช้งานได้เมื่อคุณเห็น การกำหนดค่า IP ของ Windows ล้างแคชตัวแก้ไข DNS หรือ ล้างแคชตัวแก้ไข DNS สำเร็จ ข้อความ
ผ่านเทอร์มินัลคำสั่ง ผู้ใช้ macOS ควรใช้ dscacheutil -flushcache แต่รู้ว่าไม่มีข้อความ "สำเร็จ" หลังจากทำงาน ดังนั้นคุณจะไม่ได้รับแจ้งว่าใช้งานได้หรือไม่ ทำงานในบางกรณี ผู้ใช้ Mac จะต้องฆ่า DNS Responseer (sudo killall -HUP mDNSResponder) ผู้ใช้ Linux ควรป้อน /etc/rc.d/init d/nscd restart command. คำสั่งที่แน่นอนจะแตกต่างกันไปตามการแจกจ่าย Linux ของคุณ
เราเตอร์สามารถมีแคช DNS ได้เช่นกัน ซึ่งเป็นสาเหตุที่การรีบูตเราเตอร์มักเป็นขั้นตอนการแก้ไขปัญหา ด้วยเหตุผลเดียวกันกับที่คุณอาจล้างแคช DNS บนคอมพิวเตอร์ของคุณ คุณสามารถรีบูตเราเตอร์เพื่อล้างรายการ DNS ที่จัดเก็บไว้ในหน่วยความจำชั่วคราวได้