日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

ipconfig /flushdns 清除系统DNS缓存

發布時間:2025/3/17 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ipconfig /flushdns 清除系统DNS缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????? 1、ipconfig /flushdns的作用

??????? ipconfig /flushdns 這是清除DNS緩存用的。

??????? 當訪問一個站點時系統將從DNS緩存中讀取該域名所相應的IP地址。當查找不到時就會到系統中查找hosts文件,假設還沒有那么才會向DNSserver請求一個DNS查詢,DNSserver將返回該域名所相應的IP。在你的系統收到解析地址以后將使用該IP地址進行訪問,同一時候將解析緩存到本地的DNS緩存中。

? ? ? ? 假設DNS地址無法解析,或者是DNS緩存中的地址錯誤,一般才會使用ipconfig/flushdns來清除全部的DNS緩存。


?????? 2、通過調用API函數來實現該命令行命令的運行

??????? 通過該命令的組成形式就可以得知,/flushdns應該是作為參數傳給ipconfig.exe可運行程序的。假設要實現該命令的運行,能夠使用system()函數。將ipconfig /flushdns作為參數來傳入,該函數的運行受環境變量的影響,實際使用時可能存在問題。也能夠考慮使用ShellExecute啟動ipconfig.exe,并將/flushdns作為參數傳遞進來。但這樣做也有問題,比方可能會遭到殺毒軟件的攔截,對于Win7、Win8系統,可能會由于UAV權限問題被警告。

??????? 所以要看看有沒有相應的API函數可供使用。直接調用API則最有效最安全。于是到MSDN中嘗試著搜索。可是找不到相關的函數。

既然是傳遞/flushdns參數運行ipconfig.exe,那嘗試著使用VC自帶的Depends工具看看是否能找到相應的接口。

結果發現了其依賴的DNSAPI.DLL中有叫做DnsFlushResolverCache函數,例如以下圖所看到的:

這個函數應該是非公開的API函數,那能夠使用LoadLibrary顯示載入,并用GetProcess得到函數指針,直接調用之就可以。

通過搜索,得到該函數的原型聲明:

BOOL WINAPI DnsFlushResolverCache(VOID);

從DNSAPI.DLL動態庫中顯式載入調用DnsFlushResolverCache的代碼例如以下所看到的:

BOOL __stdcall DnsFlushResolverCache() {BOOL bRet = FALSE;typedef BOOL (WINAPI *PfuncDnsFlushResolverCache)(VOID);HMODULE hDnsModule = LoadLibrary( _T("dnsapi.dll") );if ( hDnsModule != NULL ) {PfuncDnsFlushResolverCache pFlushFun = GetProcAddress( hDnsModule, "DnsFlushResolverCache" );if ( pFlushFun != NULL ){pFlushFun();bRet = TRUE;}FreeLibrary( hDnsModule );}return bRet; }

????? 3、通過調用API函數來實現該命令行命令的運行

??????? 今天由于系統出現問題,終端一直無法登錄到平臺。為了解決該問題。將平臺的網絡由聯通的網絡切換到電信的網絡,結果就出現了部分終端可以登錄,部分終端不能登錄的情況。

考慮到可能是系統DNS緩存引起的。終端側將域名解析出來的地址一直是之前的聯通地址(即緩存中的地址),所以一直無法登錄。于是使用ipconfig /flushdns命令清理了一下系統的DNS緩存就可以正常登錄了。為了規避這樣由網絡切換和DNS緩存引起的問題,可以考慮在多次登錄失敗后自己主動去清理系統的DNS緩存。直接運行上面找到的DnsFlushResolverCache函數就可以。



轉載于:https://www.cnblogs.com/clnchanpin/p/6992203.html

總結

以上是生活随笔為你收集整理的ipconfig /flushdns 清除系统DNS缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。