惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
I
InfoQ
V
Visual Studio Blog
M
MIT News - Artificial intelligence
H
Help Net Security
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
A
About on SuperTechFans
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
WordPress大学
WordPress大学

OhYee 博客

小鹏辅助驾驶测评|OhYee 博客 小鹏非支持手机开启自动解锁|OhYee 博客 使用函数计算实现 301 重定向|OhYee 博客 针对 HTML 内容使用 Ant Design 图片弹框|OhYee 博客 博客进程泄露及僵尸进程解决|OhYee 博客 蓝易云服务器体验|OhYee 博客 SSH 调起本地 VSCode|OhYee 博客 【2022 秋招内推】阿里云后端研发工程师|OhYee 博客 使用函数计算获取 IP 地址信息|OhYee 博客 正确获取客户端 IP/HTTP Header 也可能重复|OhYee 博客 评测 Oculus Quest2 及 BigScreen|OhYee 博客 NextJS 热重载保留状态|OhYee 博客 如何优雅地贴 gist 代码|OhYee 博客 Linux 精细化文件权限|OhYee 博客 VSCode 容器开发环境|OhYee 博客 Clash 的不兼容更新排查|OhYee 博客 Zeek 导出 PCAP|OhYee 博客 记一次 ssh 配置问题|OhYee 博客 Git Commit 规范化工具|OhYee 博客 谈谈《星之卡比-探索发现》|OhYee 博客 VSCode 快捷键绑定 Shell 命令|OhYee 博客 ASN.1 语法及 X.509 证书格式解析解析|OhYee 博客 腾讯企业邮箱忽略 MX 记录发信|OhYee 博客 Chrome/Edge 标签组插件|OhYee 博客 【应届内推】阿里云后端研发工程师|OhYee 博客 损坏的 Typecho 备份处理为 JSON|OhYee 博客 VS Code VIM 插件高效使用|OhYee 博客 SSH 正反向代理|OhYee 博客 Let's Encrypt 根证书过期引发的问题|OhYee 博客 OpenWRT 忽略内核依赖|OhYee 博客
Windows 端口监听失败|OhYee 博客
2020-12-06 · via OhYee 博客

这是一篇最后编辑于 6 年前 的文章,其内容可能与目前实际情况差异较大,请注意甄别

Windows 端口监听失败

在监听端口过程中,经常会遇到这样的报错

10013: An attempt was made to access a socket in a way forbidden by its access permissions
[WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试

通常,造成该问题的原因是端口占用,可以检查相应端口的进程并关闭。如,检查占用 1080 的应用

netstat -ano | findstr 1080

但是,很多时候下,会发现端口并未被占用,仍然报这个错误。这时大概率的原因是该端口被系统保留。

使用下面的命令,可以查看被保留的端口范围

> netsh int ipv4 show excludedportrange tcp

协议 tcp 端口排除范围

开始端口    结束端口
----------    --------
      1024        1281
      3945        4044
      4045        4144
      4145        4244
      5357        5357
      6070        6169
      6170        6269
      6270        6369
      6370        6469
      6470        6569
      6771        6870
      6871        6970
      6971        7070
      7071        7170
      7171        7270
      7571        7670
      7681        7780
      7781        7880
      7881        7980
      7981        8080
      8082        8181
      8182        8281
      8308        8407
      9001        9001
     50000       50059     *

* - 管理的端口排除。

如果相应的程序(大概率是 Hyper-V)没有运行,可以使用下面的程序把 1080~1090 范围从保留中去除

netsh int ipv4 add excludedportrange tcp 1080 10

如果 Hyper-V 在运行中,则可以分别使用下面的命令开关 Hyper-V,不过一般直接关闭 Hyper-V 重启后,程序会占用对应的端口,下次再启动就不会保留用到的端口了

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V

也有人给出了如下方案:

netsh int ipv4 set dynamic tcp start=51001 num=5000
reg add HKLM\SYSTEM\CurrentControlSet\Services\hns\State /v EnableExcludedPortRange /d 0 /f
netsh int ipv4 show excludedportrange protocol=tcp

参考资料