Habitat仿真器实战:MP3D、HM3D与Gibson三大数据集一站式配置指南
1. 为什么你需要这份Habitat数据集配置指南如果你正在研究机器人导航、视觉语言模型VLM的具身智能或者任何需要让AI在虚拟房子里“走来走去”的任务那你肯定绕不开Habitat这个仿真平台。它就像是为AI智能体打造的“虚拟现实健身房”而MP3D、HM3D和Gibson这三大室内场景数据集就是健身房里的核心训练场地。但说实话我第一次接触Habitat准备下载这些数据集的时候那感觉真是“从入门到放弃”。官方文档写得比较学术化社区脚本版本混乱动辄几百GB的数据下载到一半出错解压后目录结构看不懂配置环境变量更是让人头大。我花了整整一周时间踩遍了所有的坑才把这三个数据集都成功跑起来。所以我决定把这一路的实战经验包括那些官方文档里没写的细节、社区脚本的“坑”以及我自己的解决方案全部整理出来。这份指南的目标很简单让你在一个下午的时间里从零开始把Habitat仿真器和这三个主流数据集都配置好并能成功运行一个最简单的导航demo。我会手把手带你走通每一步把复杂的技术细节掰开揉碎用最直白的话讲清楚。无论你是刚入门的研究生还是想快速验证想法的工程师这份指南都能帮你省下大量折腾环境的时间。2. 三大数据集全景图MP3D、HM3D、Gibson该怎么选在动手下载之前我们得先搞清楚这三个“大家伙”到底有什么区别不然辛辛苦苦下载了几百GB的数据结果发现不适合自己的任务那就太亏了。我把它们三个的核心特点做成了一个对比表格你可以一眼看明白。特性Matterport3D (MP3D)Habitat-Matterport 3D (HM3D)Gibson数据来源真实的 Matterport 3D 扫描房屋基于 MP3D 数据经过 Habitat 团队重新处理、标注和优化源自斯坦福 2D-3D-S 数据集及部分模拟环境场景数量约 90 个大型、多样的真实住宅约 1000 个高质量、稠密标注的场景包含训练/验证/测试集划分约 500 个场景原始 Gibson v1部分为模拟生成数据规模极大完整集约1.3TB包含多种传感器数据RGB、深度、HDR、网格等较大完整集约数百GB专注于稠密语义标注和高质量重建适中完整集约几十GB场景相对较小渲染速度快核心优势真实性极高数据维度最全适合需要高保真视觉或多模态感知的研究标注质量顶级场景划分清晰是 Habitat 挑战赛的官方数据集社区支持最好轻量、高效对计算资源要求低适合快速原型验证和算法迭代主要用途视觉导航、场景理解、3D重建、视觉语言任务需要真实感** embodied AI 研究的黄金标准**尤其适合点目标导航PointNav、对象导航ObjectNav等任务轻量级仿真、强化学习训练、移动机器人算法初步测试上手难度最高数据庞大处理复杂官方脚本有兼容性问题中等有官方维护的下载工具流程相对规范最低数据量小下载配置简单我的个人经验与选择建议如果你是新手或者想快速验证一个导航算法从 Gibson 开始。它的数据量小下载快配置简单能在你的笔记本上流畅运行。用它来熟悉 Habitat 的 API 和基本流程性价比最高。如果你要做严肃的学术研究准备发论文HM3D 是你的首选。它是当前 embodied AI 社区的事实标准几乎所有主流论文和挑战赛都基于它。数据质量高划分科学结果有可比性。虽然下载需要一些时间但一步到位避免后续切换数据集的麻烦。如果你的研究高度依赖极致真实的视觉外观或复杂的多模态数据那么你需要啃下 MP3D 这块硬骨头。比如做材质识别、光照估计、全景图生成等任务MP3D 提供的 HDR 图像、天空盒、网格模型是无可替代的。但要做好心理准备处理它需要更多的磁盘空间和耐心。简单来说Gibson 是“试驾车”HM3D 是“主力战车”MP3D 是“专业工程车”。搞清楚你的任务选对车才能开得更快更稳。3. 实战第一步搞定MP3D数据集下载与配置MP3D是块难啃的骨头主要难在两点一是官方提供的下载脚本是Python2写的现在主流环境都是Python3直接运行会报一堆错二是数据量巨大下载过程中网络不稳定很容易中断。别担心我已经帮你把坑都填平了。3.1 修复官方脚本的Python3兼容性问题官方让你发邮件获取的download_mp.py脚本默认只能在 Python2 环境下运行。如果你直接用在 Python3 上会遇到urllib模块导入错误、字符串编解码问题等。我花了些时间已经把脚本的关键部分修复好了。下面是我修改后的核心部分你可以直接复制使用或者基于你自己的脚本进行对照修改。#!/usr/bin/env python # Downloads MP public data release # Run with ./download_mp.py (or python download_mp.py on Windows) # -*- coding: utf-8 -*- import argparse import os import tempfile import urllib.request # Python3 使用 urllib.request import urllib.parse import urllib.error BASE_URL http://kaldir.vc.in.tum.de/matterport/ RELEASE v1/scans RELEASE_TASKS v1/tasks/ RELEASE_SIZE 1.3TB TOS_URL BASE_URL MP_TOS.pdf # ... (FILETYPES 和 TASK_FILES 字典定义保持不变此处省略以节省篇幅) ... def get_release_scans(release_file): # Python3 使用 urllib.request.urlopen并需要解码字节流 scan_lines urllib.request.urlopen(release_file) scans [] for scan_line in scan_lines: scan_id scan_line.decode(utf-8).rstrip(\n) # 关键修复解码为字符串 scans.append(scan_id) return scans def download_file(url, out_file): out_dir os.path.dirname(out_file) if not os.path.isfile(out_file): print(\t url out_file) fh, out_file_tmp tempfile.mkstemp(dirout_dir) os.close(fh) # 安全关闭文件描述符 # Python3 使用 urllib.request.urlretrieve urllib.request.urlretrieve(url, out_file_tmp) os.rename(out_file_tmp, out_file) else: print(WARNING: skipping download of existing file out_file) # ... (download_scan, download_release, download_task_data 函数需相应微调主要涉及urlopen和print语句) ... def main(): parser argparse.ArgumentParser(description..., formatter_classargparse.RawTextHelpFormatter) # ... (参数定义保持不变) ... args parser.parse_args() print(By pressing any key to continue you confirm that you have agreed to the MP terms of use as described at:) print(TOS_URL) print(***) print(Press any key to continue, or CTRL-C to exit.) # Python3 中使用 input() key input() # ... (后续逻辑判断部分基本保持不变注意函数调用适配) ... if __name__ __main__: main()关键修改点说明导入模块将import urllib改为import urllib.request。get_release_scans函数urllib.urlopen改为urllib.request.urlopen并且对读取的每一行scan_line进行.decode(utf-8)操作将其从字节流转换为字符串。download_file函数urllib.urlretrieve改为urllib.request.urlretrieve。同时处理临时文件描述符的方式更安全。用户输入Python2 中的raw_input在 Python3 中就是input脚本如果原来用的是raw_input也需要改。你可以将上面修复了核心函数的脚本保存为download_mp3d_py3.py。这样你就拥有了一个能在现代Python环境下运行的下载工具。3.2 分步下载与高效管理策略拿到可用的脚本后别急着下载全部1.3TB的数据。我推荐一个更聪明的策略第一步只下载Habitat所需的最小数据子集。MP3D数据包里有几十种文件类型但Habitat仿真器主要只需要matterport_skybox_images用于渲染和house_segmentations用于语义分割任务。我们可以通过--type参数指定。# 假设你的脚本名为 download_mp3d_py3.py 目标目录为 ./mp3d_data python download_mp3d_py3.py -o ./mp3d_data --id ALL --type matterport_skybox_images house_segmentations这个命令会下载所有场景的这两个必要文件数据量会大大减少可能只有一两百GB先让环境跑起来是关键。第二步使用--task habitat参数下载官方预处理好的Habitat格式数据。这是最省事的方法Matterport官方为Habitat专门预处理了一个数据包包含了仿真器直接可用的.glb场景文件和.json配置文件。python download_mp3d_py3.py --task habitat -o ./这个mp3d_habitat.zip文件大概几十GB解压后就能直接集成到Habitat中。我强烈建议新手先从这一步开始它能让你瞬间跳过最繁琐的数据转换步骤。第三步处理大文件下载中断问题。下载几百GB的数据网络波动、断电都是噩梦。脚本本身没有断点续传功能。我的土办法是分场景下载。先获取所有场景ID列表脚本里会从release_file读取然后写一个简单的Shell脚本用--id参数一个一个场景地下。这样即使某个场景下载失败也只需要重试那一个不会前功尽弃。# 示例手动下载单个场景例如17DRP5sb8fy python download_mp3d_py3.py -o ./mp3d_data --id 17DRP5sb8fy --type matterport_skybox_images第四步解压与目录组织。下载下来的都是.zip文件每个场景一个文件夹里面按文件类型分拆。你需要将它们全部解压。在Linux/Mac下可以进入v1/scans目录用一行命令批量解压find . -name *.zip -exec unzip -q {} \; -exec rm {} \;这条命令会找到所有zip文件解压后并删除原压缩包-exec rm {} \;请谨慎使用确认解压成功后再删除。最终你的mp3d_data目录结构应该类似这样mp3d_data/ └── v1/ ├── scans/ │ ├── 17DRP5sb8fy/ │ │ ├── matterport_skybox_images/ │ │ │ ├── 0_skybox*.jpg │ │ │ └── ... │ │ ├── house_segmentations/ │ │ └── ... (其他已下载的数据类型) │ └── ... (其他场景) └── tasks/ (如果你下载了task数据比如habitat) └── mp3d_habitat.zip (或解压后的文件夹)4. 更友好的选择HM3D数据集配置详解如果你觉得MP3D太复杂那么HM3D绝对是你的福音。它是FacebookMetaAI团队专门为Habitat优化打造的数据集下载和配置流程友好得多。4.1 使用官方CLI工具轻松下载Habitat-Lab仓库提供了一个名为habitat-sim的命令行工具其中就包含了下载HM3D数据的模块。这是最官方、最稳定的方式。首先确保你已经安装了habitat-lab和habitat-sim建议通过源码安装以获取最新功能。然后使用以下命令# 下载完整的HM3D数据集约200GB python -m habitat_sim.utils.datasets_download --uids hm3d --data-path ./hm3d_data # 如果你只想下载训练集用于算法开发 python -m habitat_sim.utils.datasets_download --uids hm3d_train --data-path ./hm3d_data # 也可以下载验证集或测试集 # --uids hm3d_val # --uids hm3d_test这个工具会自动处理下载、校验和解压你只需要指定一个存储路径--data-path即可。它会将数据组织成Habitat直接识别的格式。4.2 理解HM3D的数据结构下载完成后进入./hm3d_data目录你会看到类似这样的结构hm3d_data/ └── hm3d/ ├── anim_2022.05_beta/ │ └── ... (一些元数据文件) ├── hm3d_annotated_basis.scene_dataset_config.json # **重要场景数据集配置文件** ├── hm3d_basis.scene_dataset_config.json └── minival/ ├── 00021-u7m7cDqHAFP/ │ ├── 00021-u7m7cDqHAFP.basis.glb │ ├── 00021-u7m7cDqHAFP.navmesh │ ├── 00021-u7m7cDqHAFP.semantic.glb │ └── 00021-u7m7cDqHAFP.hm3d-semantic-annotated.semantic.txt └── ... (其他场景)这里有几个关键文件.glb文件这是场景的3D模型文件basis.glb是基础几何semantic.glb包含了语义标注信息。.navmesh文件导航网格这是Habitat智能体能够行走的可行走表面定义。没有它智能体就会“穿墙”或“掉下地板”。.json配置文件这是告诉Habitat如何加载这些数据的“地图”。特别是hm3d_annotated_basis.scene_dataset_config.json它定义了所有场景的路径、语义标注映射关系。配置Habitat使用HM3D你不需要手动设置复杂的路径。只需要在创建Habitat环境时在配置文件里指定这个scene_dataset_config文件的路径即可。例如在你的任务配置文件YAML中会有如下配置# 你的任务配置文件例如 pointnav_hm3d.yaml SIMULATOR: SCENE: data/hm3d/minival/00021-u7m7cDqHAFP/00021-u7m7cDqHAFP.basis.glb # 指定具体场景文件 SCENE_DATASET: data/hm3d/hm3d_annotated_basis.scene_dataset_config.json # 指定数据集配置文件 ...这样Habitat就能自动加载场景、导航网格和语义信息了。5. 轻量级入门Gibson数据集的快速配置Gibson数据集以其轻量和高效著称非常适合快速启动项目。它的配置是最简单的。5.1 下载与解压Gibson数据集的下载链接通常可以在其官方GitHub仓库或相关论文中找到。这里假设你下载了核心的gibson_v1.zip或类似压缩包。# 1. 创建一个目录并进入 mkdir -p ./gibson_data cd ./gibson_data # 2. 下载数据集 (示例链接请以官方最新链接为准) # wget http://some-official-path/gibson_v1.zip # 3. 解压 unzip gibson_v1.zip解压后的目录结构非常直观gibson_data/ ├── Gibson_v1/ │ ├── Adrian.glb │ ├── Adrian.navmesh │ ├── Adrian.semantic.glb │ ├── Adrian.semantic.txt │ ├── Almena.glb │ └── ... (其他约500个场景每个场景4个文件) └── gibson.scene_dataset_config.json # 配置文件5.2 集成到Habitat并运行测试与HM3D类似你需要让Habitat知道去哪里找这些文件。有两种方法方法一修改Habitat-Lab的默认配置文件。找到你安装的habitat-lab目录下的configs/tasks/或habitat-lab/habitat/config/benchmark/nav/中的配置文件如pointnav_gibson.yaml。将里面的SCENE_DATASET和SCENE路径修改为你本地的实际路径。# 修改 pointnav_gibson.yaml SIMULATOR: SCENE_DATASET: /absolute/path/to/your/gibson_data/Gibson_v1/gibson.scene_dataset_config.json SCENE: data/scene_datasets/gibson/Adrian.glb # 这个路径是相对于SCENE_DATASET中定义的通常只需改SCENE_DATASET的绝对路径方法二推荐在代码中动态指定。在你自己写的Python训练或评估脚本中直接加载配置文件并覆盖路径。import habitat from habitat.config.default import get_config config get_config(configs/tasks/pointnav_gibson.yaml) # 覆盖配置文件中的路径 config.defrost() config.SIMULATOR.SCENE_DATASET /home/yourname/code/gibson_data/Gibson_v1/gibson.scene_dataset_config.json config.SIMULATOR.SCENE Adrian.glb # 场景名路径会基于SCENE_DATASET自动补全 config.freeze() # 创建环境 env habitat.Env(configconfig)完成配置后你可以运行Habitat-Lab仓库中提供的示例脚本比如examples/tutorials/navigation_tutorial.py将配置文件路径指向你修改好的pointnav_gibson.yaml就能看到智能体在Gibson场景中运行了。6. 避坑指南与常见问题排查在这一部分我想分享几个我踩过的大坑和对应的解决方案希望能帮你顺利过关。坑1MP3D下载脚本运行时提示SSL: CERTIFICATE_VERIFY_FAILED错误。这通常发生在MacOS或某些Python环境。原因是Python的SSL证书验证问题。解决方案在运行脚本前临时设置一个环境变量跳过验证不推荐长期使用export PYTHONHTTPSVERIFY0 python download_mp3d_py3.py ...或者更彻底的方法是安装并更新Python的证书包。对于Mac可以运行/Applications/Python\ 3.x/Install\ Certificates.command具体路径根据你的Python版本调整。坑2下载HM3D或Gibson时速度极慢甚至失败。这些数据集托管在海外服务器国内直接下载可能不稳定。解决方案使用代理如果你有稳定的网络加速方式可以配置命令行代理如export http_proxyhttp://your-proxy:port。寻找国内镜像关注国内AI社区如知乎、GitHub有时会有热心研究者提供的网盘镜像链接。分时段下载在凌晨或清晨网络空闲时段尝试。坑3成功下载并配置后运行Habitat示例代码时提示FileNotFoundError或Scene could not be loaded。这是最常见的问题99%的原因是路径配置错误。排查步骤检查绝对路径确保配置文件中SCENE_DATASET使用的是绝对路径。使用os.path.abspath()在脚本中打印出来确认。检查文件权限确保你的用户有读取这些数据文件的权限。检查JSON配置文件用文本编辑器打开gibson.scene_dataset_config.json或hm3d_*.scene_dataset_config.json查看其中scene_path字段指向的目录是否正确。有时需要将其修改为你本地的绝对路径。检查.glb文件完整性尝试用3D查看器如MeshLab打开一个.glb文件确认文件没有在下载或解压过程中损坏。坑4运行仿真时帧率FPS很低非常卡顿。这通常是由于场景过于复杂而你的硬件尤其是显卡跟不上。解决方案降低渲染分辨率在配置文件中找到SIMULATOR.RGB_SENSOR.HEIGHT和WIDTH将其从512或256降低到128或64。关闭不必要的传感器如果你暂时不需要深度图、语义分割图在配置文件中将其TYPE设为NONE。使用headless模式如果你不需要可视化界面只在后台训练在配置文件中设置SIMULATOR.HEADLESS: True可以大幅提升性能。从Gibson开始如果硬件确实有限Gibson数据集对硬件的要求最低是更好的起点。配置这些数据集的过程就像在为一个复杂的机器人搭建训练场。一开始可能会觉得步骤繁琐但一旦你把场地搭建好后面所有精彩的实验和算法迭代都可以在这个稳定的基础上进行。我建议你按照指南的顺序先从最简单的Gibson开始成功运行第一个Demo建立信心然后再挑战HM3D和MP3D。过程中如果遇到任何文档里没写清楚的问题多去Habitat-Lab的GitHub Issues页面搜索你遇到的问题很可能别人已经遇到并解决了。

