使用python调用微步在线接口实现自动化查询IP情报

这篇具有很好参考价值的文章主要介绍了使用python调用微步在线接口实现自动化查询IP情报。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、微步在线接口说明

二、官方示例

三、自动化查询IP情报信息


一、微步在线接口说明

        针对入站场景的IP进行分析, 能够提供IP的地理位置、ASN信息,通过判定规则精准判别IP是否恶意、风险严重级别、可信度级别;识别威胁类型,如:漏洞利用(exploit)、傀儡机(Zombie)、代理(Proxy)、可疑(Suspicious)等及相关安全事件或团伙标签。

        个人账号可以提供50次/天的权限。

二、官方示例

import requests

url = "https://api.threatbook.cn/v3/scene/ip_reputation"

query = {
  "apikey":"请替换apikey",
  "resource":"159.203.93.255"
}

response = requests.request("GET", url, params=query)

print(response.json())

三、自动化查询IP情报信息

        在做网络安全运营时,经常遇到IP来探测、攻击,除了分析研判该IP的行为外,还需要借助互联网情报中心进行查询该IP的情报,单个IP的查询稍微简单一些,直接登陆情报中心网站查询即可,但是批量查询的时候就需要用到自动化查询程序。

        以下是我根据微步在线的免费API开发的批量查询脚本,不是专业程序员,仅实现功能。 文章来源地址https://www.toymoban.com/news/detail-649495.html

import requests
from openpyxl import load_workbook
from openpyxl.styles import Font

url = "https://api.threatbook.cn/v3/scene/ip_reputation"

#将字符串转换成列表
def str_to_list(query_ips_str):
    query_ips_list = query_ips_str.split(',')
    return query_ips_list

#将查询的结果写到excel文件中
def write_into_excel(i, query_ip, sec_level, is_malicious, confidence_level, location, judgments):
    #length 查询IP列表的长度
    #sec_level 风险等级
    #is_malicious 是否恶意IP
    #confidence_level 可信度
    #judgments 威胁类型
    #location IP归属地
    #将查询结果记录在excel表中
    file = "file_path"
    wb1 = load_workbook(filename=file)
    ws1 = wb1['Sheet1']
    ws1["A{}".format(i)].value = query_ip
    ws1["B{}".format(i)].value = sec_level
    #如果是高风险IP就标红
    if ws1["B{}".format(i)].value == "high":
        font = Font(bold=True, color='9c0006')
        ws1.cell(row=i, column=2, value="high").font = font
    ws1["C{}".format(i)].value = is_malicious
    ws1["D{}".format(i)].value = confidence_level
    ws1["E{}".format(i)].value = judgments
    ws1["F{}".format(i)].value = location
    wb1.save(filename=file)

#通过接口查询IP相关信息
def get_ip_info(query_ips_list):
    length = len(query_ips_list)
    for i in range(length):
        query_ip = query_ips_list[i]
        query = {
          "apikey":"Your apiKey",
          "resource": query_ip
        }
        response = requests.request("GET", url, params=query)
        get_result = response.json()
        #查风险等级
        sec_level = get_result['data']['{}'.format(query_ip)]['severity']
        #查是否恶意IP
        is_malicious = get_result['data']['{}'.format(query_ip)]['is_malicious']
        #查可信度
        confidence_level = get_result['data']['{}'.format(query_ip)]['confidence_level']
        #查IP归属国家
        country = get_result['data']['{}'.format(query_ip)]['basic']['location']['country']
        #查IP归属省份
        province = get_result['data']['{}'.format(query_ip)]['basic']['location']['province']
        #查IP归属城市
        city = get_result['data']['{}'.format(query_ip)]['basic']['location']['city']
        #将IP归属的国家、省份、城市合并成一个字符串
        location = country + '-' + province + '-' + city
        #查威胁类型
        judgments = get_result['data']['{}'.format(query_ip)]['judgments']
        judgments = str(judgments)
        location = str(location)
        #调用写excel函数将查询结果写到excel表格中
        write_into_excel(i+2, query_ip, sec_level, is_malicious, confidence_level, location, judgments)

if __name__ == '__main__':
    query_ips_str = input("请输入需要查询的IP(1.1.1.1,2.2.2.2): ")
    query_ips_list = str_to_list(query_ips_str)
    get_ip_info(query_ips_list)

到了这里,关于使用python调用微步在线接口实现自动化查询IP情报的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实现接口自动化

    接口自动化是指通过编写脚本来实现对接户外Web服务的测试和验证,可以提高测试效率、缩短测试周期。以下为Python实现接口自动化的基本步骤: 1. 确定接口地址 首先需要明确需要测试的接口地址,可以使用Python中的requests库向该地址发送get/post请求获取返回结果。 ``` pyth

    2023年04月20日
    浏览(29)
  • Python+Requests实现接口自动化测试

    一般对于自动化的理解,有两种方式的自动化。 第一,不需要写代码,完全由工具实现,这种方式的工具一般是公司自己研发的,方便黑盒测试人员使用。这种工具的特点是学习成本低,方便使用,但是通用性不强,也就是换了一家公司,就很有可能无法使用之前的工具。

    2024年01月16日
    浏览(59)
  • 基于Python 简易实现接口测试自动化

    目录 实现思路 统筹脚本 请求封装  日志封装 结果比对 结果邮件 用例获取及数据格式化 请求url转换 测试用例excel结构 测试报告 邮件接收结果 资料获取方法 使用excel管理用例用例信息,requests模块发送http请求,实现了记录日志,邮件发送测试报告的功能 目录结构如下: 下

    2024年02月13日
    浏览(31)
  • (基于python)简单实现接口自动化测试

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年02月08日
    浏览(36)
  • 简单实现接口自动化测试(基于python)

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年02月13日
    浏览(34)
  • python+requests接口自动化框架的实现

    为什么要做接口自动化框架 1、业务与配置的分离 2、数据与程序的分离;数据的变更不影响程序 3、有日志功能,实现无人值守 4、自动发送测试报告 5、不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具-----配置需要的接口参数----

    2024年03月13日
    浏览(43)
  • 基于Python简单实现接口自动化测试(详解)

    本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网

    2024年01月20日
    浏览(35)
  • Python自动化实战之接口请求的实现

    在前文说过,如果想要更好的做接口测试,我们要利用自己的代码基础与代码优势,所以该章节不会再介绍商业化的、通用的接口测试工具,重点介绍如何通过 python 编码来实现我们的接口测试以及通过 Pycharm 的实际应用编写一个简单接口测试。 使用 Python 发送 请求 应为从最

    2024年01月20日
    浏览(32)
  • 用Python搞定接口自动化测试:轻松实现RPC协议接口测试

    每天进步一点点,关注我哦,每天分享测试技术文章,文末有福利! 目录:导读 前言 一、什么是RPC 二、RPC框架 三、基于grpc框架服务的接口测试 01创建一个grpc服务接口 02调用grpc接口客户端 03接口框架中适配grpc封装 四、基于dubbo框架服务的接口测试 01、dubbo服务管理简单使

    2024年02月01日
    浏览(89)
  • 简单实现接口自动化测试(基于python+unittest)

    本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Python自带的Unittest框架调用,期望各位可以通过本文对接口自动化测试有一个大致的了解。 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景

    2024年02月07日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包