目錄
為什麼要在 Linux 上刷新 DNS 快取? " >為什麼要在 Linux 上刷新 DNS 快取?
如何在Linux 上查看本地DNS 快取" >如何在Linux 上查看本地DNS 快取
查看系統解析的 DNS 快取" >查看系統解析的 DNS 快取
查看nscd 的本機DNS 快取" >查看nscd 的本機DNS 快取
顯示由dnsmasq 產生的DNS 快取
如何在 Linux 上刷新 DNS 缓存" >如何在 Linux 上刷新 DNS 缓存
使用 systemd 解析" >使用 systemd 解析
清除谷歌浏览器的DNS缓存" >清除谷歌浏览器的DNS缓存
Linux是学习网络的最佳操作系统" >Linux是学习网络的最佳操作系统
首頁 運維 Nginx 如何在 Linux 上查看和刷新 DNS 緩存

如何在 Linux 上查看和刷新 DNS 緩存

Jun 29, 2023 pm 02:40 PM
linux

透過刷新本機 DNS 快取,您可以解決 HTTP 錯誤並保護自己免受 DNS 欺騙的影響。以下是在 Linux 上執行此操作的方法。

當您使用網域名稱造訪網站時,您的系統會向 DNS 伺服器發送請求以取得該網域的 IP 位址。此網域 IP 位址對保存在 DNS 快取中以供日後使用,因此您不必每次都向 DNS 伺服器發送請求以建立連線。

但有時,本機 DNS 快取會損壞並導致 HTTP 錯誤。值得慶幸的是,在 Linux 作業系統中刷新和重建 DNS 快取非常容易。這是如何做到的。

如何在 Linux 上查看和刷新 DNS 缓存

為什麼要在 Linux 上刷新 DNS 快取?

您可能想要重建儲存在系統上的 DNS 快取的原因有很多。如果您的DNS記錄過時了,您可能想要從DNS伺服器重新取得它。另外,如果您擔心系統受到威脅了,您可能需要確保DNS快取未被竄改,也稱為DNS欺騙。

當您重新整理 DNS 快取時,系統必須再次 ping DNS 伺服器並從中取得新的網域 IP 位址記錄,從而在此過程中刪除任何過時或受損的資料。

如何在Linux 上查看本地DNS 快取

在systemd之前,大多數Linux發行版都沒有系統範圍的DNS緩存,除非像dnsmasq或nscd這樣的程序是手動設定的。 systemd 附帶 systemd-solved,這是一項將網域名稱解析為 IP 位址並快取 DNS 項目的服務。

以下各節將指導您如何查看由 systemd 解析、nscd 和 dnsmasq 產生的 DNS 快取內容,以便您在決定刷新快取資料之前了解快取的資料。

查看系統解析的 DNS 快取

要查看 systemd 解析的快取記錄,您需要先暫時終止服務,然後將其日誌匯出到檔案中。

先傳送SIGUSR1 訊號以終止systemd 解析的服務:

linuxmi@linuxmi ~/www.linuxmi.com % sudo killall -USR1 systemd-resolved[sudo] linuxmi 的密码: 
登入後複製

使用 journalctl 指令和標準輸出運算子將輸出儲存到文字檔案:

linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u systemd-resolved > ~/cache.txtlinuxmi@linuxmi ~/www.linuxmi.com
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

#然後,您可以使用Vim 等文字編輯器查看文件的內容:

如何在 Linux 上查看和刷新 DNS 缓存

在文件中,搜尋“CACHE:”,方法是按 Escape,鍵入“/CACHE:”,然後按 Enter 鍵。在「CACHE:」下方列出的所有 DNS 記錄都包含在本機 DNS 快取中。若您正在使用 Vim,請按下 n 鍵以跳到下一組 DNS 項目。

如何在 Linux 上查看和刷新 DNS 缓存

查看nscd 的本機DNS 快取

要查看nscd 產生的本機緩存,您需要使用string 指令讀取nscd 主機資料庫的內容。

在基於 Debian 和 Ubuntu 的發行版上,此檔案位於 /var/cache/nscd/hosts。執行以下命令以查看檔案:

linuxmi@linuxmi ~/www.linuxmi.com % sudo strings /var/cache/nscd/hosts | uniq
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

要查看有關nscd DNS 快取的一般統計信息,請使用 -g 標誌:

linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -g
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

顯示由dnsmasq 產生的DNS 快取

取得確切的記錄並不容易,因為dnsmasq 在記憶體中儲存DNS 快取。您可以發送終止訊號給 dnsmasq 並記錄其輸出,以取得處理的 DNS 查詢數量。