相关新闻

Cosmos-Reason1-7B作品集:涵盖离散数学、类型论、编译原理等领域的专业级推理输出

Cosmos-Reason1-7B作品集:涵盖离散数学、类型论、编译原理等领域的专业级推理输出

Cosmos-Reason1-7B作品集:涵盖离散数学、类型论、编译原理等领域的专业级推理输出 1. 引言:当大模型遇上硬核推理 如果你尝试过用通用大模型来解决离散数学证明、类型论推导或者编译原理的复杂问题,可能会发现一个尴尬的现象:模…

2026/5/17 10:48:41 阅读更多 →
tcc-g15:让Dell G15笔记本告别过热降频的开源散热控制中心

tcc-g15:让Dell G15笔记本告别过热降频的开源散热控制中心

tcc-g15:让Dell G15笔记本告别过热降频的开源散热控制中心 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 一、三个真实场景:当散热问题…

2026/7/4 3:03:25 阅读更多 →
被忽视的创意枷锁:RePKG如何解放Wallpaper Engine资源处理

被忽视的创意枷锁:RePKG如何解放Wallpaper Engine资源处理

被忽视的创意枷锁:RePKG如何解放Wallpaper Engine资源处理 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 核心价值:重新定义资源处理效率 在数字创作领域&…

2026/7/3 19:06:18 阅读更多 →

