จะล้าง / ล้างแคช DNS ใน Google Chrome ได้อย่างไร


903

อย่างที่คุณทราบกันดีว่า Google Chrome นั้นมีแคช DNS ภายใน มีวิธีการล้างโดยไม่ต้องรอให้หมดเวลาหรือปิดเบราว์เซอร์หรือไม่?


เหตุผลเดียวที่ฉันจะล้างแคช DNS ของ Chrome ก็คือเพราะถ้าฉันไม่ฉันไม่สามารถเข้าถึง Google โชคดีที่ Google ไม่ได้เป็นเพียงเสิร์ชเอ็นจิ้นเท่านั้น (หรืออย่างอื่นฉันจะไม่พบคำถามนี้) และฉันต้องจัดการกับ Chrome ในที่ทำงานเท่านั้น
Nolonar

สำหรับฉันนี่อาจเกิดจากการมี DNS-server ที่ไม่ถูกต้องใน resolv.conf (ฉันพยายามเข้าถึงเซิร์ฟเวอร์ภายในด้วย VPN) คนที่ T-com ได้กำหนดค่า DNS ของพวกเขาผิดเพื่อตอบสนองกับเว็บไซต์โฆษณาของพวกเขาแทน NXDOMAIN และคนที่เขียน Chrome ไม่สนใจที่จะเคารพคำสั่ง resolv.conf แต่แทนที่จะใช้ DNS เซิร์ฟเวอร์ใดก็ตามที่ทำงาน
Ketil

คำตอบ:


1316

นำทางไปยังchrome: // net-internals / # dnsและกดปุ่ม "ล้างโฮสต์แคช"


41
น่าแปลกที่ใช้งานได้ในทิศทางเดียวเท่านั้น ฉันมีการจับคู่ในไฟล์โฮสต์ที่แมปชื่อโดเมนกับเครื่องท้องถิ่น (เช่น 127.0.0.1) เมื่อฉันลบการแมปและล้างแคช DNS ใน Chrome จะโหลดเว็บไซต์จากอินเทอร์เน็ตอย่างถูกต้อง แต่เมื่อฉัน เพิ่มการแมปอีกครั้งไปยังไฟล์โฮสต์มันยังคงโหลดเว็บไซต์จากอินเทอร์เน็ต มันแสดงรายการแคช DNS ที่ว่างเปล่าใน Chrome หลังจากล้างแคช DNS (เช่นล้างแคชระบบปฏิบัติการโดยใช้ ipconfig / flushdns) ยังคงโหลดไซต์จากอินเทอร์เน็ต! ดูเหมือนว่าแมลง
มีน

10
ยิ่งน่ารำคาญยิ่งขึ้น Chrome แสดงที่อยู่ IP อย่างถูกต้อง (127.0.0.1) สำหรับโดเมนนั้นในรายการแคช DNS (หลังจากล้างข้อมูลและพยายามโหลดไซต์อีกครั้ง) ยังคงโหลดไซต์จากอินเทอร์เน็ต
มีน

4
ยอดเยี่ยมมีรายการของตัวเลือกทั้งหมดของโครเมียม: // * ทุกคนที่รู้หรือไม่?
เอียน

29
@Ian chrome: // about
ephemient

10
ไม่เพียงพอสำหรับฉัน ต้อง "ipconfig / flushdns" ในพร้อมท์คำสั่ง (พบในคำตอบด้านล่าง)
Adam Tal

175

บางครั้งคุณต้องล้างข้อมูลซ็อกเก็ตพูลหลังจากล้าง DNS:

chrome://net-internals/#sockets

