最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何运用 PowerShell 监控 Windows 网络连接状态
时间:2026-07-11 09:06:47 编辑:袖梨 来源:一聚教程网
PowerShell通过Get-NetTCPConnection可直接查看所有TCP连接状态,支持按端口筛选、关联进程名、持续监控活跃连接数及排序高流量连接,无需额外工具。
powershell 是 windows 系统中监控网络连接状态最直接、无需安装额外工具的方案。它能实时获取 tcp 连接详情、识别异常状态、定位占用端口的进程,并支持持续观察,适合排查断连、端口冲突或后台通信异常等问题。
查看当前所有 TCP 连接及状态
运行以下命令可列出全部本地 TCP 连接(含监听和已建立状态):
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess | Sort-Object State
输出字段说明:
- LocalAddress/LocalPort:本机绑定的 IP 和端口(如 0.0.0.0:80 表示监听所有网卡的 80 端口)
- RemoteAddress/RemotePort:远程目标地址与端口(Established 状态下才有值)
- State:常见值包括 Listen(监听中)、Established(已连接)、TimeWait(连接关闭后等待重用)
- OwningProcess:对应进程 PID,可用于进一步查进程名
快速定位特定端口是否被占用
例如检查 3389(远程桌面)或 8080 是否正被监听或连接:
Get-NetTCPConnection -LocalPort 3389 -ErrorAction SilentlyContinue
若返回结果,说明该端口有活动连接;若无输出,表示未被使用。配合进程查询可一步到位:
$conn = Get-NetTCPConnection -LocalPort 80; if ($conn) { Get-Process -Id $conn.OwningProcess -ErrorAction SilentlyContinue | Select-Object Name, Id }
持续监控已建立的连接变化
当需要观察连接是否频繁断开或新连接是否突然增多时,可用循环刷新:
while ($true) { Clear-Host; Write-Host "【$(Get-Date -Format 'HH:mm:ss')】活跃连接数:" -NoNewline; (Get-NetTCPConnection | Where-Object {$_.State -eq 'Established'}).Count; Start-Sleep -Seconds 2 }
按 Ctrl + C 可随时停止。该方式能直观发现连接抖动或异常激增现象。
关联进程名称并排序高流量连接
仅看 PID 不够直观,加上进程名更易判断来源:
Get-NetTCPConnection | Where-Object {$_.State -eq 'Established'} | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, @{Name='Process';Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}}, OwningProcess | Sort-Object Process
常见需关注的进程包括:svchost.exe(可能承载系统服务)、msedge.exe(自动更新)、Teams.exe(会议数据)、OneDrive.exe(同步上传)等。
相关文章
- 谷歌把整个地球装进大模型 实时观测 按天更新 07-11
- 小扎一夜反水:背刺开源:亲手葬送Llama神话:股价大涨12% 07-11
- 又一国产旗舰模型开源:海外网友:中国AI开源四巨头已成 07-11
- 时空中的绘旅人千秋渡活动复刻 活动玩法复刻说明 07-11
- 全球AI人才榜:美中遥遥领先 07-11
- 刚刚:OpenAI推出学习模式:AI教师真来了:系统提示词已泄露 07-11