工具介绍

IP_fengjin 是一款专为网络安全管理员设计的图形化工具,旨在简化在防火墙设备上批量封禁 IP 地址的操作流程。本工具通过 SSH 连接到防火墙,自动化地将大量 IP 地址添加至指定的地址簿,并创建或更新相应的安全策略,极大地提高了应急响应和日常维护的效率。

该工具的核心特性是智能化管理:当目标地址簿的容量达到上限(代码中设定为约1670个)时,它会自动创建新的地址簿和匹配的安全策略,并确保新策略在防火墙规则中的顺序正确,从而实现无缝扩容。

一款专为网络安全图形化工具简化在防火墙设备上批量封禁 IP 地址的操作流程_tcp/ip

功能特性

  • 图形化用户界面:基于 customtkinter 构建,界面简洁直观,易于上手。
  • SSH 自动连接:首次使用时引导用户配置连接信息,后续自动读取配置进行连接与重连。
  • 批量导入 IP:支持从 .txt 文件一键导入需要封禁的 IP 列表。
  • 智能地址簿管理:自动检测现有地址簿容量,当IP数量超出阈值时,会自动创建新的地址簿(例如,从 2025HW12025HW2)。
  • 自动化策略创建与排序:在创建新地址簿的同时,会自动生成一条对应的安全策略(例如 2025封堵策略2),并将其移动到前一条策略之后,确保封禁逻辑的连续性。
  • 实时状态统计:可随时刷新并查看与关键字相关的地址簿和策略的当前状态,包括 IP 数量、策略 ID 等。
  • 详细操作日志:所有操作,包括 SSH 连接、命令执行、IP 添加结果等,都会实时显示在日志窗口中,便于追踪和排错。
  • 失败重试机制:对于在封禁过程中因设备锁定或其他原因失败的 IP,会自动记录到 data.txt 文件中,并在下一轮封禁中自动重试,确保所有 IP 都被成功处理。

运行环境

  1. Python 3: 脚本需要 Python 3.x 环境运行。
  2. 必需的 Python 库:
  • customtkinter: 用于构建图形用户界面。
  • paramiko: 用于处理 SSH 连接和命令执行。

首次使用与配置

  1. 安装依赖: 打开命令行终端,使用 pip 安装所需的库。
pip install customtkinter paramiko
  1. 初次运行: 直接运行 ip_fengjin.py 脚本。由于是首次运行,程序会因为找不到 config.txt 配置文件而弹出一个 “首次配置” 对话框。
  2. 填写连接信息: 在弹出的对话框中,依次输入防火墙设备的:
  • 主机IP: 防火墙的管理地址。
  • 端口: SSH 端口,默认为 22。
  • 用户名: 拥有配置权限的 SSH 登录用户名。
  • 密码: 对应的密码。
  1. 保存与连接: 点击 “保存并连接” 按钮。程序会将连接信息保存到与脚本同目录的 config.txt 文件中,并立即尝试建立 SSH 连接。此后启动程序将自动读取该文件进行连接,无需重复输入。

工具下载

https://github.com/junyibb/ip-fengjin-tool