tcpvcon是sysinternals提供的命令行工具,需管理员权限运行,支持精准查看监听端口、进程路径及签名状态,可用findstr筛选、-p参数查指定端口、powershell验证签名,并导出纯文本报告。

你需要快速确认 Windows 10 系统中所有后台进程正在监听哪些网络端口,且希望获得比 netstat 更精准的进程路径、签名状态和实时连接上下文——TCPView 的命令行版 tcpvcon 正是为此设计,它无需图形界面即可输出结构化监听列表。
安装并调用 tcpvcon 工具
从微软 Sysinternals 官网下载 Tcpview.zip 压缩包,解压后将 tcpvcon.exe 放入任意目录(如 C:\tools),然后以管理员身份运行命令提示符。这一步不可跳过,【非管理员权限下 tcpvcon 无法读取系统级进程的完整路径和数字签名信息】。
在命令提示符中输入:cd /d C:\tools → tcpvcon -a -n。
其中 -a 表示显示所有活动连接与监听端口,-n 表示禁用地址/端口名称解析(直接显示 IP 和数字端口,避免 DNS 查询延迟)。
筛选监听中的 TCP/UDP 端口
tcpvcon 默认输出含五列:Protocol、Local Address、Remote Address、State、Process Name。监听端口特征为:Remote Address 列显示 *:*(TCP)或空白(UDP),State 列为 Listen(TCP)或无状态标识(UDP)。
直接用 findstr 提取全部监听行:tcpvcon -a -n | findstr "Listen *:*"。
若只想看 TCP 监听且排除系统空闲端口(如 0.0.0.0:0),加条件过滤:tcpvcon -a -n | findstr "TCP.*Listen" | findstr -v "0.0.0.0:0"。
定位高危端口对应的真实进程路径
方法一:用 /p 参数直接输出指定端口的完整进程路径
例如检查 3389 端口:tcpvcon -a -n -p 3389。
该命令会强制显示占用该端口进程的完整可执行文件路径,比如 C:\Windows\System32\svchost.exe。
方法二:结合 PowerShell 补充签名验证
先用 tcpvcon -a -n | findstr ":445" 获取 PID(如 892),再执行:
Get-AuthenticodeSignature 'C:\Windows\System32\lsass.exe' | Select-Object Status, SignerCertificate。
注意:tcpvcon 自身不校验签名,但输出的 Path 字段可被 PowerShell 复用验证——这是识别恶意进程伪装成 svchost 的关键动作。
导出全量监听报告供离线分析
第一步:执行 tcpvcon -a -n > ports_report.txt,生成带时间戳的纯文本快照。
第二步:用记事本打开 ports_report.txt,Ctrl+F 搜索关键词 “Listen” 或具体端口号。
第三步:重点关注 Process Name 列值为 conhost.exe、java.exe、node.exe 等非系统默认进程名的条目,它们往往对应用户级服务或第三方应用。
这一步操作起来很简单,直接把文件拖进去就行。导出内容不含 ANSI 颜色码,兼容 Excel 直接分列导入。











