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类型,也有数据类型,比如端口。

  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/lyxin/p/9231620.html
Copyright © 2011-2022 走看看