0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在 Linux 上查看本地 DNS 緩存

馬哥Linux運(yùn)維 ? 來源:馬哥Linux運(yùn)維 ? 2023-06-26 10:52 ? 次閱讀

刷新本地 DNS 緩存可以解決 HTTP 錯(cuò)誤并保護(hù)您免受 DNS 欺騙。以下是在 Linux 上執(zhí)行此操作的方法。

當(dāng)您使用域名訪問網(wǎng)站時(shí),您的系統(tǒng)會(huì)向 DNS 服務(wù)器發(fā)送請(qǐng)求以獲取該域的 IP 地址。此域 IP 地址對(duì)保存在 DNS 緩存中供以后使用,因此您不必每次都向 DNS 服務(wù)器發(fā)送請(qǐng)求以建立連接。 但有時(shí),本地 DNS 緩存會(huì)損壞并導(dǎo)致 HTTP 錯(cuò)誤。幸運(yùn)的是,在 Linux 計(jì)算機(jī)上刷新和重建 DNS 緩存非常簡(jiǎn)單。這是如何做到的。

為什么要在 Linux 上刷新 DNS 緩存?

您可能想要重建存儲(chǔ)在系統(tǒng)上的 DNS 緩存的原因有多種。也許您有一個(gè)過時(shí)的 DNS 記錄,并希望從 DNS 服務(wù)器重新獲取它。或者,您的系統(tǒng)可能已受到威脅,并且您希望確保DNS緩存未被篡改,也稱為DNS欺騙。 當(dāng)您刷新 DNS 緩存時(shí),系統(tǒng)必須再次 ping DNS 服務(wù)器并從中獲取新的域 IP 地址記錄,從而在此過程中刪除任何過時(shí)或受損的數(shù)據(jù)。

如何在 Linux 上查看本地 DNS 緩存

在systemd之前,大多數(shù)Linux發(fā)行版都沒有系統(tǒng)范圍的DNS緩存,除非像dnsmasq或nscd這樣的程序是手動(dòng)設(shè)置的。systemd 附帶 systemd-solved,這是一項(xiàng)將域名解析為 IP 地址并緩存 DNS 條目的服務(wù)。 以下各節(jié)將指導(dǎo)您如何查看由 systemd 解析、nscd 和 dnsmasq 生成的 DNS 緩存內(nèi)容,以便您在決定刷新緩存數(shù)據(jù)之前了解緩存的數(shù)據(jù)。

查看系統(tǒng)解析的 DNS 緩存

要查看 systemd 解析的緩存記錄,您需要先暫時(shí)終止服務(wù),然后將其日志導(dǎo)出到文件中。 首先發(fā)送 SIGUSR1 信號(hào)以終止 systemd 解析的服務(wù):


linuxmi@linuxmi ~/www.linuxmi.com
 % sudo killall -USR1 systemd-resolved
[sudo] linuxmi 的密碼:
使用journalctl 命令和標(biāo)準(zhǔn)輸出運(yùn)算符將輸出保存到文本文件: 相關(guān):如何使用 journalctl 查看和分析 Systemd 日志https://www.linuxmi.com/journalctl-systemd-logs.html

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo journalctl -u systemd-resolved > ~/cache.txt
linuxmi@linuxmi ~/www.linuxmi.com
d4027828-1367-11ee-962d-dac502259ad0.png 然后,您可以使用 Vim 等文本編輯器查看文件的內(nèi)容: d43abb2a-1367-11ee-962d-dac502259ad0.png 在文件中,搜索“CACHE:”,方法是按?Escape,鍵入“/CACHE:”,然后按Enter鍵。“CACHE:”下列出的所有 DNS 記錄都是本地 DNS 緩存的一部分。如果您使用的是 Vim,請(qǐng)按n跳轉(zhuǎn)到下一組 DNS 條目。 d4532958-1367-11ee-962d-dac502259ad0.png

查看 nscd 的本地 DNS 緩存

