一.摘要

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",...]

二.利用代码

# -*- 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 timeAPI_URL = "https://www.censys.io/api/v1"
UID = "85e64536-7534-4177-8c72-9a383bf01f12"
SECRET = "9hCyul4KXJKXieyXeGIFT0lr04rbN9yQ"
page=1
PAGES=2def 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:passtry:results = res.json()except:passif 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 iplistif __name__ == '__main__':print "start..."with open('censys.txt','a') as f:while page <= PAGES:iplist=(getIp(page))print 'page is:'+str(page)page += 1time.sleep(1)for i in iplist:f.write(i+'\n')

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

转载于:https://www.cnblogs.com/Dleo/p/5725479.html

信息收集之censys相关推荐

  1. APT 信息收集——shodan.io ,fofa.so、 MX 及 邮件。mx记录查询。censys.io查询子域名。...

    信息收集 目标是某特殊机构,外网结构简单,防护严密.经探测发现其多个子机构由一家网站建设公司建设. 对子域名进行挖掘,确定目标ip分布范围及主要出口ip. 很多网站主站的访问量会比较大.往往主站都是挂 ...

  2. 渗透测试入门1之信息收集

    渗透测试入门1之信息收集 开源情报信息收集(OSINT) github whois查询/注册人反查/邮箱反查/相关资产 google hacking 创建企业密码字典 子域名获取 字典列表 邮箱列表获 ...

  3. 常见的信息收集工具和手段

    1.DNS 收集:whios查询.站长查询.dnsmap.DNS域传输漏洞(通过kall的dnsenum工具获取dns域中域名).DNS历史记录解析 推荐一个除站长之家外的WHOIS查询网站 http ...

  4. 渗透测试 | IP信息收集

    0x00 前言 信息收集可以说是在渗透测试中最重要的一部分,好比说一个特工接到一个任务,要求窃取 A 建筑内的情报,那么这个特工首先要进行信息收集,了解这个建筑的保卫情况.建筑地图.人员信息.情报位置 ...

  5. 信息收集的方法有哪些

    众所周知渗透测试的本质是信息收集,在渗透测试中信息收集的质量直接关系到渗透测试成果的与否.在对系统进行渗透测试前的信息收集是通过各种方式获取所需要的信息,收集的信息越多对目标进行渗透的优势越有利.通过 ...

  6. 信息收集--OSINT

    开源情报信息收集(OSINT) 一.开源情报信息收集 1.搜索引擎语法 2.在线接口 3.相关工具 4.DNS历史解析记录 5.Github Hacking 搜索仓库 搜索代码 自动化工具 一.开源情 ...

  7. 信息收集之寻找真实ip

    信息收集之寻找真实ip 一.找到没有挂在CDN子域名 当找到子域名的真实ip时,将ip反查,主站很大几率是在这个ip或ip段内 子域名查找的原理是基于字典去跑和基于dns服务器去寻找 寻找子域的方法 ...

  8. 信息收集汇总(附网盘泄露工具)

    信息收集汇总(附网盘泄露工具) 渗透测试其中不可缺少的,而且也是非常重要的就是信息收集了,所以我整理了一些常用的信息收集方法 微信公众号:小惜渗透,欢迎大佬一起交流进步 1. 基础信息收集 1.1 g ...

  9. 渗透测试的灵魂:信息收集

    渗透测试之信息收集 Google Hack 域名信息收集 Whois信息查询 网站备案信息查询 子域名信息收集 证书透明度公开日志枚举 确定目标真实IP 什么是CDN 如何判断网站是否使用CDN 绕过 ...

最新文章

  1. 第二十一讲 任务的删除
  2. 腾讯云CentOS 7 上安装Nginx
  3. 自己的数字选择控件NumberPicker
  4. Mybatis源码研究5:数据源的实现
  5. 详解7类Python运算符及代码举例
  6. python中下拉菜单大小_请问各位大神如何将下拉菜单的文字设定成一个值?
  7. java log4j logback jcl_进阶之路:Java 日志框架全画传(下)
  8. STM32F4: Generating parallel signals with the FSMC
  9. 基于Python的RRT算法实现
  10. 计算机毕业设计Java医院医患管理系统(系统+源码+mysql数据库+Lw文档)
  11. 计算机中数据的计量单位
  12. PageHelper自定义count
  13. JAVA使用RXTX编写串口调试工具-代码分析
  14. Unity 3d 摄像头
  15. JavaEE进阶——Spring学习笔记
  16. c语言常用函数库 c++常用函数库
  17. pt100专用芯片_新能源 汽车电机专用温度传感器 PT100 进口芯片 德国
  18. 网络存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署)
  19. Android | navigation入门详解
  20. edge 禁止网页自动刷新_如何在Microsoft Edge中自动翻译网页

热门文章

  1. 01Trie树 CF923C Perfect Security
  2. 中信国安的碳酸锂项目的盈利前景
  3. fineui mysql_FineUI从iis6迁移到iis7.5上遇到的奇葩事情
  4. 刘强东痛批京东中高层拿 PPT 欺骗自己;拼多多海外版成美国下载量最高应用;腾讯加入 RISC-V 基金会|极客头条
  5. 篱笆家装宝典之十一——沙发
  6. DeepinOS访问win7共享文件夹
  7. ambari发现正常磁盘未挂载(Datanode服务已启动)
  8. 索引的概念及其优缺点
  9. 网络编程多人聊天c语言,网络编程之TCP多人聊天
  10. html5end锚点,页面如何做锚点?