使用netstat -a可查看windows 10所有活跃网络连接及监听端口;配合-an、-ano、-ao参数可提升效率、显示pid、定位进程;资源监视器与powershell提供图形化和结构化补充分析。

如果您需要了解Windows 10系统中所有活跃的网络连接状态,包括已建立的连接、监听中的端口以及等待连接的端口,则可能是由于netstat -a命令未被正确执行或结果未被准确解读。以下是查看端口连接的具体操作步骤:
一、使用netstat -a列出全部网络连接与监听端口
该命令可显示当前系统所有活动的TCP/UDP连接、监听端口及其对应的状态信息(如ESTABLISHED、LISTENING、TIME_WAIT等),不包含进程ID,适用于快速掌握整体网络连接轮廓。
1、按下Win + R组合键,打开“运行”对话框。
2、输入cmd并按回车,启动命令提示符窗口。
3、在命令提示符中输入netstat -a并回车执行。
4、观察输出结果中的Proto(协议)、Local Address(本地地址与端口)、Foreign Address(外部地址与端口)及State(连接状态)列;重点关注State列为LISTENING的TCP行和无Foreign Address的UDP行,它们代表本机正在开放或等待连接的端口。
二、结合-n参数避免DNS解析延迟,提升响应速度
默认情况下netstat会尝试将IP地址反向解析为主机名,该过程可能导致命令执行缓慢或卡顿;添加-n参数可强制以数字形式显示地址和端口号,确保结果即时呈现且格式统一。
1、在已打开的命令提示符中,输入netstat -an并回车。
2、对比netstat -a输出,确认所有地址均以IP形式显示(如127.0.0.1:80而非localhost:http)。
3、若需同时获取进程关联信息,应改用netstat -ano而非仅-an,因-a本身不含PID字段。
三、使用netstat -ao筛选并定位主动连接的远程目标
当需排查某台外部设备(如192.168.1.100)是否正与本机建立持续连接时,-o参数可提供连接所属的进程ID,便于进一步追踪通信源头程序。
1、在命令提示符中输入netstat -ao并回车执行。
2、扫描输出中Foreign Address列匹配目标IP及端口的行项。
3、记录对应行末尾的PID数值(例如5678)。
4、随后执行tasklist | findstr "5678"即可获知该连接由哪个程序发起,如chrome.exe或msedge.exe。
四、通过资源监视器图形化验证实时连接活跃度
资源监视器提供动态刷新的网络活动视图,能直观展示每个连接的发送/接收字节数、持续时间及进程完整路径,适合交叉验证命令行结果或识别间歇性连接行为。
1、按下Win + R组合键,输入resmon并按回车,启动资源监视器。
2、点击顶部“网络”选项卡,在下方“网络活动”区域等待数据加载完成。
3、勾选任意一行连接条目,观察下方“TCP 连接”面板中显示的远程IP、端口、状态及实时吞吐量。
4、右键点击进程名称可选择“分析等待链”或“转到详细信息”,直接跳转至任务管理器对应进程页签。
五、使用PowerShell获取结构化连接信息并导出分析
PowerShell内置命令支持按协议、本地端口、远程地址等维度精确筛选,并可将结果导出为CSV文件供后续排序或比对,适用于批量审计或多端口联动分析场景。
1、右键“开始”按钮,选择“Windows PowerShell(管理员)”以获得完整权限。
2、输入Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess | Format-Table -AutoSize并回车。
3、若需导出全部TCP连接至桌面CSV文件,执行:Get-NetTCPConnection | Export-Csv "$env:USERPROFILE\Desktop\tcp_connections.csv" -NoTypeInformation。
4、导出后可用Excel打开,按State列筛选ESTABLISHED或按OwningProcess列统计各程序连接数。










