immersed-in-the-deep-sea

导航

 

在netstat中,查询端口,可能会查询不到一些端口,但又确实被使用了,这些端口就是系统端口占用。

netstat -aon | findstr ${port}

如果要看系统占用了哪些端口,使用指令

netsh interface ipv4 show excludedportrange protocol=tcp

显示如下

协议 tcp 端口排除范围

开始端口    结束端口
----------    --------
        80          80
     20210       20210     *
     20445       20445     *
     47001       47001
     50000       50059     *
     53721       53820
     53821       53920
     53921       54020
     54021       54120
     54121       54220
     54221       54320
     54321       54420
     54421       54520

* - 管理的端口排除。

注意:

每次重启电脑后都会出现很多不带星号的,你可以用这些来做测试。

带星号的,说明系统不会去占用这些端口,被你当做了白名单。

如何添加这些端口

netsh int ipv4 add excludedportrange protocol=tcp startport=10000 numberofports=5

这样就是添加从10000到10005这个端口,让系统不占用他。你自己就能使用,就会标记为带星号。

你可以清除你自己的白名单,使用指令

netsh int ipv4 delete excludedportrange protocol=tcp startport=${portRange.start} numberofports=${portNumber}

 

如果你想清除系统保留端口,只能使用如下方式

net stop winnat 
net start winnat

这两句执行后,会释放大多数系统端口,会保留少量,比如还有80和47000被系统占用了。

 

注意:只有查看系统保留端口是非管理员,其他指令执行都是需要管理员权限。

 

posted on 2025-04-24 10:56  沉浸深海  阅读(147)  评论(0)    收藏  举报