Python利用shadon进行信息收集

常用shodan函数

shodan_api.count(query,facets=None) 查询结果数量
shodan_api.host(ip,history=False):获取一个IP的详细信息
shodan_api.port():获取Shodan可查询的端口号
shodan_api.protocols():获取Shodan可查询的协议
shodan_api.services():获取Shodan可查询的服务
shodan_api.scan(ips,force=False):使用Shodan进行扫描,ips可以为字符或字典类型

利用api查询信息

import shodan

key = '########'
api = shodan.Shodan(key)

res = api.search('nginx')
print(res['total'])

total查询结果主机数量
官网中可以查看键值

Python利用shadon进行信息收集

IP查询

import shodan

key = '########'
api = shodan.Shodan(key)

res = api.host('110.242.68.4')
print(res['country_name'])

China

同理 可以在官网SearchMethods中查看键值

Python利用shadon进行信息收集

shodan查询脚本

import shodan
import json
import sys

key = '########'
api = shodan.Shodan(key)

if len(sys.argv) == 1:
    print("usage: %s"%sys.argv[0])
    sys.exit(1)
try:
    query = ''.join(sys.argv[1:])
    result = api.search(query)
    for results in result['matches']:
        print(results['ip_str'] + ":" + str(results['port']))

except Exception as e:
    print("Error %s" %e)

Python利用shadon进行信息收集

Shodan搜索JAWS摄像头

import shodan
import json

key = '###'
api = shodan.Shodan(key)

res = api.search('JAWS/1.0')
print("found:%s"%res['total'])
for ress in res['matches']:
    print(ress['ip_str']+":"+str(ress['port']))

Python利用shadon进行信息收集

人生漫漫其修远兮,网安无止境。
一同前行,加油!

上一篇:HttpServletResponse setHeader 和 addHeader区别


下一篇:java转换字符串的编码(转)