信息收集之censys
一.摘要
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 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函数,最后循环写入结果。
信息收集之censys的更多相关文章
- APT 信息收集——shodan.io ,fofa.so、 MX 及 邮件。mx记录查询。censys.io查询子域名。
信息收集 目标是某特殊机构,外网结构简单,防护严密.经探测发现其多个子机构由一家网站建设公司建设. 对子域名进行挖掘,确定目标ip分布范围及主要出口ip. 很多网站主站的访问量会比较大.往往主站都是挂 ...
- src挖掘过程之信息收集
信息收集 1.厂商域名 2.厂商ip段 3.厂商业务信息 域名收集 1.基于SSL证书查询 2.第三方网站接口查询 3.Github 4.DNS解析记录 5.子域名枚举等 基于 ...
- 菜鸡试飞----SRCの信息收集手册
whois信息 微步在线 https://x.threatbook.cn/ 站长之家 http://whois.chinaz.com/ dns信息-----检测是否存在dns域传送漏洞 子域名的收集 ...
- 信息收集&Fuzz
本文译自https://0xjoyghosh.medium.com/information-gathering-scanning-for-sensitive-information-reloaded- ...
- Kali信息收集
前言 渗透测试最重要的阶段之一就是信息收集,需要收集关于目标主机的基本细腻些.渗透测试人员得到的信息越多,渗透测试成功的概率也就越高. 一.枚举服务 1.1 DNS枚举工具DNSenum DNSenu ...
- ★Kali信息收集~★6.Dmitry:汇总收集
概述: DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具.它可以用来收集以下信息: 1. 端口扫描 2. whois主机IP和域名信息 ...
- ★Kali信息收集★8.Nmap :端口扫描
★Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html ★Kali信息收集~ 1.Google Hackin ...
- 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Tools Telemetry 翻译:.NET Core 工具遥测(应用信息收集) .NET Cor ...
- 主机信息收集工具DMitry
主机信息收集工具DMitry DMitry是Kali Linux内置的一款信息收集工具.它的目标主要是Web类主机.它不仅通过主动查询.端口扫描方式,还借助第三方网站和搜索引擎获取信息. 它搜集的 ...
随机推荐
- 【Mysql】—— 索引的分类
注意:索引是在存储引擎中实现的,也就是说不同的存储引擎,会使用不同的索引.MyISAM和InnoDB存储引擎:只支持BTREE索引,也就是说默认使用BTREE,不能够更换.MEMORY/HEAP存储引 ...
- Highcharts之饼图
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 51Nod 2006 飞行员配对(二分图最大匹配)
第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2名飞行员,其中1名是英国飞行员,另1名是外籍飞行员.在众多的飞行员中, ...
- python3网络爬虫(4):python3安装Scrapy
运行平台: Windows python版本: python3.5.2 IDE: pycharm 一.Scrapy简介 Scrapy是一个为了爬取网站数据提取结构性数据而编写的应用框架,可以应用于数 ...
- MT【59】一道迭代函数作图
[Read a good book, that is conversation with many a noble man.]---勒内·笛卡尔(1596-1650) 解答: 评:也可以把f(f(x) ...
- 04 Zabbix核心概念回顾
04 Zabbix核心概念回顾 1. 监控四大核心功能: 数据采集----数据储存----数据展示和数据分析-----告警 1.1. 数据采集方式: SNMP:被监控设备上面必须启用SNMP a ...
- SharePoint 2013 pre-config
#region 1. add winrm, application server and web server role Add-WindowsFeature winrm-iis-ext, Appli ...
- detectMultiScale 读取冲突的一个解决方法
背景:用的是opencv的HOGDescriptor检测行人,实例化为hog:使用默认的行人检测器: hog.setSVMDetector(cv::HOGDescriptor::getDefaultP ...
- Android教程:在百度地图上画出轨迹
[日期:2013-04-14] 来源:Linux社区 作者:crazyxin1988 [字体:大 中 小] 接着上面的项目<Android访问webservice.客户端登录注册> ...
- StringTokenizer 的性能看来真的不用担心
一直以来,分析HTTP的Header使用的都是StringTokenizer,但是看过jdk中关于StringTokenizer的介绍: StringTokenizer 是出于兼容性的原因而被保留的遗 ...