使用python调用微步在线接口实现自动化查询IP情报
目录
一、微步在线接口说明
二、官方示例
三、自动化查询IP情报信息
一、微步在线接口说明
针对入站场景的IP进行分析, 能够提供IP的地理位置、ASN信息,通过判定规则精准判别IP是否恶意、风险严重级别、可信度级别;识别威胁类型,如:漏洞利用(exploit)、傀儡机(Zombie)、代理(Proxy)、可疑(Suspicious)等及相关安全事件或团伙标签。
个人账号可以提供50次/天的权限。
二、官方示例
import requestsurl = "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开发的批量查询脚本,不是专业程序员,仅实现功能。
import requests
from openpyxl import load_workbook
from openpyxl.styles import Fonturl = "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_ipws1["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 = fontws1["C{}".format(i)].value = is_maliciousws1["D{}".format(i)].value = confidence_levelws1["E{}".format(i)].value = judgmentsws1["F{}".format(i)].value = locationwb1.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']#查是否恶意IPis_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情报相关推荐
- 微步在线云API-python批量检测IP脚本
微步在线云API-python批量检测IP脚本 IP 信誉 针对入站场景的IP进行分析, 能够提供IP的地理位置.ASN信息,通过判定规则精准判别IP是否恶意.风险严重级别.可信度级别:识别威胁类型, ...
- python实现简单的api接口-简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- 用Python调用华为云API接口发短信
[摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...
- 微步在线:半年融资8亿,综合型网络安全“新贵”诞生
科技云报道原创. 2021年3月17日,微步在线宣布完成E轮5亿元人民币融资,此轮由CPE源峰领投,老股东云晖资本等继续跟投. 微步在线创始人兼CEO 薛锋 此前,微步在线于2020年9月完成了3亿元 ...
- 使用Python调用有道翻译接口实现翻译任务
使用Python调用有道翻译接口实现翻译任务 首先直接上代码,可以直接复制调用 import hashlib import random import timeimport requestsclass ...
- 用 python 调用百度翻译 v2transapi 接口
一.获得接口 url 打开百度翻译:百度翻译 右键检查 或者 F12 打开控制台.点击网络这一项: 输入文字:哈哈,点击图中的过滤按钮,选择全部 可以看到,v2transapi?from=zh& ...
- 使用Python调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件
调用baidu翻译的接口,实现转换android stuido 中的values/strings.xml 解放生产力,自动翻译生成文件 因为使用的是合法免费的接口,每秒只能请求一次,测试结果翻译330 ...
- EasyCVR调用录像回看接口报错“查询文件失败”排查过程及解决方式
EasyCVR视频平台是TSINGSEE青犀视频开发的极具协议包容性的综合性视频融合云服务平台,支持RTSP.RTMP.GB28181.Ehome.HIKSDK等协议,目前更多协议仍在拓展当中.Eas ...
- python 调用航空公司的接口 获取机票数据 api简单案例
首先简单说下接口测试,现在常用的2种接口就是http api和rpc协议的接口,今天主要说:http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报 ...
- python调用百度识别文字接口_python调用百度通用文字识别接口进行验证码识别
官方文档入口 https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.html#.E7.AE.80.E4.BB.8B 安装 pip3 install baidu- ...
最新文章
- plotly自定义股票数据绘图
- eclipse常用插件安装
- 【IntelliJ IDEA】导出可执行 JAR 包
- app中传递java数据_Java实现app接口和Socket消息传递(6)servlet映射并返回Json数据
- 水文分析提取河网_基于图的河网段地理信息分析排序算法
- 创建精简的SharePoint页面
- 电脑硬盘损坏数据还能不能恢复 解决方法来了
- 稳压二极管型号详解(额定功耗3W)
- Tensorflow从指定链接下载文件
- java毕业设计外卖管理系统mybatis+源码+调试部署+系统+数据库+lw
- Xmind8 下载与破解激活教程
- python svr回归_建模支持向量回归(SVR)与线性回归
- 国产linux系统对打印机的支持,Linux系统下对打印机进行配置
- 使用 RabbitMQ 实现 RPC
- day20 网络编程(上)
- Python全栈开发-gitgithub快速入门
- 大学毕业不用愁,一系列软件帮你轻松完成毕业论文
- 0基础学RS(十)思科AAA认证基于服务器的AAA认证(TACACS+配置,RADIUS配置)
- Go语言并发原理 | GPM模型
- 全局定义mintUI中toast