Files
suanli-juzhen/02_账号密码管理/references/MongoDB_分布式算力矩阵_数据库结构说明.md
2026-02-15 23:43:01 +08:00

8.3 KiB
Raw Blame History

分布式算力矩阵 · 本地 MongoDB 数据库结构说明

连接:mongodb://admin:admin123@localhost:27017/?authSource=admin
容器:datacenter_mongodbmongo: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.分布式矩阵IP871 万 · 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 端口与难度(15)
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: truedeploy_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 个集合的索引与查询条件。