要查看 nscd 生成的本地緩存,您需要使用 string 命令讀取 nscd 主機(jī)數(shù)據(jù)庫(kù)的內(nèi)容。 在基于 Debian 和 Ubuntu 的發(fā)行版上,此文件位于 /var/cache/nscd/hosts。運(yùn)行以下命令以查看文件:

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo strings /var/cache/nscd/hosts | uniq
d48d06aa-1367-11ee-962d-dac502259ad0.png 要查看有關(guān) nscd DNS 高速緩存的一般統(tǒng)計(jì)信息,請(qǐng)使用?-g標(biāo)志:
linuxmi@linuxmi ~/www.linuxmi.com
 % sudo nscd -g
d4ce3094-1367-11ee-962d-dac502259ad0.png

顯示由 dnsmasq 生成的 DNS 緩存

dnsmasq 將 DNS 緩存存儲(chǔ)在內(nèi)存中,因此獲取確切的記錄并不容易。但是您可以向 dnsmasq 發(fā)送終止信號(hào)并記錄其輸出以獲取處理的 DNS 查詢數(shù)。 為此,首先,使用 systemctl 命令確保 dnsmasq 已啟動(dòng)并正在運(yùn)行:

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo systemctl status dnsmasq
d4e06476-1367-11ee-962d-dac502259ad0.png如果狀態(tài)顯示“活動(dòng) Active”,請(qǐng)運(yùn)行以下命令以終止該服務(wù):


linuxmi@linuxmi ~/www.linuxmi.com
 % sudo pkill -USR1 dnsmasq
d50b98ee-1367-11ee-962d-dac502259ad0.png 使用 journalctl 命令,提取 dnsmasq 日志并將它們保存到文本文件中:
linuxmi@linuxmi ~/www.linuxmi.com
 % sudo journalctl -u dnsmasq > ~/cache.txt
最后,使用文件查看實(shí)用程序(如 cat 或更少)查看文件的內(nèi)容:


linuxmi@linuxmi ~/www.linuxmi.com
 % cat ~/cache.txt

d553d514-1367-11ee-962d-dac502259ad0.png

如何在 Linux 上刷新 DNS 緩存

刷新 DNS 緩存意味著從計(jì)算機(jī)中刪除緩存的 DNS 記錄。這會(huì)強(qiáng)制它向 DNS 服務(wù)器發(fā)送請(qǐng)求以檢索新的 DNS 條目。 以下是在 Linux 上刷新 DNS 緩存的方法:

使用 systemd 解析

您可以使用 resolvectl 命令刷新 systemd 解析存儲(chǔ)的 DNS 緩存:

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo resolvectl flush-caches
d579f500-1367-11ee-962d-dac502259ad0.png 如果您運(yùn)行的是 Ubuntu 17.04 或 18.04,請(qǐng)使用 systemd 解析的命令刷新緩存:
sudo systemd-resolved --flush-caches

在 Linux 上刷新 nscd DNS 緩存

刪除 nscd 的 DNS 緩存的最便捷方法是重新啟動(dòng)服務(wù)。您可以通過運(yùn)行以下命令來執(zhí)行此操作:

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo /etc/init.d/nscd restart
d5a7ccf0-1367-11ee-962d-dac502259ad0.png 如果這不起作用,首先,檢查存儲(chǔ)在PC上的本地緩存是否持久。您可以使用?-g標(biāo)志進(jìn)行驗(yàn)證:
sudo nscd -g
如果是這種情況,請(qǐng)使用帶有 nscd 命令的-i 標(biāo)志來清除記錄(i代表invalidate):
linuxmi@linuxmi ~/www.linuxmi.com
 % sudo nscd -i hosts

刪除 dnsmasq DNS 緩存

刷新 dnsmasq 生成的 DNS 緩存很簡(jiǎn)單。由于緩存存儲(chǔ)在內(nèi)存中,因此重新啟動(dòng)服務(wù)會(huì)刪除所有存儲(chǔ)的條目。 要重新啟動(dòng) dnsmasq,請(qǐng)運(yùn)行以下 systemctl 命令:

