Python调用 shodan API接口

本文介绍了如何使用Python与ShodanAPI交互,获取指定IP和端口的详细信息,包括API_KEY的获取方法和示例代码,以及环境准备。
摘要由CSDN通过智能技术生成

前言

本篇我们将介绍Python调用shodan的api接口并拿取数据的方法。

一.功能目的

使用python调shodan的api接口,实现查询单个靶机(ip+port)的信息,并拿取返回数据。

二.功能调研

我们需要参考官方文档:点击跳转shodan官方库

根据浏览官方文档,我们可以提取到以下信息:

1.API_KEY值要注册等候后拿取到

注册登录后,点击ACCOUNT-点击show,就可以拿到key值了

2.直接调用库来发送对应的请求,拿取数据。

三.编写代码

1.代码示例

官方代码如下(示例):

from shodan import Shodan

api = Shodan('MY API KEY')

# 扫描单个ip
ipinfo = api.host('8.8.8.8')
print(ipinfo)

# 搜索被“黑客攻击”的网站
for banner in api.search_cursor('http.title:"hacked by"'):
    print(banner)

# 获取互联网上工业控制系统服务的总数
ics_services = api.count('tag:ics')
print('Industrial Control Systems: {}'.format(ics_services['total']))

2.填入数据

根据自己的搜索条件,编写以下代码代码如下(示例):

from shodan import Shodan
 
class GetResult:
    def get_shodan_result(self):
        """开始发送 shodan 扫描请求"""

        shodan_api = shodan.Shodan(API_key)
        data = shodan_api.search(ip:182.73.253.90 port:443)
        print(data)
        if data['matches'][0]['http']['status'] != 200:
            print('shodan 请求失败,请检查配置')
            return False
        self.var['shodan_data_result'] = data

        product = data['matches'][0]['product']
        print(product)
 
 
INS = GetResult()
INS.get_shodan_result()

3.环境准备

pip install shodan

总结

本文主要讲了使用python调shodan的api接口,实现查询单个靶机(ip+port)的信息的拿取,后续会持续补充,欢迎关注!

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值