Windows幽灵端口占用:HNS如何无声偷走你的端口

发布时间:2026/11/11 18:17:09

Windows幽灵端口占用:HNS如何无声偷走你的端口 Windows 幽灵端口占用HNS 如何无声地偷走你的端口起因事情发生在调试一个本地 Python 代理服务deepseek-web-agent时。用uvicorn启动 FastAPI 服务绑定127.0.0.1:48391结果报错OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。第一反应端口被占了。于是netstat-ano|grep48391空的。没有任何进程在用这个端口。换了个思路用 Python 直接试importsocket ssocket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((127.0.0.1,48391))报错变成了OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。10013不是 10048。这不是端口被占用而是权限拒绝。端口没人用但系统不让你绑。第一嫌疑人防火墙查看 Windows 防火墙规则Get-NetFirewallRule|Where-Object{($_.DisplayName-like*python*)-and$_.Action-eqBlock}果然找到了两条Block 规则DisplayNameDirectionActionProgramPythonInboundBlockcpython-3.11.15\python.exePythonInboundBlockcpython-3.11.15\python.exe这是 Windows 防火墙的查询用户规则 — 当程序首次尝试联网时弹窗询问如果用户选了不允许或弹窗超时Windows 就自动生成一条 Block 规则。而且Block 规则优先级高于 Allow 规则。在管理员 PowerShell 里删掉Get-NetFirewallRule|Where-Object{($_.DisplayName-like*python*)-and$_.Action-eqBlock}|Remove-NetFirewallRule满怀信心再试……还是 10013。第二嫌疑人端口排除范围Windows 有端口排除机制某些系统服务会预留端口范围netsh interface ipv4 show excludedportrange protocoltcpProtocol tcp Port Exclusion Ranges Start Port End Port ---------- -------- 5357 5357 50000 50059 * 55778 55778 *48391 不在任何排除范围内。排除嫌疑。动态端口范围也不覆盖这个区间netsh int ipv4 show dynamicport tcp# Start Port: 49152, Number of Ports: 16384关键发现大范围端口扫描到这里常规排查已经穷尽了。于是做了一件该早点做的事 —全端口扫描importsocketforportinrange(47000,49153):try:ssocket.socket(socket.AF_INET,socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)s.bind((127.0.0.1,port))s.close()exceptOSError:failed.append(port)结果失败范围: 47000-48715整整1716 个端口一整块全部 10013。再往其他范围扫8848: FAIL 9000-9001: FAIL 9200: FAIL 9848-9849: FAIL 9876: FAIL一些散落的知名端口也被拦了。但 8080、30000、40000、49000 全部畅通。这不是防火墙的行为模式。防火墙是按规则匹配的不会精确地只拦某个端口段。这是一种更底层的、系统级的端口预占。真凶HNSHost Network Service查看正在运行的服务Get-Service|Where-Object{$_.Status-eqRunning-and($_.Name-like*hns*-or$_.Name-like*vm*-or$_.Name-like*wsl*)}hns 主机网络服务 Running vmcompute Hyper-V 主机计算服务 Running WSLService WSL Service Running三个全在跑。HNSHost Network Service是 Windows 为 Hyper-V 和 WSL2 提供虚拟网络的核心服务。它会在启动时动态预留一大块端口范围用于 NAT、端口转发和虚拟交换机通信。关键问题是HNS 的端口预留不会出现在netsh show excludedportrange里。这是 Windows 的已知行为 — HNS 通过 WFP (Windows Filtering Platform) 直接在内核层面锁定端口绕过了传统的端口排除机制。所以你用netstat看不到、用netsh查不到、用Get-NetTCPConnection也查不到。端口表面上空闲但实际上被内核级的网络过滤器锁住了。为什么 8080 能用因为 HNS 预留的是47000-48715这个区间以及一些散落的常用端口用于内部服务通信。8080 不在这个范围内自然不受影响。解决方案方案 1换个端口推荐零成本用 49152 以上的端口这是 Windows 动态端口范围的起点HNS 通常不会碰PORT49152# 在 HNS 管辖范围之外方案 2手动预留端口需要重启在注册表中添加端口预留让系统在 HNS 之前先占住这个端口# 管理员 PowerShellnetsh int ipv4 add excludedportrange protocoltcp startport48391 numberofports10 storepersistent然后重启电脑。但问题是 HNS 可能在你重启后重新抢走这个范围。方案 3调整 HNS 配置治本但有副作用可以限制 HNS 的动态端口范围但这会影响 WSL2 和 Hyper-V 虚拟机的网络功能。除非你真的需要那些端口否则不建议动。教训netstat看不到不代表端口没被占。Windows 有内核级的网络过滤机制不走传统的端口注册。WinError 10013 和 10048 的区别很重要。10048 是端口被占用别人在用10013 是权限拒绝系统不让你用。排查方向完全不同。开了 WSL2/Hyper-V 就等于让 HNS 接管了一部分端口空间。这个在任何文档里都不会告诉你。大范围端口扫描是最有效的排查手段。当netstat和netsh都说没问题的时候直接上 Python 扫一遍几分钟就能画出完整的端口地图。Windows 的网络栈比你想象的复杂得多。防火墙、HNS、WFP、http.sys、动态端口……每一层都可能在你不知情的情况下拦截你的连接。写于 2026 年 6 月 26 日深夜在被 Windows 折磨了两个小时之后。
延伸阅读

