コンピュータのメンテナンス
 Computer >> コンピューター >  >> トラブルシューティング >> コンピュータのメンテナンス

MacでDNSキャッシュをフラッシュ(クリア)する方法|macOSバージョン別コマンド解説

インターネットを利用する人なら誰でも、何らかのデジタルフットプリント(足跡)を残しています。CookieやJavaScriptは、Webサイト訪問者の行動を追跡するためによく使われています。

しかし、オペレーティングシステム自体も、あなたの閲覧活動に関する情報を保存していることをご存知でしょうか?これは「DNSキャッシュ」と呼ばれるもので、トラブルを防ぐために定期的にクリアすることが推奨されています。

この記事では、DNSキャッシュとは何か、なぜコンピュータがそれを保存するのか、そしてMacでDNSキャッシュをフラッシュ(消去)する方法について詳しく解説します。

DNSキャッシュとは?

DNSサーバーは、www.abc.comのようなドメイン名を、コンピュータシステムが処理できる数値形式のWebアドレスに変換します。通常、ブラウザはWebアドレスにアクセスするたびにDNSサーバーへ問い合わせを行います。URLへのアクセスが増えるほどDNSサーバーの負荷は大きくなり、「DNSサーバーが応答しません」といったDNSエラーが発生する可能性があります。

プロのヒント:パフォーマンス低下やシステムトラブルの原因となるジャンクファイル、有害なアプリ、セキュリティ上の脅威などを、Macスキャンで事前にチェックしておきましょう。

DNSサーバーの負荷を軽減し、同じWebサイトにアクセスするたびに問い合わせが発生するのを防ぐため、WindowsやmacOSなどのOSには、解決済みアドレスごとの独自キャッシュが組み込まれています。これが「DNSキャッシュ」です。DNSキャッシュには、名前解決に必要な関連情報がすべて保存されます。これにより、ブラウザは問い合わせのたびにDNSサーバーへアクセスする必要がなくなります。

DNSキャッシュには、主に以下の情報が含まれています:

  • リソースデータ(rdata) – アドレスやホスト名など、レコードの内容を示すデータ。
  • レコードタイプ – 作成されたエントリの種類。
  • レコード名 – エントリの対象となるドメイン名。
  • TTL(Time to Live) – リソースレコードの有効期間。通常は秒単位で保存されます。
  • クラス – リソースが属するプロトコルグループ。
  • リソースデータ長 – リソースデータの長さを示す値。

CatalinaでDNSキャッシュをクリアすべき理由

定期的にDNSキャッシュをフラッシュするメリットは何でしょうか?前述のとおり、DNSキャッシュを定期的にクリアすることには重要な意味があります。ただし、この処理は自動では行われません。エントリは、設定されたTTLが切れるまでキャッシュに残り続けます。つまり、ユーザー自身がフラッシュを実行する必要があり、その理由はいくつかあります。

検索履歴を隠す

ユーザーの行動監視は主にCookieやJavaScriptなどのソフトウェアによって行われますが、DNSキャッシュにも比較的重要な情報が含まれており、データ収集者にとって潜在的な標的となり得ます。保存されたアドレス一覧とキャッシュ内の追加情報をもとに、第三者があなたの閲覧履歴を分析できてしまう可能性があります。キャッシュに保存されたWebアドレスの一覧から、どのサイトを頻繁に訪れているかが分かってしまうのです。キャッシュされたアドレスが蓄積されるほど、あなた自身やあなたの活動について多くの情報が明らかになります。

セキュリティ対策

これは、DNSキャッシュを定期的にクリアすべき最も重要な理由のひとつでしょう。キャッシュに保存されたデータはWebページを高速に表示するのに役立ちますが、悪意のある者の手に渡れば極めて危険です。ハッカーがDNSキャッシュにアクセスすると、エントリを簡単に改ざんし、あなたの活動を操作できます。例えば、偽のWebサイトへリダイレクトしたり、異なる検索結果を表示させたりすることが可能です。これは「DNSポイズニング」または「DNSスプーフィング」と呼ばれる手法で、オンラインバンキングなどのログイン情報を盗む目的でよく使われます。DNSキャッシュをフラッシュすれば、サイバー犯罪者にログイン情報を盗まれる機会を与えません。

技術的な問題の解決

