censys官网 : 点击此处跳转
-
censys 非注册用户不能使用api接口,注册账号需要外网环境【也可以去某宝看看】
-
普通用户只有60次api接口的查询权限
方法一:利用requests库,扫描指定的ip,并抓取返回结果中的值
- url可以在官方api文档里面拿到,官方api文档: 点击此处跳转
- 我想要的是查询ip的,url是https://search.censys.io/api/v2/hosts/ip
- 用户信息需要注册,censys注册账号需要外网环境【也可以去某宝看看】
- 登录到账户里面可以拿到api key
代码如下
import urllib3
import requests
from urllib.parse import urljoin
class GetResult():
def get_censys_result(self):
url = "https://search.censys.io/api/v2/hosts/ip"
search = "182.73.253.90"
url = urljoin(url, search)
UID = ""
SECRET = ""
response = requests.get(url=url, verify=False, timeout=10, auth=(UID, SECRET))
data = response.json()
if response.status_code != 200:
print('censys 请求失败,请检查配置')
print(data)
return False
print(data)
print(data['result']['ip'])
return True
INS = GetResult()
INS.get_censys_result()
运行结果:
方法二:利用python censys库,下发任务,并抓取返回结果中的值】
- 用python censys库
- 同样需要注册后拿到用户信息
官方库地址: Censys-Search-Python-Library
代码如下
import censys
from censys import *
Secret = ""
UID = ""
api = censys.ipv4.CensysIPv4(api_id=UID, api_secret=Secret)
res = api.view(ip)
接下来就可以处理你抓到的数据了