# 网络空间测绘语法助手 **Repository Path**: fengerxi/network-mapping-syntax-tools ## Basic Information - **Project Name**: 网络空间测绘语法助手 - **Description**: 一款功能强大的网络资产搜索引擎语法构建与转换工具,支持多平台语法互转和智能管理。 - **Primary Language**: HTML - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-04-26 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🌐 网络空间测绘语法助手 > 一款功能强大的网络资产搜索引擎语法构建与转换工具,支持多平台语法互转和智能管理。 ## 📋 项目信息 - **版本**: v0.1 - **作者**: 风二西 - **更新时间**: 2026-04-26 - **技术栈**: 纯前端 (HTML/CSS/JavaScript + IndexedDB) --- ## 💾 数据存储方式 本项目采用**浏览器内置 IndexedDB** 作为主要数据存储方案。 ### 📚 什么是 IndexedDB? **IndexedDB** 是浏览器提供的低级 API,用于在客户端存储大量结构化数据。它是 HTML5 标准的一部分,专为复杂应用设计,相比传统的 localStorage 和 sessionStorage 具有显著优势。 #### 核心特性: - **大容量存储**:通常可存储几百 MB 到几 GB 数据(取决于浏览器和磁盘空间) - **结构化数据**:支持存储对象、数组等复杂数据结构,而非仅字符串 - **索引查询**:可创建索引实现高效的数据检索和排序 - **异步操作**:所有操作都是异步的,不会阻塞页面渲染 - **事务机制**:支持 ACID 事务,确保数据操作的原子性和一致性 - **持久化存储**:数据在浏览器关闭后仍然保留,除非用户主动清除 - **同源策略**:每个网站有独立的数据库空间,保证数据安全隔离 #### 与 localStorage 对比: | 特性 | IndexedDB | localStorage | |------|-----------|-------------| | 存储容量 | 几百MB~几GB | 通常 5-10MB | | 数据类型 | 任意类型(对象、数组等) | 仅字符串 | | 查询能力 | 支持索引、范围查询 | 仅键值对 | | 性能 | 异步操作,不阻塞UI | 同步操作,大数据量会卡顿 | | 适用场景 | 复杂应用、大量数据 | 简单配置、小量数据 | ### 🔹 本项目存储架构 - **数据库名称**: HunterToolsDB - **版本**: 1 - **数据表**: queries(查询语句存储表) - **主键**: id(自增整数) - **索引字段**: - `category`(平台类别索引) - `created_at`(创建时间索引) ### 🔹 数据结构 每条查询记录包含以下字段: ```javascript { id: number, // 自动生成的唯一标识(主键) query: string, // 查询语法内容(最大2000字符) name: string, // 查询名称(预留字段) category: string, // 平台类别(Hunter/FOFA/Quake/ZoomEye等) created_at: string // ISO格式的创建时间戳 } ``` ### 🔹 存储优势 - ✅ **本地存储**: 数据完全存储在用户浏览器中,无需服务器支持 - ✅ **隐私安全**: 所有数据仅在本地保存,不会上传到任何云端服务 - ✅ **大容量**: 可存储数千条查询语句,满足长期使用需求 - ✅ **结构化查询**: 支持按类别、时间等字段进行高效检索和筛选 - ✅ **离线可用**: 即使没有网络连接也能正常使用所有功能 - ✅ **跨会话持久**: 关闭浏览器后数据依然保留,下次打开继续使用 ### 🔹 数据管理最佳实践 #### 数据备份 建议定期使用以下功能备份重要数据: - 📤 **导出数据库(JSON)**:完整备份,可用于数据恢复 - 📄 **导出 CSV**:兼容 Excel,方便查看和编辑 - 📝 **导出 TXT**:简洁格式,仅包含查询语句 #### 数据清理 - 使用「✨ 语句去重」功能清理重复数据,释放存储空间 - 定期删除不再使用的查询语句,保持数据库整洁 #### 注意事项 ⚠️ **浏览器限制**: 不同浏览器对 IndexedDB 的存储空间限制不同: - Chrome/Edge: 通常为磁盘空间的 60% - Firefox: 通常为磁盘空间的 10% - Safari: 相对保守,建议定期备份 ⚠️ **数据丢失风险**: 以下情况会导致数据丢失: - 清除浏览器缓存/数据 - 使用无痕/隐私模式(关闭窗口后数据即清除) - 手动删除网站数据 - 浏览器卸载或重置 ⚠️ **跨设备限制**: IndexedDB 数据无法在不同设备间自动同步,每个设备独立存储。如需多设备使用,请定期导出导入数据。 ⚠️ **浏览器兼容性**: 推荐使用现代浏览器(Chrome 90+、Edge 90+、Firefox 88+、Safari 14+),旧版浏览器可能不支持或部分功能受限。 --- ## ✨ 核心功能 ### 🔧 语法构建器 - **可视化字段选择**:点击即可添加查询条件,无需记忆复杂语法 - **智能逻辑组合**:支持 AND / OR / NOT 逻辑运算符 - **括号嵌套**:支持复杂的括号组合查询 - **实时预览**:输入框实时显示生成的查询语句 - **一键复制**:快速复制生成的语法到剪贴板 ### 🔄 语法互转工具 - **跨平台转换**:FOFA ↔ Hunter ↔ Quake ↔ ZoomEye 自由转换 - **批量转换**:支持多行查询语句同时转换 - **智能映射**:自动识别字段对应关系,保留语义一致性 - **文件导入导出**:支持 CSV/TXT 格式批量导入导出 - **数据库集成**:直接从数据库载入查询语句,转换后保存回数据库 - **字段映射表**:实时显示当前转换方向的字段对照关系 ### 💾 数据管理中心 - **统一存储**:所有平台的查询语句集中管理 - **分类筛选**:按平台类别(FOFA/Hunter/Quake等)筛选查看 - **搜索过滤**:快速搜索特定查询语句 - **批量操作**:支持批量删除、批量导出 - **多种导出格式**: - 📄 CSV:包含完整信息(语句+类别+时间) - 📝 TXT:仅导出语句内容,简洁明了 - 💿 JSON:完整数据库备份,可恢复 - **智能去重**:自动检测并删除重复的查询语句 - **选中导出**:只导出勾选的记录,灵活可控 - **数据导入**:支持从 CSV/JSON 文件恢复数据 ### 📊 字段映射对照表 - **分类展示**:按网络基础、Web内容、协议应用等8大类组织 - **折叠展开**:按需展开/收起各个分类 - **实时搜索**:快速查找特定字段 - **映射状态**:清晰标注已映射/未映射字段 --- ## 🎯 支持的平台 | 平台 | 名称 | 特点 | |------|------|------| | 🔍 **Hunter** | 奇安信猎鹰 | 国内领先的网络空间资产搜索引擎 | | 🌏 **FOFA** | FOFA Pro | 全球知名的网络空间搜索引擎 | | 🛡️ **Quake** | 360 Quake | 360推出的网络空间测绘系统 | | 👁️ **ZoomEye** | 钟馗之眼 | 知道创宇的网络空间搜索引擎 | | 🗺️ **DayDayMap** | DayDayMap | 资产测绘与可视化工具 | | 🔐 **零零信安** | 零零信安 | 网络安全资产发现平台 | | 📡 **微步** | 微步在线 | 威胁情报与资产测绘 | --- ## 📁 项目结构 ``` 网络资产搜索引擎语法转换/ ├── index.html # 🏠 首页入口 ├── db.js # 💾 数据库模块(IndexedDB封装) ├── README.md # 📖 项目说明文档 ├── css/ │ └── common.css # 🎨 共用样式文件 ├── data/ # 📊 CSV数据源文件夹 │ ├── fofa语法.csv │ ├── hunter语法.csv │ ├── Quake语法.csv │ ├── zoomeye语法.csv │ ├── DayDayMap.csv │ ├── 零零信安.csv │ └── 微步.csv └── tools/ # 🛠️ 工具文件夹 ├── hunter_tool.html # Hunter 语法助手 ├── fofa_tool.html # FOFA 语法助手 ├── quake_tool.html # Quake 语法助手 ├── zoomeye_tool.html # ZoomEye 语法助手 ├── daydaymap_tool.html # DayDayMap 语法助手 ├── 0zone_tool.html # 零零信安语法助手 ├── threatbook_tool.html # 微步资产测绘语法助手 ├── converter.html # 🔄 语法互转工具(核心) └── data_manager.html # 💾 数据管理中心 ``` --- ## 🚀 快速开始 ### 方式一:直接打开(推荐) 1. 下载项目文件到本地 2. 双击打开 `index.html` 3. 选择需要的工具开始使用 ### 方式二:本地服务器 ```bash # 使用 Python 启动本地服务器 cd "网络资产搜索引擎语法转换" python -m http.server 8080 # 浏览器访问 http://localhost:8080/index.html ``` --- ## 💡 使用场景示例 ### 场景 1:构建复杂查询 ``` 1. 打开 Hunter 语法助手 2. 点击「网站标题」→ 输入「管理后台」 3. 切换到 OR 模式 4. 点击「端口」→ 输入「80」 5. 切换回 AND 模式 6. 点击「国家」→ 输入「中国」 7. 得到:web.title="管理后台" || ip.port="80" && ip.country="中国" ``` ### 场景 2:跨平台转换 ``` 1. 打开语法互转工具 2. 选择源引擎:FOFA → 目标引擎:Hunter 3. 在输入框粘贴 FOFA 语法:title="后台" && port="80" 4. 点击「转换」或自动实时转换 5. 得到 Hunter 语法:web.title="后台" && ip.port="80" 6. 点击「保存数据库」保存到数据库 ``` ### 场景 3:批量转换数据库中的查询 ``` 1. 打开语法互转工具 2. 选择源引擎:FOFA → 目标引擎:Hunter 3. 点击「📥 载入数据库」 → 自动载入数据库中所有 FOFA 类别的查询语句 4. 自动批量转换为 Hunter 语法 5. 点击「💾 保存数据库」 → 将转换结果以 Hunter 类别保存到数据库 ``` ### 场景 4:数据管理与导出 ``` 1. 打开数据管理中心 2. 查看所有保存的查询语句 3. 勾选需要导出的记录 4. 点击「📤 导出选中CSV」或「📝 导出选中TXT」 5. 或者点击「✨ 语句去重」清理重复数据 ``` --- ## 🎨 界面特色 - 🌙 **深色主题**:护眼设计,长时间使用不疲劳 - 📱 **响应式布局**:完美适配桌面端和移动端 - ⚡ **流畅动画**:平滑的过渡效果,提升用户体验 - 🎯 **直观操作**:所见即所得,零学习成本 --- ## 🔑 核心优势 1. **纯前端架构**:无需安装,无需后端,浏览器即可运行 2. **本地数据存储**:数据保存在浏览器 IndexedDB,隐私安全 3. **离线可用**:加载后可完全离线使用 4. **开源透明**:代码完全开放,可自行修改扩展 5. **持续更新**:支持新平台和新功能的快速接入 --- ## 📝 注意事项 - 💾 **数据备份**:建议定期使用「导出数据库」功能备份重要查询语句 - 🔄 **浏览器兼容**:推荐使用 Chrome、Edge、Firefox 等现代浏览器 - 🌐 **首次加载**:首次打开需要加载资源,请耐心等待 - 📦 **文件大小**:项目体积小巧,加载速度快 --- ## 🛠️ 技术实现 - **前端框架**:原生 HTML5 + CSS3 + JavaScript(无依赖) - **数据存储**:IndexedDB API(浏览器内置数据库) - **数据处理**:CSV 解析、JSON 序列化、Blob 文件导出 - **UI 设计**:Flexbox/Grid 布局、CSS 渐变、动画过渡 - **代码规范**:模块化设计、函数封装、事件驱动 --- ## 📄 许可证 本项目仅供学习交流使用。 --- ## 🙏 致谢 感谢以下平台提供的公开语法文档: - Hunter 官方文档 - FOFA 官方文档 - Quake 官方文档 - ZoomEye 官方文档 - DayDayMap 官方文档 - 零零信安官方文档 - 微步在线官方文档 --- ## 📮 反馈与建议 如有问题或建议,欢迎联系作者:**风二西** **祝您使用愉快!** 🎉