Python教程

Python利用shadon进行信息收集

本文主要是介绍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查询结果主机数量
官网中可以查看键值

在这里插入图片描述

IP查询

import shodan

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

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

China

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

在这里插入图片描述

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)

在这里插入图片描述

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进行信息收集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!