0

当我尝试在 Python 中使用 Shodan API 搜索某些过滤器时,我只会收到错误消息。当我搜索单词作为示例时,我没有收到这些错误。我的 Python 代码:

import sys
import shodan

SHODAN_API_KEY = "xxxxxxxxxxxxxxxxxx"
try:
    api = shodan.Shodan(SHODAN_API_KEY)
    results = api.search("port:21")
    print results["total"]
    for result in results["matches"]:
        print result["ip_str"]+"\n"
except Exception as e:
    print("Code: {c}, Message: {m}".format(c=type(e).__name__, m = str(e)))

那么实际的错误是什么?我有一个免费的 Shodan 帐户,当我在网站上搜索“port:21”时,我得到了结果。当我在脚本中执行此操作时,出现错误。

另外我想知道是否有可能通过整个数据库并获得超过 100 个结果。我考虑过使用 CIDR(例如 1.1.1.1/27)只搜索 100 以下的特殊范围并一遍又一遍地进行。但这甚至可能吗?或者有更有效的方法吗?

4

0 回答 0