Appearance
windows
端口查询命令
一、命令概述
| 命令 | 类型 | 适用终端 | 输出形式 | 定位 |
|---|---|---|---|---|
netstat | 老牌通用命令 | CMD/PowerShell/Linux | 纯文本字符串 | 快速粗略查看,跨平台兼容 |
Get-NetTCPConnection | PowerShell专属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五、两者核心差异
- 解析能力
- netstat:文本输出,提取端口、PID需字符串切割,易出错
- Get-NetTCPConnection:对象属性直接调用,筛选取值便捷
- 使用场景
- netstat:临时快速查看、老旧系统、跨系统通用
- Get-NetTCPConnection:批量处理、自动化脚本、精准运维排查
- 功能拓展
- netstat:基础网络信息,无原生筛选参数
- Get-NetTCPConnection:自带状态、地址、端口筛选参数
六、常见默认端口释义
| 端口 | 对应服务 |
|---|---|
| 135/445 | Windows文件共享服务 |
| 3389 | 远程桌面服务 |
| 53 | DNS域名解析服务 |
| 49664+ | 系统动态预留端口 |
| 127.0.0.1绑定端口 | 仅本机内部程序互通 |