روزمرگی فنی
روزمرگی فنی
خواندن ۲ دقیقه·۳ سال پیش

کش DNS چیست؟ و چرا و چطور پاک کنیم؟

همیشه یک وب سایت بعد از اولین بازدید سریع‌تر پیدا و لود می‌شود. چرا؟ به این خاطر که سیستم عامل یا مرورگر بازدیدکننده، آدرس آی‌پی و اطلاعات DNS آن سایت را کش می‌کند. DNS یا همان «سیستم نام دامنه» کارش اینست که نام یک دامنه را به آدرس عددی مختص آن دامنه ترجمه می‌کند (مثلا example.com به 196.150.144.202). منتها این پروسه یک‌ضرب نیست و از چند مرحله عبور می‌کند و هر مرحله هم زمان می‌گیرد: یعنی درخواست کاربر به Resolver می‌رود، از آنجا به Root Server و نهایتا به سرور TLD و در این فاصله بازدیدکننده باید منتظر پاسخ بشود. در عوض کش DNS این پروسه را تسریع می‌کند.

و اما چه مواردی در کش DNS ثبت می‌شود؟

کش DNS مثل دفترچه یادداشتی است که در آن اطلاعات DNS هر وب سایتی را که سر بزنید ذخیره می‌کند. از جمله:

اول، hostname و آی‌پی آدرس سایت

دوم، نام دامنه (domain name)

سوم، نوع رکورد (IPv4 یا IPv6)

چهارم، مدت زمان اعتبار کش (TTL)

وقتی TTL منقضی می‌شود، خودبخود کش هم پاک و DNS تخلیه یا فلاش خواهد شد. منها اگر نخواهید چندین ساعت یا روز برای انقضای TTL منتظر بشوید، می‌توانید به صورت دستی کش DNS خود تخلیه کنید.

تخلیه یا فلاش کردن DNS چه کاربرد و مزیتی دارد؟

اول اینکه می‌توانید رفتار و الگوی جستجوی خودتان را جمع‌کنندگان داده پنهان کنید (مثلا بر مبنای ثبت الگو و سوابق جستجوهای شماست که تبلیغات مرتبطی در سایت‌ها به شما نشان داده می‌شوند).

دوم نسخه بروزشده یک وب سایت یا اپ نمایش داده می‌شود و در آخر اینکه می‌توان از DNS spoofing جلوگیری کرد (حالتی که در آن هکرها با دسترسی به کش DNS شما و دستکاری آن، ترافیک شما را از یک وب سایت واقعی به وب سایت آلوده هدایت و اطلاعات حساس را به سرقت می‌برند).

نحوه تخلیه کش DNS

اگر از سیستم عامل ویندوز استفاده می‌کنید، رکورد DNS در سیستم عامل ثبت می‌شود که برای مشاهده آن خیلی ساده می‌توانید از دستور ipconfig /displaydns در CMD و در عوض برای پاکسازی‌اش از دستور زیر استفاده کنید:

ipconfig /flushdns

چنانچه از مک استفاده می‌کنید، باید ترمینال (Terminal) را باز و دستور زیر را وارد کنید (بعد از انجام کار، برخلاف ویندوز پیام موفقیت به شما داده نمی‌شود و صرفا به خط بعدی خواهید رفت):

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder

پاکسازی کش DNS در مرورگر گوگل کروم

مضاف بر سیستم عامل، مرورگر گوگل کروم هم خودش یک نسخه داخلی از کش DNS را نگه می‌دارد که برای تخلیه‌اش باید مسیر زیر را در نوار آدرس وارد کنید و enter را بزنید:

chrome://net-internals/#dns

وندا نوژن

کش dnsپاکسازی کش dnsdns spoofing
روزها درگیر مصائب فنی، شب‌ها مشغول ثبت راه‌حل‌های یافتنی
شاید از این پست‌ها خوشتان بیاید