Manisso/crips-v2
GitHub: Manisso/crips-v2
一个集成 31 个网络工具并内置 AI 解释功能的纯 Python 终端框架,专为网络协议学习与日常网络诊断而设计。
Stars: 1 | Forks: 0
```
██████╗██████╗ ██╗██████╗ ███████╗
██╔════╝██╔══██╗██║██╔══██╗██╔════╝
██║ ██████╔╝██║██████╔╝███████╗
██║ ██╔══██╗██║██╔═══╝ ╚════██║
╚██████╗██║ ██║██║██║ ███████║
╚═════╝╚═╝ ╚═╝╚═╝╚═╝ ╚══════╝
```
# Crips Framework v2.0
### 网络学习与侦察工具包
[](https://python.org)
[](LICENSE)
[]
[](https://openrouter.ai)
[](https://github.com/YOUR_USERNAME/crips/stargazers)
**在一个终端框架中集成 31 个网络工具 —— 完全由 pip 驱动,并通过 OpenRouter 内置 AI 解释功能。**
[功能](#-features) • [安装](#-installation) • [工具](#-all-31-tools) • [AI 设置](#-ai-powered-explanations) • [用法](#-usage) • [截图](#-screenshots)
## 🌟 什么是 Crips?
Crips 是一个**模块化网络工具包**,专为学生、CTF 选手、系统管理员以及任何学习网络协议工作原理的人打造。每个工具均使用可通过 pip 安装的库以纯 Python 实现 —— 无需编译二进制文件,无需复杂设置。
每次扫描后,Crips 可以将输出发送给 **AI**(OpenRouter、OpenAI、Ollama 或任何兼容 OpenAI 的 API),AI 会生成一份完整的**学习报告**:输出的含义、关键发现、展示的网络概念以及建议的后续步骤。
## ✨ 功能
| 功能 | 描述 |
|---|---|
| **31 个网络工具** | Whois、DNS、GeoIP、端口扫描、traceroute、SSL、HTTP 分析、子网计算器、banner 抓取等 |
| **纯 pip 实现** | 每个工具均通过 pip 安装的 Python 库运行 —— 无需 nmap,无需 masscan 二进制文件 |
| **AI 解释** | 在使用任何工具后,要求 AI 生成包含关键发现和后续步骤的学习报告 |
| **支持任何 LLM API** | OpenRouter(默认,提供免费模型)、OpenAI、Ollama(本地)、LM Studio、Groq、Together AI |
| **默认免费** | 使用 `mistralai/mistral-7b-instruct:free` —— 在 OpenRouter 上无需额度 |
| **GeoLite2 自动下载** | MaxMind 数据库在安装时自动下载(通过 P3TERX 镜像,无需注册) |
| **多线程扫描** | 并发 TCP 端口扫描器 —— 几秒钟即可扫描 1000 个端口 |
| **专注学习** | 每个工具都在教授一个概念 —— 服务 banner、DNS 层次结构、BGP 路由、TLS 握手 |
| **跨平台** | Linux、macOS、Windows(对于原始套接字工具,推荐使用 WSL) |
## 📦 安装说明
```
# 1. Clone the repository
git clone https://github.com/Manisso/crips-v2.git
cd crips
# 2. 安装所有内容(packages + GeoLite2 databases)
python3 install.py
# 3. 运行
python3 crips.py
# 对于 ICMP ping、traceroute 和 ARP scan(tools 9、10、12、13):
sudo python3 crips.py
```
### 前置条件
- Python **3.8+**
- pip
`install.py` 会自动处理其他所有事项:
- 所有 pip 包
- `GeoLite2-ASN.mmdb`、`GeoLite2-City.mmdb`、`GeoLite2-Country.mmdb`(来自 [P3TERX/GeoLite.mmdb](https://github.com/P3TERX/GeoLite.mmdb) —— 无需注册)
- 用于 AI 设置的默认 `config.json`
```
# 或者手动安装 packages:
pip install -r requirements.txt
```
## 🔧 全部 31 个工具
### 🌐 Whois 与域名
| # | 工具 | 描述 |
|---|---|---|
| 1 | **Whois Lookup** | 完整的 WHOIS 注册信息 —— 注册商、日期、域名服务器、联系方式 |
### 🔍 DNS 工具
| # | 工具 | 描述 |
|---|---|---|
| 2 | **DNS Lookup** | 查询所有记录类型:A、AAAA、MX、NS、TXT、SOA、CNAME、CAA、SRV、DNSKEY... |
| 3 | **Reverse DNS** | 通过 PTR 记录将 IP 解析为主机名,支持完整的 CIDR 范围扫描 |
| 4 | **DNS Propagation** | 在 8 个公共解析器(Google、Cloudflare、OpenDNS、Quad9...)中检查记录 |
| 5 | **Zone Transfer** | 尝试在所有域名服务器上进行 AXFR —— 测试是否存在配置错误 |
### 🌍 GeoIP 与 ASN
| # | 工具 | 描述 |
|---|---|---|
| 6 | **GeoIP + ASN** | 国家、城市、经纬度、时区 + ASN、BGP CIDR、通过 RDAP 查询的网络所有者 |
| 7 | **Bulk GeoIP** | 对 IP 列表进行 GeoIP 查询 —— 表格输出 |
| 8 | **ASN / BGP Info** | 自治系统详情、网络对象、路由信息 |
### 📡 网络诊断
| # | 工具 | 描述 |
|---|---|---|
| 9 | **ICMP Ping** | 带有 RTT 统计信息的完整 ping —— 类似系统 `ping`(需要 root 权限) |
| 10 | **Ping Sweep** | 使用 ICMP 发现子网中的所有活动主机(需要 root 权限) |
| 11 | **TCP Ping** | 通过 TCP 连接检查主机可达性 —— 无需 root 权限 |
| 12 | **Traceroute** | 逐跳显示 ICMP 或 UDP 路径及每跳的 RTT(需要 root 权限) |
| 13 | **ARP Scan** | 发现本地局域网上的所有设备 —— 返回 IP + MAC + 供应商 |
### 🔌 端口扫描
| # | 工具 | 描述 |
|---|---|---|
| 14 | **TCP Port Scan** | 多线程 TCP 连接扫描器 —— 支持 top20/web/db/mail 组或自定义范围 |
| 15 | **Subnet Port Scan** | 检查整个子网上的单个端口 —— 查找所有 SSH/HTTP 服务器 |
### 🌐 HTTP 与 Web
| # | 工具 | 描述 |
|---|---|---|
| 16 | **HTTP Headers** | 完整的 header 转储 + 安全 header 审计 + 技术指纹识别 |
| 17 | **Redirect Chain** | 逐步跟踪每一个重定向及状态码 |
| 18 | **Robots.txt + Sitemap** | 获取并解析抓取指令和站点地图 URL 结构 |
| 19 | **HTTP Methods** | 测试服务器接受哪些 HTTP 动词(GET、POST、PUT、DELETE、TRACE...) |
### 🔒 SSL / TLS
| # | 工具 | 描述 |
|---|---|---|
| 20 | **SSL Inspector** | 证书详情、SAN 名称、证书链、指纹、TLS 版本支持矩阵 |
### 🧮 子网与 IP 工具
| # | 工具 | 描述 |
|---|---|---|
| 21 | **Subnet Calculator** | 网络/广播/掩码/通配符/二进制/十六进制 —— 全方位解析 |
| 22 | **Subnet Splitter** | 将任何网络划分为相等的子网 |
| 23 | **IP Address Info** | 分类 IP —— 私有/公共/多播 + RFC 参考 + 二进制表示 |
| 24 | **CIDR → IP Range** | 将 CIDR 块扩展为首/末地址或完整 IP 列表 |
| 25 | **IPv6 Tools** | 扩展、分析和分类 IPv6 地址 |
### 📋 Banners 与服务
| # | 工具 | 描述 |
|---|---|---|
| 26 | **Banner Grabber** | 从开放端口读取原始协议问候信息 —— SSH、FTP、SMTP、Redis、MySQL... |
| 27 | **Multi-Host Banner** | 跨多个主机抓取特定端口的 banner |
### 💻 本地网络
| # | 工具 | 描述 |
|---|---|---|
| 28 | **Network Interfaces** | 显示所有本地适配器、IP、MAC 和默认网关 |
| 29 | **MAC Analyzer** | OUI 供应商查找 + 多播/本地管理标志分析 |
| 30 | **Connectivity Check** | 测试到公共 DNS 和 HTTP endpoint 的延迟 |
| 31 | **Active Connections** | 显示本机的开放网络 socket(通过 psutil) |
## 🤖 AI 驱动的解释
每次工具运行后,Crips 会询问:
```
🤖 Ask AI to explain this output? [y/N]:
```
AI 会读取原始工具输出并生成一份**学习报告**:
```
🔍 What This Means
The DNS lookup reveals this domain uses Google's nameservers (ns1.google.com),
meaning DNS is managed through Google Domains or Workspace...
🎯 Key Findings
● MX records point to Google mail servers — this organization uses Gmail
● TXT record contains SPF policy limiting who can send email as this domain
● SOA serial number follows YYYYMMDDNN format — last updated today
📚 Concepts Demonstrated
● DNS hierarchy: authoritative vs recursive resolvers
● Email authentication: SPF, DKIM, DMARC chain of trust
🚀 Next Steps
● Try tool [5] Zone Transfer to check if AXFR is misconfigured
● Use tool [4] DNS Propagation to verify records are globally consistent
```
### 设置
```
# 在 crips 内,按 [!] 打开 AI 配置:
[1] Set API Key
[2] Set Base URL (OpenRouter / OpenAI / Ollama / Groq / LM Studio)
[3] Set Model
[4] Toggle AI on/off
[5] Toggle Auto-explain
[6] Toggle Streaming
[8] Browse free models
[9] Test API connection
```
### 支持的 API
| 提供商 | Base URL | 备注 |
|---|---|---|
| **OpenRouter**(默认) | `https://openrouter.ai/api/v1` | 提供免费模型 |
| OpenAI | `https://api.openai.com/v1` | GPT-4o、GPT-3.5... |
| Ollama | `http://localhost:11434/v1` | 本地运行模型 |
| LM Studio | `http://localhost:1234/v1` | 本地 GUI + 服务器 |
| Groq | `https://api.groq.com/openai/v1` | 极速推理 |
| Together AI | `https://api.together.xyz/v1` | 众多开源模型 |
### 免费模型(OpenRouter,无需额度)
| 模型 | 速度 | 质量 |
|---|---|---|
| `openai/gpt-oss-120b:free` | 中等 | ⭐⭐⭐⭐⭐ |
| `openai/gpt-oss-20b:free` | 快速 | ⭐⭐⭐⭐ |
| `meta-llama/llama-3.3-70b-instruct:free` | 中等 | ⭐⭐⭐⭐⭐ |
| `google/gemma-4-31b:free` | 中等 | ⭐⭐⭐⭐ |
| `deepseek/deepseek-v4-flash:free` | 非常快 | ⭐⭐⭐⭐ |
| `qwen/qwen3-next-80b-a3b-instruct:free` | 快速 | ⭐⭐⭐⭐ |
| `nvidia/nemotron-3-super:free` | 慢速 | ⭐⭐⭐⭐⭐ |
| `minimax/minimax-m2.5:free` | 快速 | ⭐⭐⭐⭐ |
| `z-ai/glm-4.5-air:free` | 非常快 | ⭐⭐⭐⭐ |
| `poolside/laguna-m1:free` | 中等 | ⭐⭐⭐⭐⭐ |
| `liquid/lfm2.5-1.2b-instruct:free` | 极速 | ⭐⭐ |
| `nvidia/nemotron-nano-9b-v2:free` | 非常快 | ⭐⭐⭐ |
获取免费密钥:**https://openrouter.ai/keys**
## 🖥️ 用法
```
██████╗██████╗ ██╗██████╗ ███████╗
...
Host: kali IP: 192.168.1.100 Mode: root [AI: mistral-7b:free]
── WHOIS & DOMAIN ──
[ 1] Whois Lookup [ 2] DNS Lookup (all types)
...
crips~# 14 ← run TCP port scan
crips~# ! ← open AI config
crips~# ? ← help
crips~# cls ← clear screen
crips~# 0 ← exit
```
### 命令参考
| 命令 | 动作 |
|---|---|
| `1` – `31` | 运行工具 |
| `!` | AI 配置菜单 |
| `?` | 帮助与工具参考 |
| `cls` | 清除并重绘菜单 |
| `0` | 退出 |
## 📁 项目结构
```
crips/
├── crips.py ← Main entry point (menu + tool runner + AI hook)
├── install.py ← Auto-installer (packages + GeoLite2 DBs)
├── requirements.txt ← All pip dependencies
├── config.json ← AI settings (auto-created)
├── GeoLite2-ASN.mmdb ← Auto-downloaded by install.py
├── GeoLite2-City.mmdb ← Auto-downloaded by install.py
├── GeoLite2-Country.mmdb ← Auto-downloaded by install.py
└── modules/
├── colors.py ← ANSI styling + print helpers
├── utils.py ← Shared utilities (resolve, TCP, banner)
├── ai_mod.py ← AI explanation engine + config menu
├── whois_mod.py ← Tool 1
├── dns_mod.py ← Tools 2–5
├── geoip_mod.py ← Tools 6–8
├── network_mod.py ← Tools 9–13
├── portscan_mod.py ← Tools 14–15
├── http_mod.py ← Tools 16–19
├── ssl_mod.py ← Tool 20
├── subnet_mod.py ← Tools 21–25
├── banner_mod.py ← Tools 26–27
└── iface_mod.py ← Tools 28–31
```
## 📚 依赖项
所有依赖均由 `install.py` 或 `pip install -r requirements.txt` 自动安装:
| 包 | 用于 |
|---|---|
| `python-whois` | WHOIS 查询 |
| `dnspython` | 所有 DNS 操作 |
| `ipwhois` | ASN / BGP / RDAP |
| `geoip2` | MaxMind GeoLite2 读取器 |
| `scapy` | ICMP ping、traceroute、ARP |
| `requests` | HTTP 分析 + AI API |
| `pyOpenSSL` | SSL/TLS 检查 |
| `netaddr` | MAC OUI + 子网数学计算 |
| `netifaces` | 网络接口 |
| `colorama` | Windows ANSI 颜色 |
31 个工具中有 27 个**零非 pip 依赖**。工具 9、10、12、13 需要 root/sudo 权限才能访问原始套接字。
## ⚠️ 法律声明
本工具仅用于:
- **教育用途** —— 学习网络协议的工作原理
- **CTF 挑战** —— 夺旗赛
- **您自己的系统** —— 测试您拥有或有权测试的基础设施
- **实验室环境** —— 用于学习的隔离网络
请**不要**将此工具用于您不拥有或未获得明确书面许可进行测试的系统。对于滥用行为,作者概不负责。
## 📄 许可证
MIT License —— 详情请参阅 [LICENSE](LICENSE)。
**如果此工具帮助您学到了知识,请给仓库点个 ⭐ star!**
怀着 ❤️ 为网络和网络安全学习社区打造
标签:DNS分析, Python, UDP扫描, 实时处理, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 系统分析, 网络分析, 网络工具, 逆向工具