Python脚本实现IP按段分类

简介: 【10月更文挑战第04天】

在企业安全部门的日常工作中,经常需要处理大量的IP地址,并对它们进行分类管理。这项任务如果手动执行,不仅耗时而且容易出错。为了提高效率,可以编写一个Python脚本来自动化这个过程。

功能

该脚本可以将一系列散乱的IP地址按照预定义的IP段进行分类,并输出到一个文件中。

实现

使用的模块

  • IPy:用于处理IP地址和IP段的比较。

核心代码

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

from IPy import IP
import os
from sys import argv
import optparse
import sys

def get_wenti_ip_list(file_name):
    fp_wenti_ip = open(file_name, "r")
    ip_list = [line.strip('\n') for line in fp_wenti_ip.readlines()]
    fp_wenti_ip.close()
    return ip_list

def get_zichan_ip_list(file_name, ip_list):
    fp_zichan = open(file_name, "r")
    fp_last = open("end.txt", "w")
    zichan_IP_list = [line.strip('\n').split(';') for line in fp_zichan.readlines()]

    for zichan_ip in zichan_IP_list:
        for ip in ip_list:
            if (IP(ip) >= IP(zichan_ip[1])) and (IP(ip) <= IP(zichan_ip[2])):
                fp_last.write("{} {} \n".format(zichan_ip[0], ip))
    fp_zichan.close()
    fp_last.close()

if __name__ == '__main__':
    parser = optparse.OptionParser(usage='usage: %prog problem.txt sources.txt', version='%prog 1.0')
    (options, args) = parser.parse_args()
    if len(args) < 1:
        parser.print_help()
        exit(0)

    wenti_ip_list = get_wenti_ip_list(argv[1])
    get_zichan_ip_list(argv[2], wenti_ip_list)

使用说明

  1. problem.txt:包含需要分类的IP列表,每行一个IP地址。
  2. sources.txt:包含IP段划分表,每行一个IP段,格式为:系统名称;起始IP;结束IP。
目录
相关文章
|
1月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
1月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
1月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
1月前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
1月前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
1月前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
1月前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。
|
机器学习/深度学习 算法 Python
Python机器学习(sklearn)——分类模型评估与调参总结(下)
Python机器学习(sklearn)——分类模型评估与调参总结
5051 0
|
机器学习/深度学习 算法 测试技术
Python机器学习(sklearn)——分类模型评估与调参总结(上)
Python机器学习(sklearn)——分类模型评估与调参总结
6619 0
|
12天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
184 102

推荐镜像

更多