4
โปรดทราบว่าตอนนี้ Chrome จะตรวจสอบhostsไฟล์และบันทึกอัตโนมัติ dnscache ทุกครั้งที่มีการเปลี่ยนแปลงใด ๆ กับhostsไฟล์ - คุณสามารถทดสอบว่าระบบของคุณทำงานได้อย่างง่ายดายหรือไม่โดยการเพิ่มบรรทัดว่างหลังจากhostsไฟล์ของคุณและรายการที่chrome://net-internals/#dnsจะถูกอัปเดตอัตโนมัติ - บริการ dnscache ของ Windows จะตรวจสอบไฟล์โฮสต์สำหรับการเปลี่ยนแปลงเช่นกัน หลังจากคุณอัปเดตhostsไฟล์ของคุณแล้วเพียงคลิกที่ปุ่ม "ล้างซ็อกเก็ตพูล" จะใช้งานได้ ไม่ต้องการอะไรอีก
Pacerier

ใช่ฉันดูเหมือนจะสังเกตเห็นพฤติกรรมเดียวกันตั้งแต่ 1 ปีขึ้นไป อย่างไรก็ตามบางทีมันอาจไม่ได้ผลตลอดเวลาเพราะฉันยังได้คะแนนสูงในคำตอบนี้
Bojan Hrnkas

เพิ่งทดสอบบน Server 2003 ด้วย เมื่อใดก็ตามที่มีการเปลี่ยนแปลงใด ๆ กับไฟล์โฮสต์บริการ dnscache จะโหลดแคชใหม่โดยอัตโนมัติโดยไม่จำเป็นต้องipconfig /flushdnsไร้สาระ ipconfig /flushdnsดูเหมือนว่าจะเป็นปลาเฮอริ่งแดงในเรื่องทั้งหมดนี้
Pacerier

ทำงานให้ฉันแม้หลังจากกรอก DNS ใน cmd และทำคำตอบที่ได้รับการยอมรับ
Rob Scott

1
ไม่ทำงานอีกต่อไป
Hippyjim

53

"นำทางไปยัง chrome: // net-internals / # dns" ไม่ทำงานในเบราว์เซอร์ Google Chrome อย่างน้อยในระบบของฉัน ดูเหมือนว่าโซลูชันนี้อาจใช้งานได้กับ Google Chrome OS แต่ไม่ใช่เบราว์เซอร์ Google Chrome ที่พูดมากกว่าปกติ สำหรับฉันลิงก์เปลี่ยนเส้นทางที่นี่:
โครงการ Chromium

ดูเหมือนว่า "Empty the Cache" เป็นทางออกที่ดีกว่า โปรดทราบด้วยว่าเบราว์เซอร์ของฉันบอกว่า "การตั้งค่า" มากกว่า "ตัวเลือก"

ทางhttp://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=th

"ไปที่เครื่องมือ -> ตัวเลือก -> ภายใต้ประทุน -> ล้างข้อมูลการท่องเว็บและตรวจสอบ 'ล้างแคช' และคลิกที่ข้อมูลการท่องเว็บที่ชัดเจนใช่ใช่ฉันรู้ไม่ใช่แคช DNS ที่ฉันคาดหวังว่าจะล้าง แต่มันก็ดูเหมือนจะดีและตอนนี้ก็ใช้ได้สำหรับฉันแล้ว "


4
ยืนยันว่าใช้งานได้สำหรับฉันล้างข้อมูลการท่องเว็บ -> ล้างแคช ไม่มีวิธีการอื่นทำงาน ขอบคุณ PJ
อากาศ

สิ่งนี้ใช้ได้กับฉันทั้งบนโครเมียมและโครเมียมเมื่อ /etc/resolver/foo.com ถูกเพิกเฉย
chovy

ดูเหมือนว่า Google จะทำการเปลี่ยนชื่อ URL ภายในบางส่วนเป็นรุ่นต่างๆ ในฐานะของรุ่น 27.0.1421.0 (184274) ...
DocSalvager

อย่างน้อยการล้างภาพและไฟล์แคชไม่ได้ผลสำหรับฉัน (Chromium 33 บน Ubuntu) หลังจากเปิด OpenVPN แล้วจึงเปลี่ยนเซิร์ฟเวอร์ DNS ที่ใช้งานอยู่ของฉัน ( ล้างแคชโฮสต์เหมือนในคำตอบที่ได้รับความนิยมก็ใช้งานไม่ได้) จนถึงตอนนี้ฉันยังไม่พบอะไรเลยยกเว้นการรีสตาร์ทเบราว์เซอร์หรือป้อนที่อยู่ IP ใน URL
Jesse Glick

