于 Window 的 UWP 應用本地回環限制以及限制解除方案
Table of Contents
UWP 應用在默認的情況下,禁止訪問本地的 Localhost(這被稱做本地回環 Loopback)。
然而我們在開發、調試、正向代理等場景下,又不得不讓 UWP 突破這一個限制。
這個工具位于 C:/Windows/System32/CheckNetIsolation.exe,它的功能為解除 UWP 的本地 Loopback 限制或者調試應用(本文僅介紹解除 Loopback 限制)。
./CheckNetIsolation.exe LoopbackExempt [operation] [-n=] [-p=]
常見用法:
在注冊表目錄 HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings 即可取得所有 App 的 SID 列表。
通過結合 CMD 或者 Pwsh 的循環命令,即可自動化為所有已安裝應用添加豁免:
CMD 命令:
FOR /F "tokens=11 delims=" %p IN ('REG QUERY "HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p
Powershell 命令:
Get-ChildItem -Path Registry::"HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings" -name | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -p="$_"}
New Powershell Core:
(Get-AppxPackage -AllUsers).PackageFamilyName | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -n="$_"}
來自 Fiddler 的 Enable Loopback Utility 或開源項目 Loopback Exemption Manager 的這兩個工具提供了很方便的圖形化方式來對安裝的 UWP 應用進行 Loopback 豁免。
深入研究后者工具以及類似工具的源代碼,并參考作者提到的:
我們可以知道,開源工具的作者從 Fiddler 那里借鑒了 P/Invokes 的方式獲取 API,而所 Invoke 的 API 主要來自于 FirewallAPI.dll,這個 dll 提供了很多與 UWP Loopback 豁免相關的實用方法。
我們繼續使用 VS2022 的 Dev Shell 對官方的 CheckNetIsolation.exe 進行 dll 依賴分析(需要安裝 VS 2022):
到這里我們便可以得知,無論是官方工具還是第三方工具的實現,都是調用 FirewallAPI.dll 提供的 API 來進行 Loopback 豁免的。
文章來自互聯網,不代表電腦知識網立場。發布者:蔥蔥醬向前沖,轉轉請注明出處:https://www.pcxun.com/n/160943.html
日常的服務器運維工作中,遠程桌面無法連接是一個常見的困擾。造成這一問題的原因多種多樣,可能是網絡狀況不佳、服務器配置有誤,也可能是遠程桌面服務未正常啟動等。接下來,本教程將引領您逐步排查并解決此類問題。更多可網頁搜218.0.48.3:8802
一、問題簡述
服務器遠程桌面無法連接的情況時有發生,給運維工作帶來諸多不便。多種因素都可能導致這一狀況,需要我們細致排查。
二、排查流程
三、常見問題及應對之策
四、總結
通過上述步驟,您大概率能夠解決服務器遠程桌面無法連接的多數問題。倘若問題依舊存在,建議查看服務器的日志文件以獲取更多線索,并考慮聯系專業的技術支持團隊做進一步的排查。在整個處理過程中,請務必遵循相關的安全規定和最佳實踐,全力保障數據的安全和系統的穩定。
我們在嘗試遠程連接電腦時,如果連接不上,這確實是一個令人沮喪的問題。為了有效地解決這個問題,我們需要深入理解可能導致連接失敗的各種原因,并采取相應的解決策略。下面,我將詳細探討和分析這些可能的原因:
網絡問題是遠程連接中最常見的障礙之一。當網絡連接不穩定、IP地址發生變動或者DNS解析出現問題時,遠程連接往往會受到影響。為了確保連接順暢,我們需要檢查本地和遠程電腦的網絡連接狀態,確保它們都處于穩定狀態。此外,通過Ping遠程電腦的IP地址,我們可以驗證兩臺電腦之間是否能夠正常通信。
防火墻或安全軟件設置也可能成為遠程連接的絆腳石。這些安全工具可能會將遠程連接請求誤判為潛在威脅,從而阻止連接。為了解決這個問題,我們需要檢查防火墻設置,確保遠程連接相關的端口和服務已被允許。同時,在防火墻中添加遠程桌面應用程序的例外規則也是一個有效的解決方案。
除了網絡和安全設置外,遠程電腦本身的設置也可能導致連接失敗。例如,如果遠程桌面功能未開啟,那么無論我們如何嘗試,都無法成功連接。因此,在遠程電腦上檢查并確保已開啟遠程桌面功能是至關重要的。
身份驗證問題也是遠程連接中常見的問題之一。如果我們輸入了錯誤的用戶名或密碼,或者賬戶權限不足,那么連接請求將被拒絕。為了解決這個問題,我們需要仔細核對用戶名和密碼,確保它們輸入正確。同時,我們還需要在遠程電腦上檢查賬戶設置,確保所需權限已正確分配。
除了上述原因外,還有一些其他因素可能導致遠程連接失敗。例如,軟件沖突可能會干擾遠程連接的進程。硬件問題,如顯卡故障或網絡適配器損壞,也可能影響遠程連接的質量。另外,如果遠程連接數超出限制,或者遠程連接端口被更改或未放行,也會導致連接失敗。
針對這些問題,我們需要根據具體情況采取相應的解決措施。例如,對于軟件沖突問題,我們可以嘗試卸載或更新可能導致沖突的軟件。對于硬件問題,我們可能需要更換或修復損壞的硬件部件。對于連接數超出限制或端口問題,我們可能需要調整遠程連接設置或聯系網絡管理員尋求幫助。