首页/安全/安全加固速查/Windows 监听端口与进程核查

Windows 监听端口与进程核查

把监听端口逐一映射到进程:445/3389/5985/5986 是重点盯防对象,非业务端口一律列为处置项。

安全加固速查安全更新于 2026-10-13

把端口落到进程

Windows 的暴露面同样由监听端口决定,区别在于端口与进程的对应关系要靠查询建立。核查的目标是把每个监听端口映射到具体进程,并给出业务归属:445、3389、5985、5986 这几个默认存在的端口尤其需要说明是否必要、是否限制来源。找不到归属的对外监听端口,一律列为处置项。

基本信息

加固项暴露面清单
适用平台Windows 10/11 与 Windows Server 2016+
风险等级高
基线对外监听逐条有业务归属与来源限制
执行权限建议以管理员身份运行,便于解析进程信息

典型使用场景

  • 交付核查:给出主机对外暴露端口的完整清单
  • 事件排查:发现异常监听端口,反查进程与启动路径
  • 变更复核:安装软件后确认新增了哪些监听端口
  • 边界收口:与防火墙策略对照,确认放行范围与监听范围一致
  • 横向排查:同类主机端口清单不一致时,找出被额外开启的机器

核查命令

核查命令
Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess | Sort-Object LocalPort | Select-Object -First 30
Get-NetTCPConnection -State Listen | ForEach-Object { [PSCustomObject]@{ Port=$_.LocalPort; Addr=$_.LocalAddress; Proc=(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).ProcessName } } | Sort-Object Port -Unique | Select-Object -First 30
Get-NetUDPEndpoint | Select-Object LocalAddress,LocalPort | Sort-Object LocalPort | Select-Object -First 20

输出读法

字段或端口含义判读要点
LocalAddress监听地址全部地址表示任何可达来源都能连,回环地址仅本机
LocalPort监听端口号与业务清单比对,未登记端口列为处置项
OwningProcess占用端口的进程号用进程号反查进程名与可执行文件路径
445SMB 服务文件共享入口,需确认是否对外与是否限制来源
3389远程桌面勒索入口常客,公网暴露需叠加多层防护
5985 与 5986WinRM 远程管理确认是否必要,并限制到管理网段
系统进程持有的端口要单独深挖:PID 4 对应的 System 进程可能代表内核态服务(如 SMB 与 HTTP 服务),此时用 Get-NetTCPConnection 只能看到进程名。可结合 HTTP 服务的状态查询命令进一步定位是哪个服务在占用。
监听地址决定暴露范围:全部地址与回环地址的含义完全不同,判读时先看地址列再看端口。只按端口号统计会把本机回环上的服务也算成对外暴露,结论偏差会直接影响整改清单的准确性。

与防火墙结果合并

端口清单要与防火墙配置一起看:主机防火墙规则决定哪些端口真正可达。建议报告分两栏,一栏列本机监听端口,一栏列放行规则,两者取交集才是实际暴露面。云主机还要再加一栏云侧安全组,三层对齐之后结论才完整,排查端口不通时也能迅速定位是服务没起还是被挡住了。

易错点

  • 只看端口不看监听地址:回环地址上的服务被误记为对外暴露,会得出错误的整改清单
  • 不解析进程信息:只有端口号无法判断业务归属,排查时缺少关键线索
  • 忽略 UDP 端口:DNS、SNMP 等服务走 UDP,只查 TCP 会漏掉一部分暴露面
  • 系统进程占用端口时不深挖:无法判断是系统服务还是第三方程序注册的监听,排查会停在半路
  • 与防火墙分开记录:只有把监听与放行合并取交集,才能得到真实暴露面

数据来源与参考

  • CIS Windows Benchmark:网络服务
  • 等保 2.0:访问控制

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