ทุกคนที่ใช้อินเทอร์เน็ตจะทิ้ง digital footprint ไปอย่างน้อยอย่างนึง Cookies และ Javascript มักถูกใช้ติดตามพฤติกรรมผู้เยี่ยมชมเว็บไซต์
แต่คุณรู้ไหมว่า ระบบปฏิบัติการของคุณยังเก็บข้อมูลกิจกรรมการเล่นเว็บอยู่ด้วย? ทำผ่าน DNS cache ซึ่งควรทำความสะอาดเป็นประจำเพื่อป้องกันปัญหา
บทความนี้จะอธิบายว่า DNS cache คืออะไร ทำไมคอมพิวเตอร์จึงเก็บมันไว้ และวิธี flush DNS cache บน Mac
DNS Cache คืออะไร?
DNS servers แปลง domain names เช่น www.abc.com เป็นที่อยู่เว็บแบบตัวเลขที่ระบบคอมพิวเตอร์สามารถประมวลผลได้ โดยค่าเริ่มต้น เบราว์เซอร์จะติดต่อ DNS servers ทุกครั้งที่เข้าถึงที่อยู่เว็บ ยิ่ง URL มีผู้เยี่ยมชมมาก ยิ่ง DNS server ทำงานหนัก ซึ่งอาจนำไปสู่ DNS errors เช่น "DNS Server Not Responding"
เคล็ดลับ: สแกน Mac เพื่อตรวจสอบปัญหาประสิทธิภาพ ไฟล์ขยะ แอปมี害 และภัยคุกคามด้านความปลอดภัย
ที่อาจก่อให้เกิดปัญหาระบบหรือทำให้ทำงานช้าลง
เพื่อลดภาระของ DNS server และป้องกันการ fetch ซ้ำๆ เมื่อผู้ใช้พยายามเข้าถึงเว็บไซต์เดียวกัน ระบบปฏิบัติการอย่าง Windows และ macOS จึงมี cache ของตัวเองสำหรับที่อยู่ที่ resolved แล้ว เรียกว่า DNS cache โดยพื้นฐาน DNS cache เก็บข้อมูลที่เกี่ยวข้องทั้งหมดที่จำเป็นสำหรับ name resolution วิธีนี้ เบราว์เซอร์ไม่ต้องเข้าถึง DNS server ทุกครั้งที่มีการ query
ทุก DNS Cache ประกอบด้วยข้อมูลต่อไปนี้:
- Resource data หรือ rdata – ข้อมูลนี้อธิบาย record เช่น address หรือ host name
- Record type – หมายถึงประเภทของ entry ที่สร้างขึ้น
- Record name – บันทึก domain name ของ object ที่ entry ถูกสร้างขึ้นเพื่อ
- Time to live – ระยะเวลาที่ resource record ยังคง valid ปกติเก็บเป็นวินาที
- Class – หมายถึง protocol group ที่ resource 属于
- Resource data length – ค่าความยาวของ resource data
ทำไมต้อง Clear DNS Cache ใน Catalina
เหตุผลในการ flush DNS เป็นประจำคืออะไร? ตามที่อภิปรายไว้ข้างต้น การ flush DNS cache เป็นประจำมีวัตถุประสงค์ แต่กระบวนการนี้ไม่ใช่ automatic Entries จะถูกเก็บใน cache จนกว่า TTL ที่กำหนดจะหมดอายุ ผู้ใช้ต้องเริ่มการ flush เอง และมีหลายเหตุผลที่ต้องทำ:
ซ่อนกิจกรรมการค้นหา
แม้การติดตามพฤติกรรมผู้ใช้จะทำหลักผ่าน cookies, JavaScript และซอฟต์แวร์อื่นๆ DNS cache ยังคงมีข้อมูลสำคัญค่อนข้างมาก ซึ่งเป็นเป้าหมายที่เป็นไปได้สำหรับผู้เก็บข้อมูล จากที่อยู่ที่รายการไว้ รวมถึงข้อมูลเพิ่มเติมที่เก็บใน cache ใครก็สามารถวิเคราะห์ประวัติหน้าเว็บของคุณได้ รายการที่อยู่เว็บที่เก็บใน cache เปิดเผยว่าคุณเข้าชมเว็บไซต์ไหนบ่อยแค่ไหน ยิ่ง cached addresses collection ครอบคลุมมากเท่าไหร่ ยิ่งเปิดเผยข้อมูลเกี่ยวกับคุณและกิจกรรมของคุณมากขึ้น
เพื่อเหตุผลด้านความปลอดภัย
นี่อาจเป็นหนึ่งในเหตุผลสำคัญที่สุดที่ควร clear DNS cache เป็นประจำ ข้อมูลที่เก็บใน cache มีประโยชน์สำหรับการส่งมอบหน้าเว็บอย่างรวดเร็ว แต่อาจเป็นอันตรายมากในมือผิด หากแฮกเกอร์เข้าถึง DNS cache ของคุณได้ พวกเขาสามารถจัดการ entries และเปลี่ยนแปลงกิจกรรมของคุณได้ง่าย เช่น เปลี่ยนเส้นทางคุณไปยังเว็บไซต์ที่ผิด หรือแสดงผลการค้นหาที่ต่างออกไป นี่เรียกว่า DNS poisoning หรือ DNS spoofing วิธีหลอกลวงนี้มักใช้ขโมยข้อมูล login สำหรับ online banking และบัญชีอื่นๆ ด้วยการ flush DNS ของคุณ โจรกรรมไซเบอร์จะไม่มีโอกาสขโมย login ของคุณ
แก้ไขปัญหาทางเทคนิค
เมื่อเจอปัญหาเข้าถึงเว็บไซต์เฉพาะหรือใช้ web applications การ flush DNS cache เป็นขั้นตอน troubleshooting ที่จำเป็น ตัวอย่างเช่น อาจเป็นไปได้ว่า outdated version ของเว็บไซต์ที่เรียกแสดงออกมา เนื่องจาก outdated entries สิ่งนี้เกิดขึ้นเมื่อ domain name ที่เก็บใน cache มี IP address ที่ผิดหรือเก่า สามารถแก้ไขได้ง่ายโดยการ clear DNS cache เมื่อทำเช่นนี้ คำขอจะถูกส่งต่อไปยัง DNS server ที่เหมาะสมอีกครั้ง ไม่ได้มาจาก cache กระบวนการนี้จะอัปเดตข้อมูลที่อยู่ และการเชื่อมต่อกับหน้าเว็บจะฟื้นฟู
วิธี Flush DNS Cache ใน Catalina และ Big Sur
ตอนนี้เราเข้าใจความสำคัญของการ clear DNS cache แล้ว มาพูดถึงขั้นตอนการ Flush DNS Cache ใน Catalina และ Big Sur
หากรัน macOS เวอร์ชันเก่ากว่า กระบวนการจะแตกต่างเล็กน้อย ดังนั้นขั้นตอนนี้จะไม่ได้ผล ต้องรันอย่างน้อย Catalina เพื่อให้ขั้นตอนมีผล
ทำตามขั้นตอนนี้:
- เปิด Terminal โดยไปที่ Finder > Go > Utilities สามารถค้นหา Terminal ด้วย Spotlight ได้
- ในหน้าต่าง Terminal ให้พิมพ์คำสั่งต่อไปนี้:
- sudo dscacheutil -flushcache
- sudo killall -HUP mDNSResponder
- กด Enter เพื่อรันคำสั่ง
- พิมพ์รหัสผ่าน admin เมื่อถูกถาม
- ปิด Terminal
เมื่อทำขั้นตอนข้างต้นเสร็จ แสดงว่า clear DNS cache ของคุณสำเร็จแล้ว หากเจอปัญหา reset และ flush DNS cache นี่คือสิ่งที่สามารถทำได้:
- รีสตาร์ท Mac และลอง clear cache อีกครั้งหลัง reboot
- ปิด firewall และซอฟต์แวร์ความปลอดภัยชั่วคราว
- ทำความสะอาดไฟล์ขยะจาก Mac ด้วย Mac repair app
- บูทเข้าสู่ Safe Mode และลอง clear DNS cache จากที่นั่น
วิธี Flush DNS Cache บน Mac ด้วย macOS เก่า
ขั้นตอนข้างต้นใช้ได้เฉพาะ macOS Catalina และ Big Sur หากรัน macOS เก่ากว่า ต้องอ้างอิงคำสั่งที่เหมาะสมด้านล่าง ยังคงใช้ Terminal ในการพิมพ์คำสั่ง แค่บรรทัดคำสั่งจะต่างออกไปเล็กน้อย
Sierra และ High Sierra:
- sudo killall -HUP mDNSResponder
Yosemite (OS X 10.10.4) และ El Capitan:
- sudo dscacheutil -flushcache
- sudo killall -HUP mDNSResponder
Yosemite (OS X 10.10.1 ถึง 10.10.3):
- sudo discoveryutil mdnsflushcache
- sudo discoveryutil udnsflushcaches
Mavericks:
- sudo dscacheutil -flushcache
- sudo killall -HUP mDNSResponder
สรุป
เมื่อ clear DNS cache ด้วยคำสั่งข้างต้น โปรดทราบว่าจะไม่ได้รับข้อความยืนยันหรือข้อความใดๆ ที่บ่งบอกว่ากระบวนการสำเร็จ วิธีเดียวที่จะรู้ว่า DNS cache ถูกรีเซ็ตแล้ว คือ เมื่อสุดท้ายสามารถเข้าถึงหน้าเว็บที่เคยมีปัญหาได้