最新新闻

半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?

半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?

半导体材料参数 3 大误区:禁带宽度仅决定耐温?迁移率只影响速度?在半导体器件设计与选型过程中,工程师们常常陷入对关键参数的片面理解。禁带宽度、载流子迁移率等基础参数的真实工程意义,远比教科书上的定义复杂得多。…

2026/7/6 9:30:31 阅读更多 →
MATLAB环境下可直接运行的人脸识别CNN工程:含完整训练测试代码、预训练模型与实操录像

MATLAB环境下可直接运行的人脸识别CNN工程:含完整训练测试代码、预训练模型与实操录像

本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB人脸识别CNN实现方案,适配MATLAB 2022a版本,无需额外配置即可运行。包含从数据预处理(图像缩放、归一化)、网络构建(卷积层、池化…

2026/7/6 9:28:30 阅读更多 →
JMeter CSV结果文件转HTML性能报告:命令行生成与深度解读指南

JMeter CSV结果文件转HTML性能报告:命令行生成与深度解读指南

1. 项目概述:从CSV结果到可视化洞察做性能测试,跑完脚本、拿到一堆数据只是第一步。真正考验人的,是能从这些冰冷的数据里看出门道,讲出故事。JMeter的“查看结果树”保存的CSV文件,就像一本记录了所有测试细节的原始账…

2026/7/6 9:28:30 阅读更多 →
EyouCMS 1.5.5 漏洞防御实战:3步加固模板管理功能防命令执行

EyouCMS 1.5.5 漏洞防御实战:3步加固模板管理功能防命令执行

EyouCMS 1.5.5 漏洞防御实战:3步加固模板管理功能防命令执行在网站安全领域,内容管理系统(CMS)的安全防护一直是运维人员和开发者的重点关注对象。EyouCMS作为国内广泛使用的企业建站系统,其1.5.5版本中发现的模板管理…

2026/7/6 9:26:29 阅读更多 →
提示工程实战指南:从零构建高效大模型应用

提示工程实战指南:从零构建高效大模型应用

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在实际 AI 应用开发中,无论是使用 OpenAI 的 GPT 系列、Claude,还是开源的 Llama、Qwen 等大语言模型&#xf…

2026/7/6 9:26:29 阅读更多 →
CTF实战:FTP服务后门漏洞利用与渗透测试全流程解析

CTF实战:FTP服务后门漏洞利用与渗透测试全流程解析

1. 项目概述:从靶机到Flag的实战路径 最近在带新人打CTF,发现很多朋友一看到“FTP服务后门”这种题目就有点发怵,觉得是不是要搞什么高深的二进制漏洞或者复杂的协议分析。其实不然,这类题目往往是考察我们对基础服务安全性的理解…

2026/7/6 9:24:29 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