sudo systemctl restart dnsmasq
或者,發(fā)出以下命令:
service dnsmasq restart
如果出現(xiàn)提示,請(qǐng)輸入管理員密碼。dnsmasq 現(xiàn)在將重新啟動(dòng),所有現(xiàn)有的 DNS 條目將從緩存中刪除。 刷新 DNS 緩存后,最好查看本地緩存條目并驗(yàn)證數(shù)據(jù)是否已成功刪除。您可以使用 dig(許多網(wǎng)絡(luò)故障排除 Linux 命令之一),并檢查輸出中的“查詢時(shí)間”值。如果超過 0 毫秒,則緩存已成功清除(0 毫秒表示域記錄仍在緩存中)。
dig google.com

清除谷歌瀏覽器的DNS緩存

您經(jīng)常使用的 Web 瀏覽器也會(huì)緩存 DNS 記錄。輸入 URL 時(shí),系統(tǒng)會(huì)在本地瀏覽器緩存中搜索緩存條目。如果未找到,它將檢查本地系統(tǒng)緩存中的記錄。清除 Web 瀏覽器的 DNS 緩存至關(guān)重要,因?yàn)樗膬?yōu)先級(jí)高于系統(tǒng)范圍的緩存。 為了演示,讓我們刷新谷歌瀏覽器中的DNS緩存。在其他瀏覽器上也有一些方法可以做到這一點(diǎn),所以最好 Google 一下如何使用你使用的瀏覽器做到這一點(diǎn)。 首先,在URL欄中鍵入“chrome://net-internals/#dns”并按Enter鍵d5b6b9a4-1367-11ee-962d-dac502259ad0.png 單擊清除主機(jī)緩存 Clear host cache以清除存儲(chǔ)在谷歌瀏覽器中的DNS條目。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208716
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    229

    瀏覽量

    26635
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    215

    瀏覽量

    19770