特定のWebサイトへのアクセスやWebアプリケーションの利用に問題がある場合、DNSキャッシュのフラッシュは基本的なトラブルシューティング手順のひとつです。例えば、古いエントリが原因で、更新前の旧バージョンのWebサイトが表示されることがあります。これは、キャッシュに保存されたドメイン名に誤った、または古いIPアドレスが紐づいている場合に起こります。DNSキャッシュをクリアすれば簡単に解決できます。こうすることで、リクエストはキャッシュではなく適切なDNSサーバーへ再度ルーティングされ、その過程でアドレス情報が更新され、Webページへの接続が復元されます。

CatalinaおよびBig SurでDNSキャッシュをフラッシュする方法

DNSキャッシュをクリアすることの重要性が分かったところで、次にCatalinaとBig SurでDNSキャッシュをフラッシュする具体的な手順を見ていきましょう。

古いバージョンのmacOSをお使いの場合は手順が少し異なるため、この方法は機能しません。少なくともCatalina以降が稼働している必要があります。

以下の手順に従ってください:

  1. Finder > 移動 > ユーティリティからターミナルを開きます。Spotlightで「ターミナル」を検索しても構いません。
  2. ターミナルウィンドウに、以下のコマンドを入力します:
    • sudo dscacheutil -flushcache
    • sudo killall -HUP mDNSResponder
  3. Enterキーを押してコマンドを実行します。
  4. 求められたら管理者パスワードを入力します。
  5. ターミナルを閉じます。

以上の手順が完了すれば、DNSキャッシュのクリアは成功です。もしDNSキャッシュのリセットやフラッシュ時に問題が発生した場合は、以下の対処法を試してみてください:

  • Macを再起動し、再起動後に再度キャッシュをクリアしてみる。
  • ファイアウォールやセキュリティソフトを一時的に無効にする。
  • Mac修復アプリを使ってジャンクファイルを整理する。
  • セーフモードで起動し、そこからDNSキャッシュのクリアを試みる。

古いmacOSでDNSキャッシュをフラッシュする方法

上記の手順はmacOS CatalinaとBig Surでのみ有効です。古いmacOSをお使いの場合は、以下の対応するコマンドを参照してください。コマンドの入力には引き続きターミナルを使用しますが、コマンドラインが少し異なります。

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

まとめ

上記のコマンドでDNSキャッシュをクリアする際、処理が成功したことを知らせるメッセージや確認画面は表示されない点に注意してください。DNSキャッシュが正しくリセットされたことが分かるのは、以前アクセスできなかったWebページにようやくアクセスできたときです。定期的なDNSキャッシュのクリアは、プライバシー保護とセキュリティ強化の両面で有効な習慣なので、ぜひ覚えておきましょう。

  1. Macのキャッシュをクリアする方法|手動・アプリ・ブラウザ別に徹底解説

    Macの動作が遅くなってきたと感じたら、キャッシュの確認をしてみるタイミングかもしれません。さまざまなタスクやアプリケーションから蓄積されたキャッシュがディスク容量を大きく圧迫し、Macの速度低下の大きな原因の一つとなります。そのため、Macのキャッシュのクリア方法を知っておくことは非常に重要です。この記事では、サードパーティ製ソフトウェアを活用してMacのキャッシュを簡単にクリーンアップする方法を中心に解説します。 キャッシュとは何か? キャッシュファイルとは、ユーザー・システム・ブラウザによって生成される一時ファイルのことです。次回同じものを使用するときに処理を高速化するため、ディスク上に

  2. ChromeのDNSキャッシュをクリアする方法|Windows・Macの手順も解説

    ウェブを閲覧するとき、私たちはCookieやキャッシュという形でデジタルフットプリント(足跡)を残しています。これらはサイト運営者がWebサイトの最適化やコンテンツのパーソナライズのために記録しているものです。しかし、Google Chromeには、アクセスしたWebサイトのIPアドレスを保存する独自のDNSキャッシュが存在することをご存じでしょうか?DNSキャッシュは、WebサイトのIPアドレスへ素早くアクセスするために利用される仕組みです。しかしこのDNSキャッシュはプライバシーの観点からリスクとなるため、定期的にクリアすることが重要です。さらに、古いキャッシュが残っているとブラウザの動作