在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被系统占用了。
注意:只有查看系统保留端口是非管理员,其他指令执行都是需要管理员权限。
浙公网安备 33010602011771号