0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python SDK包的使用

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-30 15:51 ? 次閱讀

Shodan Web端非常好用,但如果我們有從 Python 搜索的需求怎么辦?

沒(méi)關(guān)系,Shodan 官方也提供了 Python SDK 包,下面就來(lái)講講這個(gè) SDK 包的使用。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝 Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了 Python 和 pip .

(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請(qǐng)選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install shodan

2.注冊(cè)賬號(hào)獲取API

使用 Shodan 必須注冊(cè)賬號(hào),注冊(cè)網(wǎng)址:https://account.shodan.io/register

圖片

輸入完相關(guān)信息,點(diǎn)擊 CREATE 會(huì)跳轉(zhuǎn)到個(gè)人賬戶頁(yè):

圖片

此時(shí) API Key 會(huì)顯示你的API秘鑰,請(qǐng)記錄這個(gè)秘鑰,后續(xù)會(huì)使用到這個(gè)秘鑰去請(qǐng)求接口。

3.Shodan 基本調(diào)用

Shodan 本質(zhì)上就是一個(gè)搜索引擎,你只需要輸入搜索的關(guān)鍵詞:

# 公眾號(hào):Python 實(shí)用寶典
# 2021-05-04
from shodan import Shodan

api = Shodan('你的API KEY')

def search_shodan(keyword):
    # 調(diào)用搜索接口
    result = api.search(keyword)

    # 顯示所有IP
    for service in result['matches']:
            print(service['ip_str'])

search_shodan("Hikvision-Webs")

結(jié)果如下:

圖片

可惜的是,普通API只能像這樣搜索關(guān)鍵字,無(wú)法使用過(guò)濾條件如:** Hikvision-Webs country:"US" **搜索美國(guó)境內(nèi)的所有 Hikvision 網(wǎng)站管理端。

如果你想要使用過(guò)濾條件,Shodan 需要你升級(jí)API權(quán)限:

圖片

挺貴的,不過(guò)還好是一次性支付,永久使用。

4. Shodan 高級(jí)使用

Shodan 的用處當(dāng)然不僅僅是在黑客攻防中,它還能用于統(tǒng)計(jì)。如果你想要了解哪些國(guó)家的使用這款攝像頭的數(shù)量最多,可以使用 Facets 特性。

# 公眾號(hào):Python 實(shí)用寶典
# 2021-05-04
from shodan import Shodan

api = Shodan('你的API KEY')
def try_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() 方法可以不需要升級(jí)API,且比 search 方法更快。
        result = api.count(query, facets=FACETS)

        print('Shodan Summary Information')
        print('Query: %s' % query)
        print('Total Results: %sn' % result['total'])

        # 顯示每個(gè)要素的摘要
        for facet in result['facets']:
            print(FACET_TITLES[facet])

            for term in result['facets'][facet]:
                print('%s: %s' % (term['value'], term['count']))

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

try_facets("Hikvision-Webs")

得到結(jié)果如下:

圖片

從 Top 3 Countries 中可以看到,這款攝像頭使用數(shù)量排名前三的國(guó)家分別是:美國(guó)、日本和德國(guó)。

沒(méi)想到吧,Shodan 居然還能用于產(chǎn)品分析。同樣地原理,如果你把關(guān)鍵詞改為 ** apache ** ,你可以知道目前哪些國(guó)家使用apache服務(wù)器數(shù)量最多,最普遍被使用的版本號(hào)是什么。

簡(jiǎn)而言之,Shodan 是一個(gè)非常強(qiáng)大的搜索引擎,它在好人手里,能被發(fā)揮出巨大的潛能。如果 Shodan 落入壞人之手的話,那真是一個(gè)可怕的東西。

為了避免受到不必要的攻擊,請(qǐng)大家及時(shí)檢查所有聯(lián)網(wǎng)設(shè)備的管理端的密碼,如果有使用默認(rèn)密碼及弱口令,立即進(jìn)行密碼的更改,以保證服務(wù)的安全。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    808

    瀏覽量

    31407
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1464

    瀏覽量

    34355
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4813

    瀏覽量

    85316
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1051

    瀏覽量

    46673
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【Raspberry Pi 3試用體驗(yàn)】+ 發(fā)微博

    /default.html 取消授權(quán)回調(diào)頁(yè) 同樣即可代碼:#coding=utf-8#! /usr/bin/python"""引入Python SDK""
    發(fā)表于 04-24 21:53

    【Rico Board試用體驗(yàn)】Amazon Iot物聯(lián)網(wǎng)終端之廿五 采用AmazonIoT SDK for Python 下載和安裝

    1、在新的內(nèi)核中,需要引入AmazonIoT SDK,從使用來(lái)看,用SDK for Node.js最方便和靈活。 不過(guò)已經(jīng)安裝好了python就用python了。2、首先需要看ssl是
    發(fā)表于 12-12 16:57

    Python的pip安裝

    pip是一個(gè)安裝和管理 Python 的工具,用它我們可以方便的拉一些依賴的庫(kù)下來(lái)
    發(fā)表于 07-16 08:04

    TensorFlow常用Python擴(kuò)展

    TensorFlow 能夠?qū)崿F(xiàn)大部分神經(jīng)網(wǎng)絡(luò)的功能。但是,這還是不夠的。對(duì)于預(yù)處理任務(wù)、序列化甚至繪圖任務(wù),還需要更多的 Python 。下面列出了一些常用的 Python :Nu
    發(fā)表于 07-28 14:35

    什么是python、模塊和庫(kù)?

    早一點(diǎn)的 Python 版本(Python 3.3 之前)中,如果一個(gè)文件夾下有一個(gè) __init__.py 文件,那我們就稱之為,英文名 Package。在后來(lái)的 Python
    發(fā)表于 03-09 16:48

    python常規(guī)與命名空間

    python常規(guī)與命名空間1. 常規(guī)包在 Python 3.3 之前或者說(shuō) Python 2 中,一個(gè)
    發(fā)表于 03-11 15:46

    Python的兩個(gè)基礎(chǔ)numpy和Matplotlib示例詳解

    Python的科學(xué)計(jì)算 - Numpy numpy(Numerical Python extensions)是一個(gè)第三方的Python,
    發(fā)表于 11-15 18:36 ?5550次閱讀

    基于Python的scikit-learn實(shí)現(xiàn)機(jī)器學(xué)習(xí)

    基于Python的scikit-learn實(shí)現(xiàn)機(jī)器學(xué)習(xí)。
    發(fā)表于 03-26 09:42 ?11次下載
    基于<b class='flag-5'>Python</b>的scikit-learn<b class='flag-5'>包</b>實(shí)現(xiàn)機(jī)器學(xué)習(xí)

    在Anaconda中安裝pythonseaborn

    在Anaconda中安裝pythonseaborn(現(xiàn)代電源技術(shù)題庫(kù))-在Anaconda中安裝pythonseaborn? ? ? ? ? ? ?
    發(fā)表于 09-18 15:01 ?5次下載
    在Anaconda中安裝<b class='flag-5'>python</b><b class='flag-5'>包</b>seaborn

    詳解python常規(guī)與命名空間

    python常規(guī)與命名空間 1. 常規(guī)Python 3.3 之前或者說(shuō) Python
    的頭像 發(fā)表于 03-11 15:46 ?3507次閱讀

    ROC RK3566 PC Linux SDK源碼

    電子發(fā)燒友網(wǎng)站提供《ROC RK3566 PC Linux SDK源碼.txt》資料免費(fèi)下載
    發(fā)表于 09-21 15:03 ?21次下載
    ROC RK3566 PC Linux <b class='flag-5'>SDK</b>源碼<b class='flag-5'>包</b>

    AIO 3568J Linux SDK源碼

    電子發(fā)燒友網(wǎng)站提供《AIO 3568J Linux SDK源碼.txt》資料免費(fèi)下載
    發(fā)表于 09-21 11:02 ?10次下載
    AIO 3568J Linux <b class='flag-5'>SDK</b>源碼<b class='flag-5'>包</b>

    APM32F10x_SDK 工具

    APM32F10x_SDK 工具
    發(fā)表于 11-10 11:33 ?0次下載
    APM32F10x_<b class='flag-5'>SDK</b> 工具<b class='flag-5'>包</b>

    簡(jiǎn)述python模塊import和from及all

    python指定導(dǎo)入目錄路徑,稱為導(dǎo)入。 通過(guò)import和from導(dǎo)入模塊。 通過(guò)**all**指定導(dǎo)入的模塊和導(dǎo)入的模塊屬性。 ## 1.1 python
    的頭像 發(fā)表于 02-21 14:20 ?1320次閱讀

    OneCore存儲(chǔ)軟件開發(fā)工具(SDK)

    電子發(fā)燒友網(wǎng)站提供《OneCore存儲(chǔ)軟件開發(fā)工具(SDK).pdf》資料免費(fèi)下載
    發(fā)表于 08-22 14:53 ?0次下載
    OneCore存儲(chǔ)軟件開發(fā)工具<b class='flag-5'>包</b>(<b class='flag-5'>SDK</b>)