0xsh4n/NumGather
GitHub: 0xsh4n/NumGather
一款基于 Python 的电话号码情报 CLI 工具,提供号码验证、归属地查询、格式标准化及可选的本地 LLM 推理分析。
Stars: 8 | Forks: 0
# NumGather 2.0
专为 SecHunt-OS 设计的电话号码智能 CLI —— 提供国家、运营商、号码类型、时区、印度 MSC 服务区查询,以及可选的 **Ollama** 本地 LLM 推理。
## 功能
| 功能 | 描述 |
|---|---|
| 验证 | 通过 Google libphonenumber 进行号码可能性/有效性检查 |
| 身份信息 | 国家、ISO 区域、国家代码、国内号码 |
| 类型 | 手机、固定电话、VoIP、免费电话、付费电话…… |
| 运营商 | 可用时提供 ISP / 网络名称 |
| 时区 | 该号码可能的时区 |
| 格式 | E.164、国际格式、国内格式、RFC3966 |
| 印度 MSC 数据库 | 通过本地前缀数据库查询服务区及运营商 |
| 规则洞察 | 携号转移提示、类型说明、不确定性标记 |
| **Ollama** | 基于完整报告的本地 LLM 推理(包含推理模型) |
| 批量 / JSON | 支持号码文件输入,提供机器可读输出 |
## 安装
**Linux / macOS**
```
git clone https://github.com/0xsh4n/NumGather.git
cd NumGather
chmod +x setup.sh
./setup.sh
# 或者:pip3 install -r requirements.txt
```
**Windows**
```
git clone https://github.com/0xsh4n/NumGather.git
cd NumGather
setup.bat
:: optional interactive run after install:
setup.bat --run
```
### 可选:Ollama(推理)
1. 安装 [Ollama](https://ollama.com)
2. 拉取模型:
```
ollama pull llama3.2
# 面向推理的示例:
ollama pull deepseek-r1
ollama pull qwen2.5
```
3. 确保 daemon 正在运行(如有必要,请使用 `ollama serve`)。
环境变量覆盖配置:
| 变量 | 默认值 | 含义 |
|---|---|---|
| `OLLAMA_HOST` | `http://localhost:11434` | API base URL |
| `OLLAMA_MODEL` | `llama3.2` | 默认模型 |
| `OLLAMA_TIMEOUT` | `120` | 请求超时时间(秒) |
## 使用说明
请始终包含国家前缀(`+
`)。
```
# 交互式
python3 NumGather.py
# 直接查询
python3 NumGather.py +919874512362
# Full intelligence + Ollama 推理
python3 NumGather.py +14155552671 --ollama
# Reasoning model + streaming
python3 NumGather.py +919876543210 -o -m deepseek-r1 --stream
# 用于脚本的 JSON
python3 NumGather.py +447911123456 --json
# 批处理文件(每行一个号码;支持 # 注释)
python3 NumGather.py --batch numbers.txt -o
# 列出本地 Ollama 模型
python3 NumGather.py --list-models
```
### CLI 参数
```
number Phone number (optional if interactive / --batch)
-r, --region REGION Default region if no +country_code (IN, US, …)
-o, --ollama Enable Ollama reasoning
-m, --model NAME Ollama model name
--host URL Ollama base URL
--stream Stream LLM tokens
--list-models Show models on Ollama host
-j, --json JSON output
-b, --batch FILE Analyze many numbers
--no-color Disable ANSI colors
-q, --quiet Skip banner
-V, --version Print version
```
## 输出示例(结构)
确定性报告包含有效性、国家/运营商、类型、时区、格式、印度服务区(当号码为 `+91` 时)以及基于规则的洞察。使用 `-o` 参数时,Ollama 会在此基础上添加基于这些事实的 OSINT 风格推理分析(不包含虚构的订阅者 PII)。
## 项目结构
```
NumGather.py CLI entry (v2.0)
lookup.py Intelligence engine
ollama_client.py Ollama chat / streaming client
areadatabase.py India MSC prefix database
requirements.txt Dependencies
setup.sh Install helper (Unix)
setup.bat Install helper (Windows)
```
## 注意事项
- 运营商名称反映的是号码分配计划 / 库数据 —— **MNP**(携号转移)可能导致实际 ISP 与原始 MSC 前缀不符。
- Ollama 不会替代验证过程;如果 Ollama 宕机,确定性报告仍会正常输出。
- 此工具**不**执行实时的 HLR 查询或个人追踪。
## 致谢
由 **H1DD3N_SH4D0W** 为 SecHunt-OS 开发 · [GitHub](https://github.com/0xsh4n/NumGather)标签:AI风险缓解, DLL 劫持, GitHub, Linux安全, LLM评估, Ollama, Python, 大语言模型, 实时处理, 文档结构分析, 无后门, 网络安全, 逆向工具, 隐私保护