【Windows端口管理】快速查看和释放被系统保留的TCP端口
问题描述
在Windows系统开发时,经常遇到端口无法使用的问题。系统会自动保留一系列TCP/UDP端口范围,导致应用程序无法绑定这些端口。
查看所有被保留的端口范围
查看TCP保留端口
# 查看所有TCP端口排除范围
netsh interface ipv4 show excludedportrange protocol=tcp
查看UDP保留端口
# 查看所有UDP端口排除范围
netsh interface ipv4 show excludedportrange protocol=udp
检查特定端口是否被保留
方法一:使用netstat检查端口占用
# 检查指定端口是否被占用(将55000替换为你要检查的端口)
netstat -ano | findstr :55000# 查看所有端口占用情况
netstat -ano
方法二:结合查看排除范围
先运行查看命令,然后在输出结果中查找你的目标端口是否在任何一个Start Port - End Port
范围内。
释放被保留的端口
通用释放方法(适用于任何端口)
以管理员身份打开CMD或PowerShell:
# 1. 首先查看当前的排除范围,找到目标端口所在的区间
netsh interface ipv4 show excludedportrange protocol=tcp# 2. 停止网络服务
net stop winnat# 3. 移除特定的端口排除范围(根据第一步查到的范围)
# 语法:netsh int ipv4 delete excludedportrange protocol=tcp startport=起始端口 number=数量
netsh int ipv4 delete excludedportrange protocol=tcp startport=54999 number=100# 4. 重启网络服务
net start winnat# 5. 验证排除范围已移除
netsh interface ipv4 show excludedportrange protocol=tcp
批量释放多个范围
net stop winnat# 一次移除多个排除范围
netsh int ipv4 delete excludedportrange protocol=tcp startport=50000 number=60
netsh int ipv4 delete excludedportrange protocol=tcp startport=54999 number=100
netsh int ipv4 delete excludedportrange protocol=tcp startport=55600 number=100net start winnat
完全重置所有端口排除
# 停止服务
net stop winnat# 完全重置IPv4设置(会清除所有排除范围)
netsh int ipv4 reset# 启动服务
net start winnat# 验证所有排除范围已清除
netsh interface ipv4 show excludedportrange protocol=tcp
实用技巧
1. 查找特定端口在哪个排除范围内
# 查看所有TCP排除范围
netsh interface ipv4 show excludedportrange protocol=tcp# 在输出中查找你的目标端口落在哪个Start Port - End Port区间内
2. 计算要移除的端口数量
数量 = End Port - Start Port + 1
例如:54999-55098 → 数量 = 55098 - 54999 + 1 = 100
3. 一键检查并提示
@echo off
echo 正在检查TCP端口排除范围...
netsh interface ipv4 show excludedportrange protocol=tcp
echo.
echo 请查看上面的输出,找到你要使用的端口是否在排除范围内
echo 如果在某个范围内,使用以下命令释放:
echo netsh int ipv4 delete excludedportrange protocol=tcp startport=起始端口 number=数量
pause
注意事项
必须使用管理员权限运行这些命令
操作后可能需要重启你的应用程序
Docker、Hyper-V等软件可能会重新设置排除范围
如果经常需要特定端口,考虑在应用程序中改用其他端口
总结
通过以上方法,你可以:
✅ 查看所有被系统保留的端口范围
✅ 检查任意特定端口是否可用
✅ 释放任何被保留的端口
✅ 彻底重置所有端口排除设置
希望这篇指南能帮助你解决Windows端口占用问题!如果有其他疑问,欢迎在评论区交流。