3
การล้างภาพและไฟล์ที่แคชไว้นั้นเหมาะกับฉัน! เบาะแสไม่มีเหตุผล แต่มันก็ทำ Windows 8.1, Chrome 41.0.2272.89 m
Bing

43

การคลิก "ล้างโฮสต์แคช" chrome://net-internals/#dnsควรทำเพื่อ Google Chrome แต่มีแคช DNS อื่น ๆ ที่ควรพิจารณาในเครื่องของคุณ

ของ windows:

ipconfig /flushdns

OS X pre-10.7 (ก่อนหน้า Lion):

sudo dscacheutil -flushcache

OS X 10.7–10.9 (Lion, Mountain Lion, Mavericks):

sudo killall -HUP mDNSResponder

OS X 10.10+ (โยเซมิตี):

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (El Capitan, Sierra):

sudo killall -HUP mDNSResponder

เราเตอร์ของคุณอาจแคช DNS เช่นกัน (รีสตาร์ทหรืออ่านคู่มือ) การทดสอบขั้นสุดท้ายคือการใช้digแต่จะใช้โฮสต์ DNS ของเครือข่ายของคุณไม่ใช่เซิร์ฟเวอร์ที่เชื่อถือได้โดยค่าเริ่มต้น:

dig superuser.com

หากต้องการสอบถามจากแหล่งที่มาให้ลองทำดังนี้:

dig superuser.com @ns1.serverfault.com

1
"sudo discoveryutil mdnsflushcache" ไม่ได้ทำงานกับ El Capitan (10.11) สำหรับฉัน แต่ "sudo killall -HUP mDNSResponder" ทำใช่ไหมมันบอกว่าการค้นพบไม่มีอยู่บางทีอาจเป็น Sierra and up?
Ezra

20

ใน OS X 10.9.1 w / Chrome 32 ฉันจำเป็นต้องล้างแคชโฮสต์และล้างซ็อกเก็ตพูลเพื่อให้ Chrome รีเฟรชแคช DNS:

  1. ไปที่chrome: // net-internals / # dnsแล้วคลิก"Clear Host Cache"
  2. นำทางไปยังchrome: // net-internals / # socketsอับคลิก"Flush Socket Pools"

ฉันต้องการมันใน Windows 8.1 ด้วยดังนั้นมันจึงไม่ใช่แค่ OS X
benrick

Chrome สำหรับลินุกซ์ยังจำเป็นต้องใช้มันchrome://net-internals/#sockets
pengemizt

Chrome สำหรับ Linux ต้องการเพียงแค่ช่องเสียบซ็อกเก็ต ไม่มี DNS flush superuser.com/a/611712/30982
Elijah Lynn

18

สิ่งนี้ใช้ได้กับฉัน: ล้างข้อมูลและล้างแคชดิสก์

ใน Chrome ให้คลิกที่ไอคอนประแจและจากนั้นตัวเลือก ไปที่แท็บUnder the Hood คลิกที่เรียกดูข้อมูลที่ชัดเจนปุ่มภายใต้ความเป็นส่วนตัวส่วน เลือกเพียง "ลบแคช" กล่องกาเครื่องหมายและจากนั้นคลิกที่ข้อมูลการท่องเว็บล้างปุ่ม

สิ่งนี้ใช้ได้ทันที - ฉันไม่ต้องปิดเบราว์เซอร์ด้วยซ้ำ


1
ดูเหมือนว่าจะเป็นการบังคับให้ Chrome รับรู้การเปลี่ยนแปลงในไฟล์โฮสต์
minamhere

สิ่งนี้ใช้ได้กับฉันใน Mac Chrome หลังจากได้ลองใช้chrome://net-internals/#dnsกลอุบายที่กล่าวถึงที่นี่โดยไม่สำเร็จ
Markus Amalthea Magnuson

12

