蓝队黑名单IP解封提取脚本

应用场景:公司给蓝队人员一个解封IP列表,假如某个IP满足属于某某C段,则对该IP进行解封。该脚本则是进行批量筛选出符合条件的白名单IP

实操如下:公司给了一个已经封禁了的黑名单IP列表如下(black)

公司要求对满足这些段的IP进行解封(white)

脚本如下

import ipaddress

def is_ip_in_subnet(ip: str, subnet: str) -> bool:

    ip_obj = ipaddress.ip_address(ip)
    subnet_obj = ipaddress.ip_network(subnet, strict=False)

    return ip_obj in subnet_obj


def read_txt_to_array(file_path: str):
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            lines = file.readlines()
            return [line.strip() for line in lines]
    except Exception as e:
        print(f"读取文件时出错: {e}")
        return []



if __name__ == "__main__":

    white = read_txt_to_array("white.txt")

    black = read_txt_to_array("black.txt")

    for subnet in white:
        for ip_to_check in black:
            if is_ip_in_subnet(ip_to_check, subnet):
                print(f"IP地址 {ip_to_check} 属于 {subnet}")
            else:
                continue

使用过程如下

将黑名单ip放在black.txt中,将白名单ip放在white.txt中

运行main.py即可 效果如下

相关推荐

  1. 网络安全领域红对抗里关于红全方位

    2024-07-23 05:06:01       20 阅读
  2. nginx禁恶意IP

    2024-07-23 05:06:01       25 阅读
  3. 面试经验总结

    2024-07-23 05:06:01       35 阅读
  4. hvv面经

    2024-07-23 05:06:01       24 阅读
  5. 面试题(二)

    2024-07-23 05:06:01       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 05:06:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 05:06:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 05:06:01       45 阅读
  4. Python语言-面向对象

    2024-07-23 05:06:01       55 阅读

热门阅读

  1. 设计模式实战:图形编辑器的设计与实现

    2024-07-23 05:06:01       16 阅读
  2. 2.5.LeNet

    2.5.LeNet

    2024-07-23 05:06:01      17 阅读
  3. transient

    2024-07-23 05:06:01       15 阅读
  4. pytorch深度学习框架基本介绍

    2024-07-23 05:06:01       16 阅读
  5. 数学建模(5)——逻辑回归

    2024-07-23 05:06:01       14 阅读
  6. SpringMVC中的注解驱动

    2024-07-23 05:06:01       14 阅读