背景:spring boot启动报端口被占用,但通过netstat -ano|findStr 端口号没查到端口有使用
查了防火墙没有相应的出栈入栈规则
(1)原因排查
以下命令建议使用PowerShell 管理员权限打开执行
端口被系统保留了
netsh int ipv4 show excludedportrange protocol=tcp

可以使用如下命令,看看保留端口段被哪个应用占用了
Get-NetTCPConnection -State Listen | Select-Object LocalPort, OwningProcess | Sort-Object LocalPort
命令解释:
1. Get-NetTCPConnection -State Listen
-
Get-NetTCPConnection: 获取系统中所有的 TCP 网络连接信息 -
-State Listen: 只筛选出处于"监听"状态的连接-
Listen状态表示该端口正在等待接收传入的连接请求 -
其他可能的状态包括:
Established(已建立)、TimeWait、CloseWait等
-
2. | Select-Object LocalPort, OwningProcess
-
|(管道符): 将前一个命令的输出传递给后一个命令 -
Select-Object: 选择要显示的特定属性 -
LocalPort: 显示本地监听的端口号 -
OwningProcess: 显示拥有该连接/端口的进程 ID (PID)
3. | Sort-Object LocalPort
-
Sort-Object LocalPort: 按照端口号从小到大进行排序
然后用下面命令查看对应进程id的信息
Get-Process -Id 4840
(2)解决方案
删除端口排除:
net stop winnat
netsh int ipv4 delete excludedportrange protocol=tcp startport=50000 number=60
net start winnat

4297

被折叠的 条评论
为什么被折叠?