原文標(biāo)題:你真的會(huì)在 Linux 上查看和刷新 DNS 緩存嗎?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何選擇合適的本地緩存

    小編最近在使用系統(tǒng)的時(shí)候,發(fā)現(xiàn)盡管應(yīng)用已經(jīng)使用了 redis 緩存提高查詢效率,但是仍然有進(jìn)一步優(yōu)化的空間,于是想到了比分布式緩存性能更好的本地緩存,因此對(duì)領(lǐng)域內(nèi)常用的
    的頭像 發(fā)表于 01-18 11:19 ?796次閱讀
    如何選擇合適的<b class='flag-5'>本地</b><b class='flag-5'>緩存</b>?

    怎樣清除dns緩存,教程來了 #電腦小技巧

    電腦緩存DNS
    學(xué)習(xí)硬聲知識(shí)
    發(fā)布于 :2022年11月02日 02:16:59

    【Raspberry Pi 3試用體驗(yàn)】+ 搭建本地DNS服務(wù)器

    會(huì)首先尋找本地的 /etc/hosts 文件,再去尋找緩存下來的域名, 最后去上游 dns 服務(wù)器尋找。所以/etc/hosts才是dnsmasq第一個(gè)尋找的地方。
    發(fā)表于 04-24 21:39

    linuxDNS緩存清空方法

    LinuxDNS緩存實(shí)現(xiàn)通常有兩種方式:一種是用DNS緩存程序NSCD(name service cache daemon)負(fù)責(zé)管理
    發(fā)表于 07-25 07:53

    linux的高速緩存DNS怎么設(shè)置

    linux 高速緩存DNS
    發(fā)表于 08-12 12:06

    基于DNS緩存中毒的Webmail攻擊及防護(hù)

    針對(duì)Webmail 的特性,提出一種基于域名系統(tǒng)(DNS)緩存中毒(Cache Poisoning)的Web 郵箱(Webmail)攻擊技術(shù),并對(duì)整個(gè)攻擊流程進(jìn)行描述,實(shí)現(xiàn)了對(duì)當(dāng)前安全性較高的Live Mail 的成功攻擊,驗(yàn)證DNS
    發(fā)表于 03-23 09:05 ?24次下載

    Linux中如何配置DNS

    ;Sendmail 8.9.3; Wu-Ftp 2.4.2;DNS。 ----1.安裝Red Hat Linux 5.1 ----參考README文件,用DOS啟動(dòng)盤引導(dǎo),并將光驅(qū)驅(qū)動(dòng),執(zhí)行dosutilsautoload,依照提示進(jìn)行安裝。軟件包選 WWW、Sendma
    發(fā)表于 11-07 10:44 ?3次下載

    Linux文件緩存使用情況和命中率查看的工具詳細(xì)概述

    這里總結(jié)幾個(gè)Linux文件緩存(page cache)使用情況、命中率查看的工具。
    的頭像 發(fā)表于 06-18 17:51 ?8923次閱讀
    <b class='flag-5'>Linux</b>文件<b class='flag-5'>緩存</b>使用情況和命中率<b class='flag-5'>查看</b>的工具詳細(xì)概述

    Linux基礎(chǔ)教程之如何在linux不解壓tar.gz文件查看的文件大小資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是Linux基礎(chǔ)教程之如何在linux不解壓tar.gz文件查看的文件大小詳細(xì)程序資料免費(fèi)下載。
    發(fā)表于 10-31 17:06 ?2次下載

    虛擬機(jī):Linux查看DNS服務(wù)器IP地址的方法

    虛擬機(jī):Linux查看DNS服務(wù)器IP地址的方法
    的頭像 發(fā)表于 06-22 15:12 ?1.4w次閱讀
    虛擬機(jī):<b class='flag-5'>Linux</b><b class='flag-5'>查看</b><b class='flag-5'>DNS</b>服務(wù)器IP地址的方法

    何在Windows,Linux和MacOS操作系統(tǒng)清除或刷新DNS緩存

    DNS緩存是一個(gè)臨時(shí)數(shù)據(jù)庫(kù),用于存儲(chǔ)已解釋的DNS查詢信息。換句話說,每當(dāng)您訪問網(wǎng)站時(shí),您的操作系統(tǒng)和網(wǎng)絡(luò)瀏覽器都會(huì)保留域名和相應(yīng)IP地址的記錄。
    的頭像 發(fā)表于 12-05 16:08 ?2883次閱讀

    何在Linux查看隱藏文件

    在windows可以查看隱藏的文件。在Linux中也可以查看隱藏文件且非常容易。要查看隱藏文件運(yùn)行`ls -a`命令即可。
    的頭像 發(fā)表于 01-04 17:31 ?1.6w次閱讀

    何在SpringBoot中解決Redis的緩存穿透等問題

    今天給大家介紹一下如何在SpringBoot中解決Redis的緩存穿透、緩存擊穿、緩存雪崩的問題。
    的頭像 發(fā)表于 04-28 11:35 ?699次閱讀

    聊聊本地緩存和分布式緩存

    本地緩存 :應(yīng)用中的緩存組件,緩存組件和應(yīng)用在同一進(jìn)程中,緩存的讀寫非???,沒有網(wǎng)絡(luò)開銷。但各應(yīng)用或集群的各節(jié)點(diǎn)都需要維護(hù)自己的單獨(dú)
    發(fā)表于 06-11 15:12 ?799次閱讀
    聊聊<b class='flag-5'>本地</b><b class='flag-5'>緩存</b>和分布式<b class='flag-5'>緩存</b>

    一文了解常見DNS問題

    網(wǎng)絡(luò)設(shè)備:查看本地路由器、防火墻等網(wǎng)絡(luò)設(shè)備的設(shè)置是否正確,是否存在限制DNS流量的規(guī)則。 更換本地DNS服務(wù)器:將設(shè)備的
    的頭像 發(fā)表于 07-05 15:49 ?242次閱讀