Windows 系统上的问题
问题描述
在 Windows 系统上启动官方的 PassNAT 客户端,你可能会遇到下面截图的问题:

如果看到这个界面,请你 保持冷静 ,也没有外星人会入侵地球。这并不是什么严重的问题。
问题出在 PassNAT 基于 Frpc 作为核心组件。而 Frpc 早在 2020 年就被 Windows Defender 误报为病毒了。所以,Windows Defender 会将 Frpc 识别为病毒,然后将其隔离。
为什么会被误报?
总结: Frpc 是一个内网穿透工具,而黑客攻防工具中也会用到大规模使用内网穿透技术。
以下是信息来源
- https://github.com/fatedier/frp/issues/2104
- https://github.com/fatedier/frp/issues/2860
- https://www.v2ex.com/t/729614
- https://wuter.cn/1909.html/
您也可以在以下站点中上传 PassNAT 客户端文件进行检测,至于检出的结果需要您自行核对以及信任:
你说的都对,但是如何解决?
- Windows Defender GUI
- Windows Defender CLI
- 火绒安全
-
打开 Windows Defender 安全中心
- 直接 点我打开 Windows Defender 安全中心
- 或者按下
Win + I
打开设置,选择“隐私和安全性”,然后选择“Windows 安全中心” - 或者在任务栏搜索框中输入“Windows Defender”,然后选择“Windows 安全中心”
-
选择 “病毒和威胁防护” -> “病毒和威胁防护设置”
-
选择 “排除设置或排除项”
-
选择 “文件夹类型”
-
选择 PassNAT 客户端所在的文件夹
-
重新安装 PassNAT 客户端到刚才选择排除的文件夹
- 以管理员身份运行以下 PowerShell 脚本 (文件扩展名
.ps1
) 将 已安装的 PassNAT 客户端自动添加到 Windows Defender 排除文件夹
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
$softwareItems = Get-ChildItem -Path $regPath
$passNATItem = $softwareItems | Where-Object { (Get-ItemProperty -Path $_.PSPath).DisplayName -like "*PassNAT*" }
if ($passNATItem) {
$displayIcon = (Get-ItemProperty -Path $passNATItem.PSPath).DisplayIcon
if ($displayIcon) {
Write-Output "DisplayIcon: $displayIcon"
$path = $displayIcon -split ',' | Select-Object -First 1
$folderPath = [System.IO.Path]::GetDirectoryName($path)
if (Test-Path $folderPath) {
Write-Output "正在将 $folderPath 添加到 Windows Defender 白名单..."
Add-MpPreference -ExclusionPath $folderPath
Write-Output "路径已添加到白名单: $folderPath"
} else {
Write-Output "路径不存在: $folderPath"
}
} else {
Write-Output "未找到 DisplayIcon。"
}
} else {
Write-Output "在卸载注册表中未找到 PassNAT。"
}
-
打开 火绒安全软件
-
选择 右上角展开 “菜单”
-
选择 “信任区”,进入安全项管理
-
选择 “添加”,添加信任项
-
根据图示,将 PassNAT 客户端所在的文件夹添加至信任区
tip: 若未创建 PassNAT 客户端所在目录,该条信任内容则无法被添加
-
重新安装 PassNAT 客户端到刚才选择信任的文件夹