首页 渗透工具 正文
  • 本文约2024字,阅读需10分钟
  • 43
  • 0

IP_fengjin 封禁工具 (v1.5)

摘要

简介 IP_fengjin 是一款专为网络安全管理员设计的图形化工具,旨在简化在防火墙设备上批量封禁 IP 地址的操作流程。本工具通过 SSH 连接到防火墙,自动化地将大量 IP 地址添加至指定的地址簿,并创建或更新相应的安全策略,极大地提高了应急响应和日常维护的效率。 该工具的核心特性是智能化管理:当目标地址簿的容量达到上限(代码中设定为约1670个)时...

1

简介

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

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

功能特性

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

使用说明

步骤 1: 检查连接与配置参数

  • 连接状态: 检查主界面左上角的 “连接状态”。成功连接后应显示为“已连接到 [主机IP]”,颜色为绿色。如果连接失败,请检查 config.txt 中的信息或网络状况,并可使用 “重新连接” 按钮尝试。
  • 配置参数:
    • 地址簿关键字: 这个关键字是地址簿名称的核心部分,工具会根据它来查找、创建和管理地址簿。例如,使用默认的 2025HW,工具管理的地址簿将被命名为 2025HW1, 2025HW2, ...
    • 策略名前缀: 这是自动创建的安全策略的名称前缀。例如,使用默认的 2025封堵策略,对应的策略将被命名为 2025封堵策略1, 2025封堵策略2, ...

步骤 2: 查看当前统计信息 (可选)

点击 “刷新统计” 按钮,工具会连接到防火墙,并拉取所有包含“地址簿关键字”的地址簿和策略信息,显示在下方的两个统计框中。这可以帮助您在执行封禁前了解当前的配置状况。

步骤 3: 导入需要封禁的 IP 列表

  • 准备IP文件: 创建一个 .txt 文本文件,将需要封禁的 IP 地址逐行写入,每行一个 IP。
  • 导入文件: 点击 “1. 导入IP列表 (.txt)” 按钮,在弹出的文件选择框中选中您准备好的 IP 文件。导入成功后,按钮旁边会显示导入的 IP 总数。

步骤 4: 执行封禁

  • 点击红色的 “2. 执行封禁” 按钮。
  • 程序会进入“封禁中,请稍候...”状态,并开始执行以下自动化流程:
    1. 获取最新的地址簿信息(例如 2025HW5)。
    2. 判断该地址簿加上本次导入的 IP 是否会超过容量上限 (1670)。
    3. 如果未超限:将所有 IP 添加到现有的最新地址簿中。
    4. 如果超限
      • 创建一个新的地址簿(例如 2025HW6)。
      • 将本次的 IP 添加到这个新地址簿中。
      • 创建一条新的安全策略(例如 2025封堵策略6),源地址指向新建的地址簿 2025HW6,动作为 deny
      • 关键步骤: 自动执行 move 命令,将新创建的策略 2025封堵策略6 移动到 2025封堵策略5 的紧邻位置,保证策略顺序。
    5. 操作日志会实时显示每个 IP 的添加结果(成功、已存在或失败)。
    6. 一轮结束后,若有失败的 IP,会自动存入 data.txt 并开始下一轮重试,直到所有 IP 都成功封禁。

步骤 5: 查看结果

  • 监控日志: 在操作过程中,密切关注 “操作日志” 文本框,了解详细的执行情况。
  • 任务完成: 当所有 IP 都处理完毕后,会弹出“任务完成”的提示框。
  • 最终确认: 您可以再次点击 “刷新统计” 按钮,查看新建的地址簿和策略是否已生效。
评论
博主关闭了评论
友情链接