eXpl0it3r/IpRanger
GitHub: eXpl0it3r/IpRanger
一款基于 ASN 聚合分析的 TCP 流量监控与拦截工具,帮助运维人员检测和封禁在同一网络范围内轮换 IP 的爬虫及恶意连接。
Stars: 0 | Forks: 0
# IpRanger
适用于 Debian/Ubuntu 服务器的支持 ASN 的 TCP 流量监控与拦截工具。
随着时间的推移收集已连接的 IP,将其解析为 ASN/网络范围,并帮助您检测和拦截在同一 ASN 内轮换 IP 的爬虫。
## 功能特性
- **实时仪表盘** - 当前已连接的 IP 按地址排序(使 IP 范围集群一目了然),每 10 秒自动刷新一次
- **ASN/网络视图** - 按网络名称分组(一个组织可能拥有多个 CIDR),显示历史和实时 IP 计数,支持分组折叠的实时 IP 列表
- **双重 ipset** - `ipranger_blacklist`(威胁情报源)和 `ipranger_manual`(用户手动拦截),均带有独立的同步控制和 iptables DROP 规则
- **威胁情报源** - emerging_threats, spamhaus_drop, cinsscore - 每 24 小时自动刷新,也可手动触发
- **白名单** - 永不拦截的 IP/CIDR;默认预置了所有 RFC 私有范围
- **RDAP 缓存** - 对 CIDR/ASN 仅解析一次,对该范围内的所有 IP 进行复用;每秒最多运行一次以避免触发速率限制
- **Basic auth** - 可配置用户名/密码以保护 Web UI
- **日志查看器** - 带有级别和模块过滤器的实时环形缓冲区
## 免责声明
## 截图
## 环境要求
- Debian / Ubuntu 服务器
- Python 3.10+
- 已安装 `ipset` 和 `iptables`
- Root 权限(执行 ipset/iptables 需要)
## 安装说明
```
git clone https://github.com/eXpl0it3r/ipranger.git
cd ipranger
pip install -r requirements.txt
```
在启动之前请编辑 `config.yaml`:
```
server:
secret_key: "generate-a-random-string"
auth:
username: "admin"
password: "your-secure-password"
```
## 使用说明
```
sudo python run.py
```
在浏览器中打开 `http://:5000`。
## 配置说明
| 键 | 默认值 | 描述 |
|------------------------------------|---------------------------|------------------------------------|
| `server.host` | `0.0.0.0` | 绑定地址 |
| `server.port` | `5000` | HTTP 端口 |
| `server.secret_key` | `change-me-in-production` | Session 签名密钥 |
| `server.auth.enabled` | `true` | 启用 HTTP basic auth |
| `server.auth.username` | `admin` | Basic auth 用户名 |
| `server.auth.password` | `change-me` | Basic auth 密码 |
| `database.path` | `ipranger.db` | SQLite 数据库路径 |
| `monitoring.interval_seconds` | `10` | 连接轮询间隔 |
| `blocklists.update_interval_hours` | `24` | 情报源刷新间隔 |
| `rdap.lookup_delay_seconds` | `1` | RDAP 请求之间的延迟 |
| `ipset.persist` | `true` | 将 ipset 规则保存至 /etc/ipset.conf |
## Web UI 页面
| 页面 | 描述 |
|---------------|----------------------------------------------------------------------------------------------------------|
| **Dashboard** | 实时已连接 IP,按地址排序 - 每 10 秒自动刷新一次 |
| **Networks** | ASN/网络分组,包含历史和实时 IP 计数;每组可展开实时 IP 列表;支持一键拦截所有 CIDR |
| **Blocking** | 管理手动拦截,同步双重 ipset,管理 iptables 规则,刷新/浏览威胁情报源黑名单 |
| **Whitelist** | 从白名单中添加/移除 IP 和 CIDR;预置了 RFC 私有范围 |
| **Logs** | 带有级别和模块过滤器的实时环形缓冲区日志查看器 |
## 许可证
IpRanger 基于 MIT 许可证发布,详见 [LICENSE](LICENSE)。
标签:Debian, IP封禁, Python, 无后门, 流量管控, 运维工具, 逆向工具, 防火墙