เท่าที่ฉันสามารถหาได้ใน Chrome รุ่นล่าสุด (ฉันใช้งานได้ 26.0.1410.43) ไม่มีวิธีใดที่เชื่อถือได้อย่างน้อยบน Mac ไม่มีข้อเสนอแนะในหน้านี้สำหรับฉัน

สถานการณ์ของฉันคือฉันได้เพิ่มรายการไฟล์โฮสต์แต่ Chrome ยังคงไปยังที่อยู่ IP ที่ส่งคืนโดย DNS Firefox ทำงานอย่างถูกต้อง

ในความเป็นจริงchrome://net-internals/#dnsหน้าเว็บกำลังโกหกเกี่ยวกับที่อยู่ IP สำหรับฉัน มันแสดง IP จากรายการโฮสต์ แต่ไม่ชัดเจนว่าเป็นที่รับไซต์จากที่ใด


2
ปัญหาเดียวกันที่นี่ ฉันได้ลองล้างแคชล้างแคช DNS ภายใน ipconfig flush DNS และยังคงโหลดเว็บไซต์ท้องถิ่นจากโดเมนสด หากฉันเปิดใน "ไม่ระบุตัวตน" ใช้งานได้หรือใน Firefox ทำงานได้ แต่ Chrome ปกติปฏิเสธที่จะรีเซ็ต DNS
andrewtweber

9

ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันก็รู้สึกรำคาญกับข้อร้องเรียนอื่น ๆ : แม้หลังจากล้างแคชแล้วก็ยังสามารถใช้เวลาหนึ่งหรือสองนาทีเพื่อให้การเปลี่ยนแปลง DNS ใหม่เริ่มขึ้น

มีวิธีไม่กี่รอบ หลังจากล้างแคช DNS ผ่าน chrome: // net-internals / # dns (หรือใช้ส่วนขยายที่ได้ผลลัพธ์เหมือนกัน):

  1. เปิดหน้าต่างที่ไม่ระบุตัวตนและการแมป DNS ใหม่สำหรับโดเมนจะมีผลทันที

  2. ล้างแคชเบราว์เซอร์ นี่เป็นเรื่องยุ่งยากหากคุณใช้เบราว์เซอร์ของคุณเพื่อเรียกดูตามปกติ คุณสามารถเรียกใช้อินสแตนซ์แยกต่างหากของเบราว์เซอร์ในฐานะผู้ใช้รายอื่นและการล้างแคชในบัญชีนั้นจะไม่รบกวนการเรียกดูแคชปกติของคุณ ฉันไม่ได้ลอง แต่มันก็ใช้ได้

  3. กด CTRL + F5 ฉันต้องกด CTRL + F5 ค้างไว้ประมาณหนึ่งวินาทีซึ่งโหลดหน้าต่อเนื่องสองสามครั้ง นี่เป็นพฤติกรรมที่แปลก แต่ก็ใช้งานได้และก็มีประสิทธิภาพเช่นกัน นี่เป็นวิธีที่ฉันชอบ

โดยหลักการแล้วควรมีปลั๊กอินที่สามารถกำจัด DNS และแคช (โดยเฉพาะอย่างยิ่งแคชเอกสารและไม่ใช่แคชคุกกี้) แต่ฉันยังไม่พบการเรียงลำดับใด ๆ

อัปเดต: บน OSX แอปพลิเคชั่น Gas Mask นั้นยอดเยี่ยมสำหรับการสลับระหว่างไฟล์โฮสต์และการแก้ไขปัญหา # 2 มันมีประสิทธิภาพมาก


1
การรีเฟรชจะไม่ช่วยหนึ่งบิต ซ็อกเก็ต TCP ที่ใช้งานจะยังคงใช้งานอยู่ คุณจะรอมันออก (1-2 นาที) หรือด้วยตนเองล้างพวกเขา
Pacerier

6

Chrome_Hosts_Flush_Util :

เป็นการแก้ไขปัญหาที่ Chrome ไม่สามารถใช้โฮสต์ที่ถูกต้องหลังจากแก้ไขไฟล์โฮสต์เนื่องจาก Chrome ใช้ซ็อกเก็ตพูล

