0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python SDK包的使用

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-30 15:51 次阅读

Shodan Web端非常好用,但如果我们有从Python搜索的需求怎么办?

没关系,Shodan 官方也提供了 PythonSDK 包,下面就来讲讲这个 SDK 包的使用。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装 Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了 Python 和 pip .

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pipinstall shodan

2.注册账号获取API

使用 Shodan 必须注册账号,注册网址:https://account.shodan.io/register

图片

输入完相关信息,点击 CREATE 会跳转到个人账户页:

图片

此时 API Key 会显示你的API秘钥,请记录这个秘钥,后续会使用到这个秘钥去请求接口

3.Shodan 基本调用

Shodan 本质上就是一个搜索引擎,你只需要输入搜索的关键词:

# 公众号:Python 实用宝典# 2021-05-04fromshodanimportShodan api = Shodan('你的API KEY')defsearch_shodan(keyword):# 调用搜索接口result = api.search(keyword)# 显示所有IPforserviceinresult['matches']:print(service['ip_str']) search_shodan("Hikvision-Webs")

结果如下:

图片

可惜的是,普通API只能像这样搜索关键字,无法使用过滤条件如:**Hikvision-Webs country:"US"**搜索美国境内的所有 Hikvision 网站管理端。

如果你想要使用过滤条件,Shodan 需要你升级API权限:

图片

挺贵的,不过还好是一次性支付,永久使用。

4. Shodan 高级使用

Shodan 的用处当然不仅仅是在黑客攻防中,它还能用于统计。如果你想要了解哪些国家的使用这款摄像头的数量最多,可以使用 Facets 特性。

# 公众号:Python 实用宝典# 2021-05-04fromshodanimportShodan api = Shodan('你的API KEY')deftry_facets(query):FACETS = ['org','domain','port','asn', ('country',3), ] FACET_TITLES = {'org':'Top 5 Organizations','domain':'Top 5 Domains','port':'Top 5 Ports','asn':'Top 5 Autonomous Systems','country':'Top 3 Countries', }try:# 使用 count() 方法可以不需要升级API,且比 search 方法更快。result = api.count(query, facets=FACETS)print('Shodan Summary Information')print('Query: %s'% query)print('Total Results: %sn'% result['total'])# 显示每个要素的摘要forfacetinresult['facets']:print(FACET_TITLES[facet])forterminresult['facets'][facet]:print('%s: %s'% (term['value'], term['count']))exceptExceptionase:print('Error: %s'% e) try_facets("Hikvision-Webs")

得到结果如下:

图片

从 Top 3 Countries 中可以看到,这款摄像头使用数量排名前三的国家分别是:美国、日本和德国。

没想到吧,Shodan 居然还能用于产品分析。同样地原理,如果你把关键词改为 **apache** ,你可以知道目前哪些国家使用apache服务器数量最多,最普遍被使用的版本号是什么。

简而言之,Shodan 是一个非常强大的搜索引擎,它在好人手里,能被发挥出巨大的潜能。如果 Shodan 落入坏人之手的话,那真是一个可怕的东西。

为了避免受到不必要的攻击,请大家及时检查所有联网设备的管理端的密码,如果有使用默认密码及弱口令,立即进行密码的更改,以保证服务的安全。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编辑器
    +关注

    关注

    1

    文章

    795

    浏览量

    30852
  • 数据分析
    +关注

    关注

    2

    文章

    1388

    浏览量

    33882
  • python
    +关注

    关注

    53

    文章

    4747

    浏览量

    83938
  • SDK
    SDK
    +关注

    关注

    3

    文章

    997

    浏览量

    45312
收藏 人收藏

    评论

    相关推荐

    【Raspberry Pi 3试用体验】+ 发微博

    /default.html 取消授权回调页 同样即可代码:#coding=utf-8#! /usr/bin/ python"""引入 Python SDK""
    发表于04-24 21:53

    【Rico Board试用体验】Amazon Iot物联网终端之廿五 采用AmazonIoTSDKforPython下载和安装

    1、在新的内核中,需要引入AmazonIoT SDK,从使用来看,用 SDKfor Node.js最方便和灵活。 不过已经安装好了 python就用 python了。2、首先需要看ssl是
    发表于12-12 16:57

    Python的pip安装

    pip是一个安装和管理 Python 的工具,用它我们可以方便的拉一些依赖的库下来
    发表于07-16 08:04

    TensorFlow常用Python扩展

    TensorFlow 能够实现大部分神经网络的功能。但是,这还是不够的。对于预处理任务、序列化甚至绘图任务,还需要更多的 Python 。下面列出了一些常用的 Python :Nu
    发表于07-28 14:35

    什么是python、模块和库?

    早一点的 Python版本( Python3.3 之前)中,如果一个文件夹下有一个 __init__.py 文件,那我们就称之为 ,英文名 Package。在后来的 Python
    发表于03-09 16:48

    python常规与命名空间

    python常规 与命名空间 1. 常规包在 Python3.3 之前或者说 Python2 中,一个
    发表于03-11 15:46

    Python的两个基础numpy和Matplotlib示例详解

    Python的科学计算 - Numpy numpy(Numerical Pythonextensions)是一个第三方的 Python
    发表于11-15 18:36 5392次阅读

    基于Python的scikit-learn实现机器学习

    基于 Python的scikit-learn 实现机器学习。
    发表于03-26 09:42 11次下载
    基于<b class='flag-5'>Python</b>的scikit-learn<b class='flag-5'>包</b>实现机器学习

    在Anaconda中安装pythonseaborn

    在Anaconda中安装 python seaborn(现代电源技术题库)-在Anaconda中安装 python seaborn
    发表于09-18 15:01 5次下载
    在Anaconda中安装<b class='flag-5'>python</b><b class='flag-5'>包</b>seaborn

    详解python常规与命名空间

    python常规 与命名空间 1. 常规 Python3.3 之前或者说 Python
    的头像 发表于03-11 15:46 3253次阅读

    ROC RK3566 PC LinuxSDK源码

    德赢Vwin官网 网站提供《ROC RK3566 PC Linux SDK源码 .txt》资料免费下载
    发表于09-21 15:03 20次下载
    ROC RK3566 PC Linux <b class='flag-5'>SDK</b>源码<b class='flag-5'>包</b>

    AIO 3568J LinuxSDK源码

    德赢Vwin官网 网站提供《AIO 3568J Linux SDK源码 .txt》资料免费下载
    发表于09-21 11:02 10次下载
    AIO 3568J Linux <b class='flag-5'>SDK</b>源码<b class='flag-5'>包</b>

    APM32F10x_SDK工具

    APM32F10x_ SDK工具
    发表于11-10 11:33 0次下载
    APM32F10x_<b class='flag-5'>SDK</b> 工具<b class='flag-5'>包</b>

    简述python模块import和from及all

    python指定导入目录路径,称为 导入。 通过import和from导入 模块。 通过**all**指定导入的模块和导入的模块属性。 ## 1.1 python
    的头像 发表于02-21 14:20 1113次阅读

    OneCore存储软件开发工具(SDK)

    德赢Vwin官网 网站提供《OneCore存储软件开发工具 ( SDK).pdf》资料免费下载
    发表于08-22 14:53 0次下载
    OneCore存储软件开发工具<b class='flag-5'>包</b>(<b class='flag-5'>SDK</b>)