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和端口的主要内容,如果未能解决你的问题,请参考以下文章

利用java代码如何检测某端口号是不是可用

如何从文本文件中获取代理 IP 和端口

java 从connection中获取ip和端口问题

获取本机外网IP 更新到D盘的文件 追500高分

Spring boot - 如何获取正在运行的端口和IP地址[重复]

Censys