Chrome รักษาการเชื่อมต่อที่ยาวนานในกลุ่มการเชื่อมต่อเพื่อเร่งความเร็ว เมื่อ Chrome พบว่าคำขอสามารถนำการเชื่อมต่อกลับมาใช้ใหม่ได้ในกลุ่มการเชื่อมต่อคำขอนั้นจะไม่ผ่าน DNS อีกครั้งดังนั้นเราจึงรับรู้ว่า Chrome จะไม่ตอบสนองต่อการเปลี่ยนแปลงของโฮสต์ทันที

Chrome ได้ให้อินเทอร์เฟซสำหรับล้างการเชื่อมต่อในแท็บ chrome: // net-internals / # sockets แต่ฉันคิดว่ามันน่ารำคาญที่ฉันต้องไปที่แท็บก่อนและคลิกปุ่มเล็ก ๆ ที่มีแทร็คแพด

ฉันพบว่าเมื่อคลิกปุ่มล้างซ็อกเก็ตซ็อกเก็ต Chrome จะเรียกใช้สองวิธี JavaScript

g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);

ดังนั้นฉันจึงสรุปวิธีการทั้งสองนี้ไว้ในสคริปต์ AppleScript ซึ่งสามารถแปลงเป็นแอปพลิเคชัน OS X หรือเวิร์กโฟลว์ Alfred ซึ่งทั้งสองสามารถเรียกใช้ได้อย่างง่ายดาย


สวัสดี Boreas320 คุณสามารถให้สรุปว่าลิงก์ของคุณมีอะไรบ้างในคำตอบของคุณในกรณีที่มันล้าสมัย? คำตอบที่เป็นเพียง / ส่วนใหญ่ลิงก์จะหมดกำลังใจเนื่องจากอาจค้างได้
bertieb

Up! ความคิดที่ยอดเยี่ยม! ขอบคุณ! อย่างไรก็ตามมันไม่ได้ผลสำหรับฉันจนกว่าฉันจะแทนที่จาวาสคริปต์ด้วย document.getElementById ('ปุ่มซ็อกเก็ต - ดู - ฟลัช -') คลิก ();
i_a

5

ฉันพยายามที่จะล้างแคช DNS ในหลาย ๆ ด้าน แต่ไม่มีอะไรที่เหมาะกับฉัน ในตอนที่แล้วผมวางแผนที่จะเปลี่ยนรายการ DNS ของฉัน เคล็ดลับนี้จะทำงานสำหรับทุกคนที่เข้าถึงอินเทอร์เน็ตผ่านการเชื่อมต่อ LAN ความเร็วสูง

ในการเชื่อมต่อ LAN โดยทั่วไปผู้ใช้จะได้รับที่อยู่ DNS สองที่ อันแรกเป็นที่อยู่หลักและที่อยู่อื่นเป็นที่อยู่สำรอง สิ่งที่ฉันทำคือฉันเพิ่งเปลี่ยนที่อยู่สำรองเป็นที่อยู่หลักและในทางกลับกัน มันใช้งานได้สำหรับฉันทันที

ฉันเก็บที่อยู่ DNS สำรองไว้เป็นที่อยู่หลักเป็นเวลาสองวัน ปัญหาแก้ไขได้เองและต่อมาฉันกลับเข้าสู่รายการ DNS เก่าอีกครั้ง


5

กระบวนการทั้งหมด:

สร้างเว็บไซต์ใน IIS (windows 8), ตั้งค่าส่วนหัวของโฮสต์

พยายามกดปุ่มโฮสต์โดยไม่มีไฟล์โฮสต์ให้มั่นใจว่าใช้ http: // ดังนั้นจึงไม่เพียง แต่ทำการค้นหาโดย Google การแก้ไขล้มเหลวในโครเมี่ยม "รุ่น 32.0.1700.76 m"

เพิ่มโฮสต์ไปยังไฟล์โฮสต์เป็น 127.0.0.1 ตอนนี้สามารถเข้าชมได้ในโครเมี่ยม

