Manisso/crips-v2

GitHub: Manisso/crips-v2

一个集成 31 个网络工具并内置 AI 解释功能的纯 Python 终端框架,专为网络协议学习与日常网络诊断而设计。

Stars: 1 | Forks: 0

``` ██████╗██████╗ ██╗██████╗ ███████╗ ██╔════╝██╔══██╗██║██╔══██╗██╔════╝ ██║ ██████╔╝██║██████╔╝███████╗ ██║ ██╔══██╗██║██╔═══╝ ╚════██║ ╚██████╗██║ ██║██║██║ ███████║ ╚═════╝╚═╝ ╚═╝╚═╝╚═╝ ╚══════╝ ``` # Crips Framework v2.0 ### 网络学习与侦察工具包 [![Python](https://img.shields.io/badge/Python-3.8%2B-blue?style=for-the-badge&logo=python)](https://python.org) [![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey?style=for-the-badge)] [![AI Powered](https://img.shields.io/badge/AI-OpenRouter%20Powered-purple?style=for-the-badge&logo=openai)](https://openrouter.ai) [![Stars](https://img.shields.io/github/stars/YOUR_USERNAME/crips?style=for-the-badge)](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扫描, 实时处理, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 系统分析, 网络分析, 网络工具, 逆向工具