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 - **日志查看器** - 带有级别和模块过滤器的实时环形缓冲区 ## 免责声明 ## 截图 image image ## 环境要求 - 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, 无后门, 流量管控, 运维工具, 逆向工具, 防火墙