当我尝试在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以下的特殊范围并一遍又一遍地进行搜索。但这有可能吗?或者有更有效的方法吗?