更多相关文章

2026/11/11 18:17:07

云客服系统“消息太多管不过来”?智能分配与自动化工作流方案

文章摘要在线客服团队面临的核心矛盾不是人手不够,而是消息分配方式停留在“平均主义”阶段——高价值客户和普通咨询混在同一队列,资深客服和新手处理同等难度的会话。本文从技术实现视角,拆解云客服系统从“手动分配”到“智能调度”的升级…

2026/11/8 0:17:21

2026大模型语音机器人选型指南:避开“伪智能”陷阱选对真AI

文章摘要大模型语音机器人市场在2026年进入爆发期,但“伪智能”问题也随之凸显——不少产品仅在外层包装了大模型接口,核心对话引擎仍依赖传统关键词匹配。本文从技术架构视角拆解真伪AI语音机器人的四个关键区分维度:语音识别层、语义理解层…

2026/11/11 18:16:01

工地太忙根本没时间复习考试?河源电工证样式保姆级教程来了

工地太忙根本没时间复习考试?河源电工证样式保姆级教程来了 工地太忙根本没时间复习考试,这几乎是所有一线作业人员的共识,尤其是像电工这样的特种作业岗位, 河源电工证样式 不仅关乎能否上岗,更影响到你的薪资待遇和职业发展。别担心,今天这套…

2026/11/11 18:16:01

在儋州哪里考电工证 含金量怎么体现

在儋州哪里考电工证 含金量怎么体现 学历不高怕报不上名,别慌,我来给你说说 在儋州哪里考电工证 的真相。很多人以为学历不够就没办法考电工证,其实不是,只要你符合年龄、健康和实操要求,就可以报考。关键是,这个证的 含金量…

2026/11/11 18:16:01

榆树市电工证培训机构实操考试考什么?全国通用证书怎么考

榆树市电工证培训机构实操考试考什么?全国通用证书怎么考 工地太忙根本没时间复习考试,每天从早忙到晚,连饭都顾不上吃,更别说抽时间去准备电工证考试了。可偏偏这个证是全国通用的,不管你走到哪个工地、哪个项目,都得有它。今天就从开封劳务班组负责人…

2026/11/11 18:10:59

泰州高压电工证怎么考?考前押题怎么选才不踩坑

泰州高压电工证怎么考?考前押题怎么选才不踩坑 之前考的证在外省能不能转过来?很多人在泰州备考高压电工证的时候,心里都打鼓,毕竟现在考证门槛越来越高,而且各地政策不一,转证流程复杂,一不小心就耽误了工作。尤其是从外省转过来的,更需要了解清楚泰…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/10 20:08:15

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