censys获取到ip和端口
Posted lyxin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了censys获取到ip和端口相关的知识,希望对你有一定的参考价值。
目标是获取到ip和端口,以 ip:port的形式保存。由于我几乎不会python,用的方法比较愚蠢。
利用官方接口获取到数据
import sys import json import requests API_URL = "https://www.censys.io/api/v1" UID = "xxxxxxxxxxxxxxxxx" SECRET = "xxxxxxxxxxxxxxx" data = { "query": "data", "page": 1, "fields": ["ip", "protocols"] } res = requests.post(API_URL + "/search/ipv4", data=json.dumps(data), auth=(UID, SECRET)) results = res.json() if res.status_code != 200: print("error occurred: %s" % results["error"]) sys.exit(1) for result in results["results"]: f = open("ip.txt", "a+") f.write(result+" ") print(result)
获取到的数据是不规则的json,在前后加上 "[" 和 "]" 以后,把单引号换成双引号
import json f = open("ip.txt") fi = open("final.txt", "a+") result = json.load(f) for i in result: port = i[‘protocols‘][0] r = i[‘ip‘] + ":" + port.split("/")[0] + " " fi.write(r) print(r) fi.close() f.close()
json.load,加载json格式的文件。
读取数据的时候,获取的不全是string类型,也有数据类型,比如端口。
以上是关于censys获取到ip和端口的主要内容,如果未能解决你的问题,请参考以下文章