Webブラウザがどのように機能するかについて考えたことはありますか? WebブラウザのアドレスバーにURL(またはドメイン名)を入力すると、URLが取得され、ドメインネームシステムに送信されて、WebサーバーのIPアドレスが解読されます。 ブラウザが詳細を取得すると、Webサーバーに接続して、要求されたWebサイトをロードします。 ドメインネームシステムとは何か、そしてそれがどのように機能するかについて詳しく知りたい場合は、他の投稿「DNSキャッシュとは何ですか?」でそれについて読むことができます。
これで、ネットワークの問題が発生する場合があります。たとえば、正しいURLを入力していても、読み込まれるWebサイトが異なる場合や、「DNSサーバーが応答していません」エラーと同様のエラーが発生する場合があります。 これらの問題が発生してもそれほど大きな障害にはならない場合がありますが、エラーがローカルDNSに関係していることがわかっている場合は、DNSキャッシュの内容を表示する方法を知っていると命を救うことができます。
UbuntuでDNSキャッシュの内容を確認する方法
Fedora33とUbuntu20.10以降、多くのLinuxディストリビューションは、インターネットの他の多くの必要な操作とともにDNSを処理するために「システム解決」に切り替えました。 しばらく前から存在していましたが、多くのディストリビューションは切り替えをためらっていました。
systemdは、DNSに関連するタスクを実行するための要件を十分に処理できますが、DNSキャッシュのエントリを表示する簡単な方法はありません。 開始するには、サービスにkillシグナルを送信する必要があります。 心配しないでください。サービスを完全に強制終了するわけではありませんが、キャッシュの現在のエントリをシステムログに書き込みます。 killコマンドは次のとおりです。
$sudo killall -USR2 systemd-resolved
ご覧のとおり、アカウントのsudoパスワードを覚えておく必要があります。 パスワードを入力すると、プロンプトが返され、即座に応答が返されます。
次に、これらのコマンドをシステムログからテキストファイルにエクスポートする必要があります。 このコマンドを使用して、この目標を達成できます。
$sudo journalctl -u system-resolved > ~/dns-cache.txt
上記のコマンドは、同じ名前のファイル、つまり「dns-cache.txt」をホームディレクトリに作成します。 ファイルの名前は好きなように変更できます。 DNSキャッシュにあるエントリの数に応じて、このコマンドには2〜30秒かかる場合があります。
テキストエディタでファイルを表示する
このテキストファイルを直接開いて、ファイルをダブルクリックすると、DNSキャッシュ内のエントリを表示できます。
DNSキャッシュのすべてのエントリを表示し、必要に応じてファイルを簡単に編集できます。
ターミナルからファイルを表示する
ターミナルで次のように入力して、ターミナルでファイルを開きます。
$less ~/dns-cache.txt
WindowsでDNSキャッシュの内容を確認する方法
WindowsでローカルDNSキャッシュの内容を確認する方法はいくつかあります。 簡単に使用できる上位2つの方法を見てみましょう。
コマンドプロンプトから
これはかなりシンプルで覚えやすいです。 コマンドプロンプトを開いて、次のように入力します。
“ipconfig /displaydns”
このコマンドでEnterキーを押すと、次のような結果が得られます。
この出力をさらに細かく分けてみましょう。 「レコード名」は、ブラウザがDNSサーバーとそのレコードを照会するために使用する名前です。 「レコードタイプ」とは、DNSプロトコルに対応するエントリのタイプを指します。 「存続時間」またはTTLは、エントリが有効である期間を秒単位で示します。 データ長はエントリの長さをバイト単位で表し、IPv4アドレスは4バイト、IPv6アドレスは16バイトです。 「セクション」は、クエリに対する回答を保持します。
最後になりましたが、「A(ホスト)レコード」は、ブラウザのURLに対応するIPアドレスです。
レコードのエクスポート
コマンドプロンプトで「ipconfig/displaydns> dnscacheoutput.txt」と入力すると、このクエリの結果をエクスポートできます。
このコマンドでは、「dnscacheoutput」を任意の名前に置き換えることができます。
このコマンドを実行すると、現在のディレクトリにDNSキャッシュのすべての内容を含むファイルが作成されます。
PowerShellを介して
説明したように、WindowsPowerShellを使用してローカルDNSキャッシュの内容を表示することもできます。 管理者権限でWindowsPowerShellを開き、この「Get-DnsClientCache」と入力します。 すべてのエントリが表形式で一覧表示されます。
結論
チュートリアルを段階的に実行した場合は、WindowsおよびUbuntu20.04でローカルDNSキャッシュの内容を表示する方法を理解できました。 UbuntuではWindowsに比べてプロセスは簡単ではありませんが、フローを理解して3つのコマンドを実行する必要があります。 これらのコマンドで問題が発生した場合、またはDNSキャッシュとそのエントリについて詳しく知りたい場合は、下にコメントをお寄せください。喜んでサポートさせていただきます。
Karim Buzdarは、電気通信工学の学位を取得しており、CCNA RS、SCP、ACEなどのいくつかのシステム管理者認定を取得しています。 ITエンジニアおよびテクニカルライターとして、彼はさまざまなWebサイトに書き込みを行っています。
The post UbuntuとWindowsでDNSキャッシュの内容を表示する方法– LinuxWays appeared first on Gamingsym Japan.