如何在 Windows 上卸载Nmap
卸载 Nmap 前保留扫描结果和 Zenmap 配置,Npcap 是单独安装的抓包驱动,Wireshark 等工具也可能使用它。
先保存数据,再退出程序
结束或取消自己启动的扫描,保存要留的结果并关闭 Zenmap,先卸载 Nmap。Windows 应用列表里还留着 Npcap 时,核对其他抓包工具后再单独决定,不手删它的服务或驱动文件。
卸载对应的安装包
Windows 11 打开「设置 › 应用 › 已安装的应用」,找到 Nmap 后选择卸载,Windows 10 对应的是「设置 › 应用 › 应用和功能」。先让自带卸载器走完,不提前删除程序目录。如果是 winget 安装,先确认准确的包名:
winget list --id Insecure.Nmap --exact
查询正常完成,并且显示的确实是准备移除的安装,再执行:
winget uninstall --id Insecure.Nmap --exact
这会调用该安装包登记的卸载方式,便携包则由包管理器移除。命令报错或没有匹配条目,都不能单独证明软件已经不在,还要核对 Windows 应用列表和最初的安装方式。卸载器要求确认或重启时,先保存其他工作再处理,命令行为见微软的 winget 卸载文档。
数据与独立组件分别处理
下面这些位置或组件要单独判断,看到目录还在,不代表里面的内容可以直接删除。
| 位置或组件 | 保留或检查什么 |
|---|---|
%USERPROFILE%\.zenmap |
实测卸载后仍有的 Zenmap 用户数据,先检查配置和结果再决定是否删除。 |
%LOCALAPPDATA%\zenmap.exe.log |
测试中是空日志,核对本机的实际文件,不扩大到所有同名日志。 |
Npcap |
实测保留的独立依赖,其他工具需要时继续保留。 |
参考 Nmap 官方资料。
检查卸载结果
winget list --id Insecure.Nmap --exact
Test-Path -LiteralPath "$env:USERPROFILE\.zenmap"
Test-Path -LiteralPath "$env:LOCALAPPDATA\zenmap.exe.log"
包查询正常完成且没有匹配行,才说明没找到该包登记,有匹配行就还在,报错则结果未知。每条 Test-Path 的 True 表示对应位置仍存在,False 表示没找到,权限错误不等于已删除。主动保留的数据留着即可,再用任务管理器核对进程的可执行文件是否属于这次安装,先区分另一版本或独立组件,再决定是否处理。
Mole 会列出什么
审查移除了 Nmap 程序目录,并检查它自有的用户注册表键,上述 Zenmap 目录和日志在这次没有列出。Npcap 在安装前就已存在,卸载后仍保留登记。
这次检查覆盖了什么
测试通过 Zenmap 启动了为所有用户安装的 NSIS 版 Nmap 7.80,再完成卸载,没有测试后续 Nmap 版本、共享 Npcap 驱动的卸载或版本升级。
本次测试使用 Mole 开发构建,未逐一验证正式发布的各个版本。
