新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/1 20:46:35来源:尧图网络
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 折磨了两个小时之后。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/1 1:42:41

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/1 2:34:07

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/1 2:01:57

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/1 3:13:10

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/1 2:11:52

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/1 3:23:38

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