چگونه Dns Cache را پاک کنیم؟

DNS Cache در واقع IP سایت های که ما آن ها را مرور کردیم در کامپیوتر ما ذخیره می کند تا در مرور بعدی نیاز به فراخوانی مجدد آن از DNS Resolver نباشد. در این مقاله قصد داریم مشکلات ذخیره آدرس در کش dns را بررسی کنیم و نحوه خالی کردن آن را مرور کنیم.


 پاک کردن حافظه پنهان DNS از حریم خصوصی محافظت نموده و  به شما کمک می‌کند تا خطاهای HTTP را حل و از DNS spoofing جلوگیری کنید.
 

کش DNS چیست؟

حافظه نهان DNS (Domain Name System) رکوردی است از تمام کوئری‌هایی که از مرورگر شما به  DNS Server انجام می‌شود. هنگامی که یک URL را در مرورگر خود وارد می کنید، مرورگر شما درخواستی را به سرور DNS ارسال می کند و  آی ‌پی آدرس URL را می خواهد. پس از اینکه مرورگر آدرس IP را دریافت کرد، می تواند وب سایت درست  را در پنجره مرورگر لود کند.

وقتی برای بار دوم سعی می کنید به وب سایت دسترسی پیدا کنید چه اتفاقی می افتد؟ آیا مرورگر باید یک درخواست کاملا جدید به سرور DNS ارسال کند؟

خیر. به‌طور پیش‌فرض، اکثر سیستم‌عامل‌ها آدرس‌های IP و دیگر رکوردهای DNS  را به منظور انجام سریع‌تر درخواست‌های آتی ذخیره می‌کنند. این کش DNS است. کش DNS از درخواست جدید مرورگرها جلوگیری می‌کند تا درعوض از اطلاعات ذخیره شده برای بارگذاری وب سایت استفاده نماید. این امر زمان پاسخگویی سرور را کاهش داده  و باعث می شود سایت سریعتر لود شود.

 

آشنایی با رکوردهای DNS و وظایف آنها
بدون DNS و دامنه، تجربه ما از مرور وب کاملا متفاوت خواهد بود. به‌عنوان کاربر، باید آدرس‌های IP وب‌سایت‌هایی را که می‌خواهیم بازدید کنیم، به خاطر بسپاریم که اصلا تجربه کاربری خوشایندی به نظر نمی‌رسد.در این مطلب به معرفی رکوردهای DNS و وظایفی که هر کدام از آنها بر عهده دارند خواهیم پرداخت.

flush DNS چه کار می‌کند؟

Flushing DNS هر آدرس IP یا سایر رکوردهای DNS را از کش پاک می کند که می تواند به حل مشکلات امنیتی، اتصال به اینترنت و سایر مشکلات کمک کند.

به عنوان مثال، وقتی برای اولین بار https://parsdev.com را در نوار آدرس مرورگر خود تایپ می‌کنم، مرورگر باید از سرورهای DNS بپرسد که سایت را کجا پیدا کنند. هنگامی که این اطلاعات را داشته باشد، مرورگر می تواند آن را در لوکال کش خود ذخیره کند. دفعه بعد که آدرس وب سایت را تایپ می‌کنم، مرورگر ابتدا اطلاعات DNS خود را در local cache جستجو می کند و می تواند سایت را سریعتر پیدا کند.

مشکل این است که گاهی اوقات آی‌پی آدرس‌های خطرناک یا نتایج خراب می توانند در حافظه پنهان ذخیره شوند که باید حذف شوند. کش DNS همچنین می تواند بر توانایی شما برای اتصال به اینترنت تأثیر بگذارد یا مشکلات دیگری ایجاد کند. به هر حال، همه سیستم‌عامل‌های اصلی به شما این امکان را می‌دهند که فرآیند پاک کردن کش  یا  flushing DNS را  انجام دهید.

دانستن این نکته مهم است که کش DNS هر از گاهی بدون دخالت شما پاک می شود. به این دلیل است که حافظه پنهان DNS  علاوه بر ذخیره تمام اطلاعات مربوط به شناسایی و یافتن یک وب سایت، مؤلفه ای به نام TTL یا زمان زندگی را ذخیره می کند.

آشنایی با TTL در DNS

TTL یک دوره زمانی (بر حسب ثانیه) را مشخص می کند که در آن رکورد DNS برای یک سایت معتبر باقی می ماند. در این بازه زمانی، هر درخواستی به وب سایت از لوکال کش بدون کمک DNS Server پاسخ داده می‌شود. پس از انقضای TTL، از کش حذف خواهد شد.

با این حال، دلایلی وجود دارد که ممکن است نیاز داشته باشید به جای اینکه منتظر بمانید تا TTL تمام ورودی‌ها منقضی شود، کش  DNS را پاک کنید. بیایید نگاهی به چرایی آن در زیر بیاندازیم.


چرا کش DNS را پاک می کنید؟

چند دلیل وجود دارد که ممکن است لازم باشد کش DNS را پاک کنیم. این دلایل ممکن است مربوط به امنیت، مشکلات فنی یا حریم خصوصی داده‌ها باشد. اجازه دهید به طور خلاصه به هر یک بپردازیم:

 

  1. جلوگیری از DNS spoofing

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

