我是靠谱客的博主 陶醉樱桃,这篇文章主要介绍shodan 简单使用教程shodan使用指南,现在分享给大家,希望可以做个参考。

shodan使用指南

查询

  • 基础查询:

    语法

    复制代码
    1
    2
    type:xxx

    注意:冒号左右没有空格

    搜索指定的主机或域名:

    复制代码
    1
    2
    hostname:"google"

    搜索指定的端口或服务(数字可以不用双引号包裹):

    复制代码
    1
    2
    port:21

    搜索指定的国家:

    复制代码
    1
    2
    country:"CN"

    搜索指定的城市:

    复制代码
    1
    2
    city:"Hefei"

    搜索指定的组织或公司:

    复制代码
    1
    2
    org:"google"

    搜索指定的ISP供应商:

    复制代码
    1
    2
    isp:"China Telecom"

    搜索指定的操作系统/软件/平台:

    复制代码
    1
    2
    product:"Apache httpd"

    搜索指定的软件版本:

    复制代码
    1
    2
    version:"1.6.2"

    搜索指定的地理位置,参数为经纬度:

    复制代码
    1
    2
    geo:"31.8639, 117.2808"

    搜索指定收录时间前后的数据before/after,格式为dd-mm-yy:

    复制代码
    1
    2
    before:"11-11-15"

    搜索指定的IP地址或子网:

    复制代码
    1
    2
    net:"210.45.240.0/24"

    搜索有shodan结果状态:

    复制代码
    1
    2
    status:200
  • 并集查询(A & B):

    语法

    复制代码
    1
    2
    type1:xxx type2:xxx

    用空格将两个查询条件隔开就可以了


    搜索指定主机为Google并且端口为80:

    复制代码
    1
    2
    hostname:'google' port:80
  • 差集查询(A - B):

    语法

    复制代码
    1
    2
    type1:xxx -type2:xxx

    用空格将两个查询条件隔开就可以了


    搜索指定主机为Google并且端口不为80:

    复制代码
    1
    2
    hostname:'google' -port:80

    注意:port前有个 -,代表减去

查询结果获取

1. 点击页面上的 Download Results 按钮下载

在这里插入图片描述

2. 使用 shaodan 官方提供 shodan 下载数据

下载速度比较慢,且数据始终会少于查询结果数据,偶尔会中断

1、 安装 shodan (请先安装python和pip)

复制代码
1
2
pip install shodan

2、 初始化工具

复制代码
1
2
shodan init [API Key]

提示: 登录 shodan 后在网站获取这个 API Key

3、 查询数据的结果数量

复制代码
1
2
shodan count "查询条件"

例如查询主机为google的数据:

复制代码
1
2
shodan count hostname:'google'

例如查询主机为google并且端口为80的数据:

复制代码
1
2
shodan count "hostname:'google' port:80"

注意: 这里的查询条件的引号格式不要弄错了

4、 下载查询结果数据

  • 语法:
复制代码
1
2
shodan download [保存文件名] "查询条件" [--limit n](条数限制)

说明: 如果不给保存文件名,则会以query为文件名保存。
如果不限制条数,则会默认为1000。
查询条件格式与上面查询数量的查询条件格式一致。

例如下载100条主机为Google并且端口不为80的数据并保存为google:

复制代码
1
2
shodan download google "hostname:'google' -port:80" --limit 100

下载的数据每行为一个json

5、 可以直接使用shodan对数据进行分析(也可以不下载直接分析)

  • 提取下载数据中的ip和端口

    复制代码
    1
    2
    shodan parse --fields ip_str,port --separator , google.json.gz
  • 直接提取查询数据中的ip和端口

    复制代码
    1
    2
    shodan search --fields ip_str,port "查询条件"

3. 使用代码下载数据

数据可能有重复,故下载是数量多于查询出来的结果数量(主要是会多用积分,费钱)

这里使用python语言,使用其他语言请自行查看官方文档

1、 按照第二种方式所述安装shodan
2、 代码示例:

复制代码
1
2
3
4
5
6
import shodan SHODAN_API_KEY = "API Key" api = shodan.Shodan(SHODAN_API_KEY) results = api.search(query, facets=page, limit=5, minify=True) doing...

search函数参数说明:

  • query ( str ) – 搜索查询;与网站相同的语法
  • page ( int ) –(可选)搜索结果的页码
  • lint ( int )–(可选)要返回的结果数
  • offset ( int )–(可选)搜索偏移量以开始从中获取结果
  • facets ( str ) –(可选)用于获取摘要信息的属性列表
  • minify ( bool ) –(可选)是否缩小横幅并只返回重要数据

更多查询请查看官方文档 https://shodan.readthedocs.io/en/latest/api.html

最后

以上就是陶醉樱桃最近收集整理的关于shodan 简单使用教程shodan使用指南的全部内容,更多相关shodan内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部