為此,首先,使用 systemctl 命令確保 dnsmasq 已啟動並正在運行:

linuxmi@linuxmi ~/www.linuxmi.com % sudo systemctl status dnsmasq
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

如果狀態顯示“活動Active”,請執行以下命令以終止該服務:

linuxmi@linuxmi ~/www.linuxmi.com % sudo pkill -USR1 dnsmasq
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

使用 journalctl 命令,提取 dnsmasq 日志并将它们保存到文本文件中:

linuxmi@linuxmi ~/www.linuxmi.com % sudo journalctl -u dnsmasq > ~/cache.txt
登入後複製

最后,使用文件查看实用程序(如 cat 或更少)查看文件的内容:

linuxmi@linuxmi ~/www.linuxmi.com % cat ~/cache.txt
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

如何在 Linux 上刷新 DNS 缓存

刷新 DNS 缓存意味着从计算机中删除缓存的 DNS 记录。这将迫使它向DNS服务器发送请求,以获取新的DNS条目。

以下是在 Linux 上刷新 DNS 缓存的方法:

使用 systemd 解析

您可以使用 resolvectl 命令刷新 systemd 解析存储的 DNS 缓存:

linuxmi@linuxmi ~/www.linuxmi.com % sudo resolvectl flush-caches
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

如果您运行的是 Ubuntu 17.04 或 18.04,请使用 systemd 解析的命令刷新缓存:

sudo systemd-resolved --flush-caches
登入後複製

在 Linux 上刷新 nscd DNS 缓存

删除 nscd 的 DNS 缓存的最便捷方法是重新启动服务。您可以通过运行以下命令来执行此操作:

linuxmi@linuxmi ~/www.linuxmi.com % sudo /etc/init.d/nscd restart
登入後複製

如何在 Linux 上查看和刷新 DNS 缓存

如果这不起作用,首先,检查存储在PC上的本地缓存是否持久。您可以使用 -g 标志进行验证:

sudo nscd -g
登入後複製

如果是这种情况,请使用带有 nscd 命令的 –i 标志来清除记录(i 代表 invalidate):

linuxmi@linuxmi ~/www.linuxmi.com % sudo nscd -i hosts
登入後複製

删除 dnsmasq DNS 缓存

刷新 dnsmasq 生成的 DNS 缓存很简单。由于缓存存储在内存中,因此重新启动服务会删除所有存储的条目。

要重新启动 dnsmasq,请运行以下 systemctl 命令:

sudo systemctl restart dnsmasq
登入後複製

或者,发出以下命令:

service dnsmasq restart
登入後複製

如果出现提示,请输入管理员密码。现在要重新启动 dnsmasq,所有缓存中存在的 DNS 条目将被清除。

建议刷新 DNS 缓存后,检查本地缓存条目以确认数据已经成功删除。您可以使用 Linux 命令之一的 dig 来进行网络故障排除,并查看输出中的“查询时间”值。假如超过 0 毫秒,则说明缓存已经成功清除(若为 0 毫秒,则表示域记录仍存在于缓存中)。

dig google.com
登入後複製

清除谷歌浏览器的DNS缓存

您经常使用的 Web 浏览器也会缓存 DNS 记录。输入 URL 时,系统会在本地浏览器缓存中搜索缓存条目。如果未找到,它将检查本地系统缓存中的记录。清除 Web 浏览器的 DNS 缓存非常重要,因为它优先于系统范围的缓存。

为了演示,让我们刷新谷歌浏览器中的DNS缓存。在其他浏览器上也有一些方法可以做到这一点,所以最好 Google 一下如何使用你使用的浏览器做到这一点。

首先,在URL栏中键入“chrome://net-internals/#dns”并按Enter键:

如何在 Linux 上查看和刷新 DNS 缓存

点击“清除主机缓存”按钮来清除谷歌浏览器中存储的DNS条目。

Linux是学习网络的最佳操作系统

Linux 乍一看可能看起来很复杂,但如果你花一些时间来学习它是如何工作的,你很快就会意识到它很棒,甚至可能比 Windows 或 macOS 更好。

大多数在线服务器都运行 Linux,如果您想学习网络或想知道计算机通常如何工作,这也是 Linux 理想选择的原因之一。

以上是如何在 Linux 上查看和刷新 DNS 緩存的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

Centos停止維護後的選擇 Centos停止維護後的選擇 Apr 14, 2025 pm 08:51 PM

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

centos停止維護後怎麼辦 centos停止維護後怎麼辦 Apr 14, 2025 pm 08:48 PM

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

See all articles