آشنایی با DNS spoofing

  1. خطای 404 را مشاهده می‌کنید

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

  1. برای دسترسی به یک وب سایت مشکل دارید.

اگر در لود  وب‌سایت مشکل دارید، ابتدا باید مراحل دیگری را امتحان کنید، مانند پاک کردن فایل‌های کش و  کوکی‌های مرورگر و تنظیم تنظیمات مرورگر برای خاموش کردن pop-up blockers و اجازه دادن به سایت‌ها برای ذخیره و خواندن کوکی‌ها. اما اگر باز هم نشد ، می‌توانید کش DNS را پاک کنید و درخواست جدیدی به سرور ارسال کنید.

  1. شما می خواهید رفتار جستجوی خود را خصوصی نگه دارید

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

اکنون که فهمیدیم پاک کردن کش DNS به چه معناست و چرا می خواهید، بیایید نحوه انجام آن را در زیر توضیح دهیم.

چگونه کش مرورگر خود را پاک کنیم ؟
اگر تغییراتی در سایت خود اعمال کرده اید و پس از لود شدن سایت در مرورگر آنها را مشاهده نمیکنید ، ممکن است نیاز به پاک کردن کش مرورگر و لود مجدد سایت داشته باشید.

 

آموزش پاک کردن DNS Cache


آموزش پاک کردن کش DNS در سیستم عامل ویندوز : 

  1. Command Prompt (Cmd) را باز کنید.
  2. عبارت ipconfig /flushdns را تایپ کنید و Enter بزنید.
  3. در انتها پس از پاکسازی پیام Successfully flushed the DNS Resolver Cache را دریافت خواهید کرد.

آموزش خالی کردن DNS cache روی ویندوز

آموزش پاک کردن کش DNS در سیستم عامل Mac OSX :

بدون توجه به نسخه نرم افزاری که در حال اجرا است، فرآیند پاک کردن کش DNS در کامپیوتر Mac مشابه است. اما باید بدانید چه نسخه‌ای برای مرحله 6 وجود دارد زیرا خط فرمان متفاوت است.

  1. Finder را باز کنید.
  2. روی Applications کلیک کنید.
  3. به پوشه Utilities بروید و روی آن کلیک کنید.
  4. ترمینال را باز کنید.
  5. برای باز کردن ترمینال، می‌توانید به سادگی Launchpad را باز کرده و در نوار جستجو عبارت Terminal را تایپ کنید.

باز شدن ترمینال در سیستم عامل مک برای پاک کردن DNS

  1. در پنجره ترمینال، یکی از دستورات زیر را بر اساس نسخه نرم افزار خود تایپ کنید:
  • Ventura & Monterey:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

  • Lion، Mountain Lion، Mavericks، El Capitan، Sierra، High Sierra، Mojave:

sudo killall -HUP mDNSResponder

  • Yosemite

sudo discoveryutil mdnsflushcache

  • Tiger:

lookupd -flushcache

پاک کردن کش DNS در مک

7. رمز عبور خود را وارد کرده و دوباره Enter را فشار دهید.
8. باید پیامی را مشاهده کنید که تأیید می کند کش DNS بازنشانی شده است.

آموزش پاک کردن کش DNS در سیستم عامل لینوکس :

برخلاف کامپیوتر‌های ویندوز و مک، سیستم‌های لینوکس به طور پیش‌فرض دارای کش DNS نیستند. با این حال، هر توزیع ممکن است از یک سرویس DNS متفاوت برای ذخیره رکوردهای DNS به صورت لوکال استفاده کند. بسته به نوع سرویس، می توانید کش را پاک کنید یا سرویس را مجددا راه اندازی کنید.

  1.  Ctrl+Alt+T را روی صفحه کلید خود فشار دهید تا یک پنجره ترمینال راه اندازی شود.

پاک کردن کش DNS در لینوکس

  1. در پنجره Terminal یکی از دستورات زیر را بر اساس سرویسی که سیستم لینوکس شما در حال اجرا است تایپ کنید.

 

  • NCSD:

sudo /etc/init.d/nscd restart

  • Dnsmasq:

sudo /etc/init.d/dnsmasq restart

  • BIND: You may have to try multiple commands:

 sudo /etc/init.d/named restart
sudo rndc restart
sudo rndc exec

  1. ممکن است از شما خواسته شود رمز عبور خود را وارد کنید.
  2. ممکن است سرویس متوقف شده و قبل از ارسال پیام تأیید مبنی بر اینکه کش با موفقیت بازنشانی شده، دوباره شروع به کار کند.

 

پاکسازی کش DNS

دلایل زیادی برای پاکسازی منظم کش DNS وجود دارد. می‌تواند به جلوگیری از حملات فیشینگ یا سایر حملات کمک کند، کاربر را به به‌روزترین نسخه‌های سایت‌های پربازدید هدایت کند، اتصال اینترنت را بازیابی کند و داده‌ها را خصوصی نگه دارد.

بهترین بخش ماجر اینجاست که فرآیند پاکسازی چقدر آسان است. پیروی از مراحل بالا می تواند به شما کمک کند تا بدون توجه به سیستم عامل کامپیوتر، کش DNS را سریع و آسان پاک نمائید.