ลบออกจากไฟล์โฮสต์และเรียกใช้ ipconfig / flushdns, chrome ยังคงแสดงเว็บไซต์!

ไม่ต้องทำอะไรนอกจาก CTRL + F5 และตอนนี้การแก้ไขไซต์ล้มเหลวใน Chrome

ด้วยจำนวนคำตอบที่แตกต่างกันที่นี่ฉันสงสัยว่าเราทุกคนมีกรณีการใช้งานที่แตกต่างกันเล็กน้อย


4

สำหรับฉันการเรียกดูแบบส่วนตัวได้หลอกลวง (หน้าต่างที่ไม่ระบุตัวตนใหม่ / หน้าต่างส่วนตัว)


สวัสดี Bart ยินดีต้อนรับสู่ Superuser! น่าเสียดายที่คำถามนี้เกี่ยวกับ Chrome เวอร์ชันคอมพิวเตอร์ไม่ใช่เวอร์ชันสำหรับมือถือ ฉันขอแนะนำให้แก้ไขคำตอบของคุณเพื่อให้สอดคล้องกับเวอร์ชันเดสก์ท็อป ขอบคุณ
ลุคชาวแคนาดา

2

ลองDNS Flusherสำหรับ Chrome โปรดทราบว่าในการใช้งานจะต้องมีการตั้งค่าสถานะบรรทัดคำสั่ง--enable-benchmarkingเมื่อคุณเริ่มเบราว์เซอร์ Chrome


ไม่มีส่วนขยายอีกต่อไป
jmgarnier

2

นำทางไปยัง chrome: // net-internals / # dns และกดปุ่ม "ล้างโฮสต์แคช" ตอบแล้วคุณอาจต้องใช้คำสั่ง dscacheutil -flushcache ใน OS X เพื่อล้างแคช DNS ทั้งระบบ ipconfig / flushdns ในพรอมต์คำสั่งของ windows


2

สำหรับ Mac OS X ไม่มีวิธีการใดที่กล่าวถึงข้างต้นสำหรับฉัน วิธีการดังต่อไปนี้ทำ:

คลิกเมนู Chrome> การตั้งค่า> คลิกลิงก์show advanced settingsที่ด้านล่างของหน้า> คลิกที่clear browsing dataปุ่มในprivacyส่วน> เลือกเท่านั้นcached images and filesและdownload history(อาจจะไม่จำเป็นต้องใช้ในภายหลัง แต่ไม่เจ็บอย่างใดอย่างหนึ่ง)> clear browsing dataปุ่มคลิก


1

สำหรับผู้ใช้ iPhone เทคนิคเหล่านี้ทำงานได้อย่างมีประสิทธิภาพ ฉันต้องทำการทดสอบเว็บไซต์และฉันต้องการแทนที่เซิร์ฟเวอร์ DNS ปกติและใช้เซิร์ฟเวอร์ DNS ของตัวเองกับรายการ DNS ที่ยังไม่เปิดเผยต่อสาธารณะ

ฉันแทนที่รายการ DNS ในการตั้งค่า wifi บน iPhone 6 Plus ของฉันไปยังเซิร์ฟเวอร์ DNS ที่กำหนดเอง นั่นดีพอสำหรับ Safari และ Browser ที่สมบูรณ์แบบ แต่ Chrome ดูเหมือนจะเพิกเฉยและมีรายการ DNS ของตัวเอง ฉันไม่สามารถทราบได้ว่ามาจากไหน

ฉันทำสิ่งที่พวกเขาอธิบายไว้ข้างต้น

  1. ไปที่ chrome: // net-internals / # dns แล้วคลิก "Clear Host Cache"
  2. นำทางไปยัง chrome: // net-internals / # sockets อับคลิก "Flush Socket Pools"

และฉันก็ต้องใช้แท็บ InCognito ตามที่กล่าวไว้ข้างต้น

Chrome เท่านั้นจึงใช้รายการ DNS ที่กำหนดเองของฉัน

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