发布时间:2026/7/28 1:14:07
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/7/28 1:09:06

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

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

2026/7/28 1:09:06

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

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

2026/7/28 2:34:11

YOLO 完整详细介绍

目录 YOLO 完整详细介绍 一、基础定义 核心定位 二、YOLO 核心底层原理(通用逻辑) 1. 网格划分机制 2. 输出向量含义(以 YOLOv1 举例) 3. Anchor 锚框(v2 及之后标配) 4. 网络通用三段式结构(v4/v5/v8/v11 统一架构) 5. 后处理流程(推理完成后) 6. 损失函数…

2026/7/28 2:34:11

基于深度学习的会飞昆虫识别系统设计与优化

1. 项目概述:会飞的昆虫识别系统设计这个毕设项目的核心目标是构建一个能够自动识别会飞昆虫的深度学习系统。作为计算机视觉与生物学的交叉应用,这类系统在生态监测、农业害虫防治等领域具有重要价值。我选择PythonPytorch技术栈的原因很简单&#xff1…

2026/7/27 9:04:58

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/28 0:03:34

学术论文研究创新点梳理与核心价值提炼指南

本科毕业论文是大学四年最大的坎。开题报告憋一周写不出三页,找文献翻遍十几个网站还是缺关键资料,写正文卡壳半天憋不出一句话,降重改到凌晨三点结果逻辑全乱,答辩前一天PPT还没做完。别慌,亲测这四个工具能让你少熬半…

2026/7/28 0:03:34

开发商售楼处数字化升级怎么做?

房企的数字化转型投入正在快速增长,据行业数据显示,2025年房企数字化投入规模已突破800亿元,年复合增长率达35%。售楼处的数字化升级不是单一环节的改造,而是从“获客-展示-成交-服务”全链路的系统升级。数字化升级四步法第一步&…

2026/7/28 0:03:34

模型不再值钱之后,AI 编程工具在争什么

2026 年 7 月,AI 编程工具赛道发生了一个标志性转折:模型本身不再值钱了。当 Kimi K3 开源模型在编程基准上击败 GPT 和 Claude,当 GitHub Copilot 第一次把开源模型纳入选择器,当 OpenAI 把 Codex 并入 ChatGPT 做成三合一超级应…

2026/7/27 3:13:33

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…