信息收集之后_es日志收集

信息收集之后_es日志收集一.摘要Censys提供了search、view、report、query、export以及data六种API接口。search接口的请求地址是https://www.censys.io/api/

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.摘要

Censys提供了search、view、report、query、export以及data六种API接口。

search接口的请求地址是https://www.censys.io/api/v1/search/?,其中?的地方可以是ipv4、websites或者certificates,分别代表搜索ipv4主机、网站和证书。我们的POST请求应该是一组包含query、page、fields的json数据,其中query指的是相应的搜索语句;page代表返回的页码,Censys总是返回一页的数据;fields指的是你希望返回值中包含哪些字段,具体包含哪些字段你可以自己去看一下。

 

JSON有两种结构:
  对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构
  数组在js中是中括号“[]”括起来的内容,数据结构为 [“java”,”javascript”,”vb”,…]

信息收集之后_es日志收集

二.利用代码

# -*- coding: UTF-8 -*-
#https://www.censys.io/api/v1/search/ipv4
#post:{"query": "keyword", "page": 1, "fields": ["ip", "protocols", "location.country"]}
#query指的是相应的搜索语句;page代表返回的页码;fields指的是你希望返回值中包含哪些字段
import sys
import json
import requests
import time

API_URL = "https://www.censys.io/api/v1"
UID = "85e64536-7534-4177-8c72-9a383bf01f12"
SECRET = "9hCyul4KXJKXieyXeGIFT0lr04rbN9yQ"
page=1
PAGES=2
    
def getIp(page):
    iplist=[]
    data = {
                "query":"keyword", 
                "page":page, 
                "fields":["ip","protocols","location.country"]
            }        
    try:
        res = requests.post(API_URL + "/search/ipv4", data=json.dumps(data), auth=(UID, SECRET))
    except:
        pass
    try:
        results = res.json()
    except:
        pass
    if res.status_code != 200:
        print "error occurred: %s" % results["error"]
        sys.exit(1)
    #print "Total_count:%s" % (results["metadata"]["count"])
    iplist.append("Total_count:%s" % (results["metadata"]["count"]))
    for result in results["results"]:
        #print "%s in %s" % (result["ip"],result["location.country"][0])
        #iplist.append((result["ip"]+':'+i+' in '+result["location.country"][0]))
        for i in result["protocols"]:
            iplist.append(result["ip"]+':'+i+' in '+result["location.country"][0])    
    return iplist
    
if __name__ == '__main__':
    print "start..."
    with open('censys.txt','a') as f:
        while page <= PAGES:
            iplist=(getIp(page))
            print 'page is:'+str(page)
            page += 1
            time.sleep(1)
            for i in iplist:
                f.write(i+'\n')

    
    

首先request请求,post提交data和auth信息,返回json数据包,利用json数据结构找的所需信息,保存并返回一个列表。
主函数判断page大小,不够就调用getIp函数,最后循环写入结果。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166464.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 简聊 Session 与 Token 身份验证[通俗易懂]

    简聊 Session 与 Token 身份验证

    2022年2月14日
    35
  • 记使用 git clean -d -fx ” ” 命令(建议慎用)[通俗易懂]

    记使用 git clean -d -fx ” ” 命令(建议慎用)

    2022年2月10日
    49
  • 使用cloudsim进行云计算仿真步骤_公司分析中最重要的是

    使用cloudsim进行云计算仿真步骤_公司分析中最重要的是CloudSimExample1展示如何创建一个只包含一个主机的数据中心,并且在其上运行一个云任务。首先附上CloudSimExample1全部代码:packageorg.cloudbus.cloudsim.examples;/**Title:CloudSimToolkit*Description:CloudSim(CloudSimulation…

    2022年10月13日
    0
  • 自动化测试之流量回放技术「建议收藏」

    自动化测试之流量回放技术「建议收藏」流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段,未来效果暂且不好说,但这部分内容确实各大公司,测试技术大会等等的热词,由于我没参与但我很感兴趣,所以邀请普及一篇,后边应该还会带来实战篇,本公众号坚持原创和干货分享,欢迎长期关注,一同成长,如果你有好的实战分享也欢迎投稿。前言在日常的测试工作中我们或多或少总会遇到下列问题:1)服..

    2022年7月15日
    13
  • plc程序设计实例_plc简单应用实例100例

    plc程序设计实例_plc简单应用实例100例一、三相异步电动机的降压启动控制1、三相异步电动机的Y-△降压启动控制将三相异步电动机的Y-△降压启动的继电接触器控制改造为PLC控制系统.(1)确定I/O信号、画PLC的外部接线图(a)主电路(b)PLC的I/O接线图电动机的Y-△降压启动的接线图(2)设计三相异步电动机的Y-△降压启动梯形图电动机的Y-△降压启动控制的梯形图2.三相异步电动机的串自耦变压器降压启动控制将串自耦变压器降压启动的继电接触器控制改造为PLC控制系统:(1)确定I/O信号

    2022年9月4日
    3
  • java怎样解决除法精度_java 除法 精度问题

    java怎样解决除法精度_java 除法 精度问题inta=4;intb=3;floatc=(float)a/b;System.out.print(c);//输出:1如果要的到精确的结果,要用下面的方法inta=4;intb=3;floatc=(float)a/(float)b;System.out.print(c);//输出:1.3333334importjava.text.DecimalFormat;public…

    2022年6月5日
    81

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号