Skip to content

windows ​

端口查询命令 ​

一、命令概述 ​

命令类型适用终端输出形式定位
netstat老牌通用命令CMD/PowerShell/Linux纯文本字符串快速粗略查看,跨平台兼容
Get-NetTCPConnectionPowerShell专属cmdlet仅PowerShell结构化对象精准筛选、脚本自动化首选

二、netstat 常用用法 ​

基础参数 ​

  • -a:显示所有连接与监听端口
  • -n:数字格式展示,不解析域名
  • -o:附带关联进程PID

实操示例 ​

cmd
# 查看全部网络连接+PID
netstat -ano

# 筛选监听端口
netstat -an | findstr LISTENING

# 查询指定端口占用
netstat -ano | findstr ":8080"

# 查看路由表
netstat -r

# 网络流量统计
netstat -e

搭配查询 ​

cmd
# 根据PID查找进程
tasklist | findstr 进程ID

# 根据进程名查PID
tasklist | findstr chrome

三、Get-NetTCPConnection 常用用法 ​

基础查询 ​

powershell
# 查看所有监听端口
Get-NetTCPConnection -State Listen

# 查询指定单个端口
Get-NetTCPConnection -LocalPort 8080 -ErrorAction SilentlyContinue

# 批量查询多个端口
Get-NetTCPConnection -LocalPort 80,3306

# 查看UDP端口占用
Get-NetUDPEndpoint

筛选分类查询 ​

powershell
# 仅本地回环监听(仅本机访问)
Get-NetTCPConnection -State Listen | Where LocalAddress -eq 127.0.0.1

# 全网开放监听(局域网/外网可访问)
Get-NetTCPConnection -State Listen | Where LocalAddress -eq 0.0.0.0

# 展示端口+进程PID
Get-NetTCPConnection -State Listen | Select LocalAddress,LocalPort,OwningProcess

端口关联进程 ​

powershell
# 端口反查进程信息
$port = 7890
$pid = (Get-NetTCPConnection -LocalPort $port -EA SilentlyContinue).OwningProcess
Get-Process -Id $pid

四、端口进程查杀 ​

1. PowerShell 一键释放端口 ​

powershell
$port = 8080
$pid = (Get-NetTCPConnection -LocalPort $port -EA SilentlyContinue).OwningProcess
if ($pid) {
    Stop-Process -Id $pid -Force
    Write-Host "端口 $port 已释放"
} else {
    Write-Host "端口未被占用"
}

2. 按进程名结束程序 ​

powershell
Stop-Process -Name chrome -Force

五、两者核心差异 ​

  1. 解析能力
    • netstat:文本输出,提取端口、PID需字符串切割,易出错
    • Get-NetTCPConnection:对象属性直接调用,筛选取值便捷
  2. 使用场景
    • netstat:临时快速查看、老旧系统、跨系统通用
    • Get-NetTCPConnection:批量处理、自动化脚本、精准运维排查
  3. 功能拓展
    • netstat:基础网络信息,无原生筛选参数
    • Get-NetTCPConnection:自带状态、地址、端口筛选参数

六、常见默认端口释义 ​

端口对应服务
135/445Windows文件共享服务
3389远程桌面服务
53DNS域名解析服务
49664+系统动态预留端口
127.0.0.1绑定端口仅本机内部程序互通