zoukankan      html  css  js  c++  java
  • 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类型,也有数据类型,比如端口。

  • 相关阅读:
    2
    1
    Java面试题整理二(侧重SSH框架)
    solr添加多个core
    Oracle SQL性能优化
    jQuery的$.ajax
    spring四种依赖注入方式
    通过JAXB完成Java对象与XML之间的转换
    window环境下将solr6.3部署到tomcat中
    Java面试题整理一(侧重多线程并发)
  • 原文地址:https://www.cnblogs.com/lyxin/p/9231620.html
Copyright © 2011-2022 走看看