在大型网络端口扫描中,可以使用shodan快速的发现资产开放的端口。
个人认为使用shodan进行端口发现的优点是数据类型是json的,容易处理且速度快,缺点是没法对自定义的端口进行扫描。
使用python编写了示例代码,如下:
import shodan
import netaddr
SHODAN_API_KEY = "..........."
api = shodan.Shodan(SHODAN_API_KEY)
file = open(path,'a')
ips = []
for ip in netaddr.IPNetwork(net block): /net block填写探测网段
try:
file.write(str(results['ip_str']) + ': ' + str(results['ports']) + '\n')
except:
pass
file.close()