Python调用 shodan API接口

前言

本篇我们将介绍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)的信息的拿取,后续会持续补充,欢迎关注!

相关推荐

  1. python调用http接口

    2024-03-27 21:10:01       59 阅读
  2. python课程学习代码:调用接口

    2024-03-27 21:10:01       43 阅读
  3. Qt多线程调用python接收调用数据

    2024-03-27 21:10:01       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 21:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 21:10:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 21:10:01       82 阅读
  4. Python语言-面向对象

    2024-03-27 21:10:01       91 阅读

热门阅读

  1. docker启动rocketmq简洁教程

    2024-03-27 21:10:01       40 阅读
  2. ASR工业化语音模型总结

    2024-03-27 21:10:01       38 阅读
  3. 一些关于网络的笔记

    2024-03-27 21:10:01       32 阅读
  4. C#实现简单同步Echo服务端和客户端

    2024-03-27 21:10:01       41 阅读
  5. day5-QT

    day5-QT

    2024-03-27 21:10:01      30 阅读
  6. reactive和ref的异同、toRef和toRefs的使用

    2024-03-27 21:10:01       34 阅读
  7. Unity运行中加载特效AB包并且对象池管理

    2024-03-27 21:10:01       36 阅读