网络搜索引擎Shodan(1)

声明:学习视频来自b站up主 泷羽sec,如涉及侵权马上删除文章

感谢泷羽sec 团队的教学
视频地址:shodan(1)_哔哩哔哩_bilibili

本文主要讲解网络搜索引擎Shodan的一些用法(host和search这两个命令)。

Shodan 是一个网络搜索引擎,专门用于查找连接到互联网的设备(如服务器、路由器、网络头、物联网设备等)以及这些设备的状态信息。与传统搜索引擎不同,Shodan 主要通过 IP 地址和端口扫描获取网络中的设备信息,帮助用户分析网络设备的安全状况。以下是对Shodan工作原理、优缺点和功能的详细介绍:

一、Shodan的工作原理

Shodan的工作方式主要通过以下步骤:

  • 主动扫描:Shodan定期扫描全球网络的IP地址,使用多个端口进行扫描,例如80(HTTP)、443(HTTPS)、22(SSH)等常见端口。

  • 收集信息:Shodan 在扫描设备过程中会收集设备的服务信息,包括开放端口、操作系统版本、服务类型、SSL 证书等。

  • 建立数据库:将获取的信息整理成一个数据库,供用户通过关键词搜索特定类型的设备、网络漏洞和开放端口等。

二、 Shodan的优缺点

优点
  • 网络安全:Shodan是网络安全分析的工具,可以帮助网络管理员和安全专家识别潜在的重要安全漏洞并及时修复。

  • 广泛覆盖:得益于其全球扫描机制,Shodan可以抓取互联网全球设备信息,为分析全球网络环境提供支持。

  • 数据多样性:Shodan可以识别多种设备类型,如Web服务器、工控系统、物联网设备、摄像头等,非常适合网络资产管理。

缺点
  • 隐私问题:由于Shodan能够公开访问很多设备的信息,它也可能会导致一些未受保护的设备被黑客利用。

  • 容易被恶意利用:虽然Shodan的设计最初主要是为了提升网络安全,但不当使用也可能导致设备暴露在恶意攻击下。

  • 误报风险:Shodan 的扫描并不完全准确,某些情况下可能会错报设备信息或未能检测到设备开放的端口和服务。

三、 Shodan的功能

  • 搜索网络设备:Shodan可以通过IP地址、端口号、国家、服务协议等条件,搜索各种以太网设备。

  • 漏洞扫描:可以利用Shodan搜索已知漏洞设备,查看是否有易受攻击的端口或服务。

  • 断层分析:用户可以按断层过滤设备信息,以了解特定地区的设备分配其安全状态。

  • 开放端口分析:分析设备的开放端口,帮助网络管理员识别潜在风险。

  • 网络地图和报告:Shodan提供详细的可视化报告和地图功能,帮助用户直观地了解网络安全情况。

四、Shodan在kali上的用法

以下是在 Kali 上安装和初始化 Shodan 的具体步骤:

1.从GitHub克隆Shodan安装包

使用 Git 将 Shodan 的 Python 安装包从 GitHub 克隆到你的 Kali 系统:

git clone https://github.com/achillean/shodan-python.git 

 

2.切换到shodan-python文件夹

进入刚刚克隆的shodan-python文件夹:

cd shodan-python 

 

3. 安装 Shodan 包

运行以下命令安装Shodan包:

python setup.py install 

 

注意:确保使用的是Python3版本,可以在命令前替换为python3,并确认已安装pip包管理工具。

4. 初始化Shodan

首先,你需要在 Shodan 网站(https ://www .shodan .io /)注册并获取API Key。然后,使用该 API Key 进行初始化:

shodan init your_api_key 

 

your_api_key替换为你实际获得的 API Key。初始化后,Shodan 工具就可以调用 API 进行各种查询了。

注意:若出现以下情况,表明你当前的环境中安装的Shodan版本是1.25.0,解决这个问题的方法是安装最新版本的Shodan包,确保安装版本1.31.0或更高。

pip install shodan==1.31.0

5. 查看帮助文档

最后,你可以运行以下命令查看 Shodan 的帮助文档和基本用法:

shodan -h

 五、国家代码

使用前我们先来了解什么是国家代码

国家代码是一种用于标识不同国家和地区的编码系统,通常用于各种国际标准和通信协议中,以确保全球范围内的数据交换和系统兼容。常见的国家代码标准有以下几种:

1. ISO 3166 标准
  • ISO 3166-1 Alpha-2:两个字母组成的国家代码。例如,美国是US,中国是CN,日本是JP。此类代码被广泛用于互联网域名、银行系统、航空业等。

  • ISO 3166-1 Alpha-3:三个字母组成的代码,用于更明确的国家标识。例如,美国是USA,中国是CHN,日本是JPN

  • ISO 3166-1 数字:三个数字代码。例如,美国是840,中国是156,日本是392。这种代码在一些金融和统计系统中被使用,尤其是需要避免环境中的警告冲突。

2.国际电信联盟(ITU)国家代码
  • 主要用于电信行业,通过国际电联分配的国家呼叫代码来国家标识。例如,美国的国际电话区号是+1,中国是+86,日本是+81

  • 此代码不仅用于国际电话区号,还用于无线电音响管理。

3.国际航空运输协会(IATA)机场和国家代码
  • IATA为各国分配了不同的代码,用于航班安排和物流系统。例如,美国是US,中国是CN

  • 机场也有自己的三个字母代码,比如北京首都国际机场是PEK,纽约肯尼迪国际机场是JFK

4.联合国国家代码
  • 联合使用三个数字的M49编码系统来标识国家和地区,尤其是在经济和社会统计中。例如,中国是156,美国是840

具体参考:世界各国国别简称(三位英文缩写).xls - 淘豆网

六、search命令

Shodan的search命令用于执行搜索设备,帮助用户根据各种参数查找连接到互联网的设备。以下是shodan search的常用参数:

1、基本用法
shodan search <查询字符串> [参数]
  • <查询字符串>可以是关键字、IP地址、端口等。例如,可以使用apache查找运行Apache服务器的设备。

2、常用参数

a、country是Shodan搜索中的一个过滤参数,用于限定搜索结果为特定国家的设备。通过指定country:<国家代码>,可以查询该国家内符合条件的设备。国家代码通常使用三个字母的ISO 3166-1 Alpha-2格式,例如US表示美国,CN表示中国。

用法:shodan search <查询字符串> country:<国家代码>

例如,找到美国境内的Apache服务器:shodan search apache country:US

b、city是Shodan搜索中的一个过滤参数,用于将搜索结果限制在特定城市的设备。通过指定city:<城市名称>,可以查询该城市中符合条件的以太网设备。Shodan使用的城市名称通常是英文格式。

用法:shodan search <查询字符串> city:<城市名称>

例如,找到纽约市的 Apache 服务器: shodan search apache city:New York

c、os是Shodan搜索中的一个过滤参数,用于查找运行操作系统的设备。通过os:<操作系统名称>,可以筛选出符合条件的设备,这在定位特定系统或漏洞分析时很有用。Shodan支持多种操作系统的识别,包括Windows、Linux、Unix等。 
用法:shodan search <查询字符串> os:<操作系统名称>

例如,查找运行Windows操作系统的设备:shodan search os:Windows

d、device是Shodan搜索中的一个过滤参数,用于查找特定类型的联网设备。通过device:<设备类型>,可以筛选出符合条件的设备,例如路由器、摄像头、工控系统等。此参数非常适合物联网(IoT)设备和硬件特定设备的搜索。

用法:shodan search <查询字符串> device:<设备类型>

例如,找路由器设备:shodan search device:router

e、--limit <number>

    用于返回限制结果的数量。
    例如:shodan search apache --limit 10(只查找10条运行apache服务器的设备)

f、--color

     Shodan命令行工具的参数之一,用于在终端中为搜索结果显示不同的颜色,以便更仔细地识别和区分结果中的关键信息。

     例如:shodan search apache --color

g、--fields <field1,field2,...>

    指定返回的字段,以缩小搜索范围,显示特定信息(如IP、端口、操作系统等)。
    例如:shodan search apache --fields ip_str,port,org

k、has-vuln:<vulnerability>

    找出具有特定漏洞的设备。
    例如:shodan search apache has_vuln:Ture --limit 5 country:US(查找美国含有漏洞的5个设备)

七、host命令

host参数用于在 Shodan 中查找特定 IP 地址的详细信息。与search命令不同,host直接用于获取某个特定 IP 的相关数据,比如设备的开放端口、服务、断层等详细信息。

1、基本用法
shodan host <IP地址>
2、示例

 查找特定IP地址的详细信息:shodan host x.x.x.x(这里比较敏感,师傅们自行尝试)

3、返回信息

使用host参数会返回该IP地址的以下信息:

  • IP地址的断层(如国家、城市、经纬度)

  • 开放端口和服务(如HTTP、FTP、SSH等)

  • 服务的Banner信息(可以包含服务版本信息)

  • 设备的可能漏洞信息(如 CVE 编号)

  • 组织信息(如 ISP 或组织名称)

4、注意事项
  • 需要 Shodan API Key 才能使用host查询。

  • host参数适用于特定IP查询,而不是批量或范围查询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/900822.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Matlab学习02-matlab中的数据显示格式及符号变量

目录 一&#xff0c;关系运算和逻辑运算 二&#xff0c;变量 三&#xff0c;数据显示格式 四&#xff0c;符号运算 1&#xff0c;创建符号变量 2&#xff0c;数值矩阵转换成符号矩阵 一&#xff0c;关系运算和逻辑运算 在matlab中&#xff0c;只要数值不是 &#xff0…

jenkins下拉参数联动

需要安装Active Choices插件&#xff0c;官网地址&#xff1a; https://plugins.jenkins.io/uno-choice/ 安装完插件以后会出现Active Choices选项&#xff1a; 第一个参数&#xff1a; return ["dubbo-op-all-deployment1", "dubbo-op-all-deployment2",…

合并数组的两种常用方法比较

在 JavaScript 中&#xff0c;合并数组的两种常用方法是使用扩展运算符 (...) 和使用 push 方法。 使用扩展运算符 this.items [...this.items, ...data.items]; 优点&#xff1a; 易于理解&#xff1a;使用扩展运算符的语法非常直观&#xff0c;表达了“将两个数组合并成一个…

基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;设备分类,设备信息,维修人员,报修信息,维修进度,院系,消防知识,培训记录,培训信息,备件信息,备件申请,派发信息,采购信息 开题报告内容 基于Vue框架的高校消防设施管理系统开题报告 一、项目背景与意义 随着高校规模的不断扩大和校园建…

基于Django+Python的房屋信息可视化及价格预测系统设计与实现(带文档)

项目运行 需要先安装Python的相关依赖&#xff1a;pymysql&#xff0c;Django3.2.8&#xff0c;pillow 使用pip install 安装 第一步&#xff1a;创建数据库 第二步&#xff1a;执行SQL语句&#xff0c;.sql文件&#xff0c;运行该文件中的SQL语句 第三步&#xff1a;修改源…

无人机喊话器详解!

喊话器材料 外壳常采用尼龙纤维增强材料&#xff0c;这种材料具有抗摔、抗震、轻便、灵活、质量稳定、操作简单等优点&#xff0c;能够满足不同场景的需求。 喊话范围 无人机喊话器的喊话范围主要取决于设备的型号、环境条件以及喊话器的性能参数。一般来说&#xff0c;无人…

【334】基于springboot的仓库管理系统

本科毕业设计论文 题目&#xff1a;仓库管理系统设计与实现 摘 要 信息内容数据从传统到当今&#xff0c;一直在改变&#xff0c;忽然互联网技术让传统信息内容管理见到划时代的黎明&#xff0c;由于传统信息内容管理从时效性、安全系数、可执行性等多个方面&#xff0c;碰到…

rsync算法原理

1. 简介 rsync是一种文件同步的工具&#xff0c;也是一种算法。 2. 算法原理 背景&#xff1a;计算机 α \alpha α 上有文件 a, 计算机 β \beta β上有文件b。要对这两个文件进行同步。 β \beta β将文件b分成大小为S字节的若干块&#xff0c;最后一份可能不足S字节对于b…

中小企业设备维护新策略:Spring Boot系统设计与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

安灯系统助力汽车零部件工厂快速解决生产异常

在汽车零部件制造领域&#xff0c;高效的生产管理和快速解决异常情况是确保产品质量和生产进度的关键。而安灯系统的应用&#xff0c;正为汽车零部件工厂带来了全新的变革&#xff0c;助力其快速解决生产异常。 汽车零部件工厂的生产报工产线看板直观地反映出生产的各项关键数据…

Redis的RDB执行原理

引入‘页表’的概念 Linux里面每个进程都是无法直接操作物理内存的&#xff0c;每个进程只能用页表映射本进程的虚拟内存到物理内存的映射。 bgsave的时候&#xff0c;主进程会fork&#xff08;复制&#xff09;一个子进程&#xff0c;然后该过程仅仅复制了页表。复制页表的过程…

使用 ASP.NET Core 8.0 创建最小 API

构建最小 API&#xff0c;以创建具有最小依赖项的 HTTP API。 它们非常适合需要在 ASP.NET Core 中仅包括最少文件、功能和依赖项的微服务和应用。 本教程介绍使用 ASP.NET Core 生成最小 API 的基础知识。 在 ASP.NET Core 中创建 API 的另一种方法是使用控制器。 有关在最小 …

使用 pydub 的 AudioSegment 获取音频时长 - python 实现

通过使用 pydub 的 AudioSegment 获取音频时长&#xff0c;音频常用格式如 m4a,wav等。 安装 python 库&#xff1a; pip install pydub 获取 m4a 格式的音频时长代码如下&#xff0c;代码如下&#xff1a; #-*-coding:utf-8-*- # date:2024-10 # Author: DataBall - XIAN #…

【云效】阿里云云效:一站式DevOps平台介绍与使用教程(图文)附PPT

【云效】阿里云云效:一站式DevOps平台介绍与使用教程(图文) 云效费用企业管理项目协作代码管理自动流水线测试管理扩展资料附:PPT版文件下载参考资料: https://devops.aliyun.com/ 云效 阿里云一站式DevOps(持续交付)平台,项目数字化协作能效工具。 官方介绍: 云效,一…

bindService 流程学习总结

Context.bindServiceContextImpl.bindServiceCommonActivityManagerService.bindIsolatedService ActiveServices.bindIsolatedServiceretrieveServiceLocked 获取服务信息&#xff1b;bringUpServiceLocked 拉起服务startProcessLocked创建进程 (进程不存在时)realStartServi…

【Android】MVP架构

MVP架构简介 MVP&#xff08;Model-View-Presenter&#xff09;是一种常见的软件架构模式&#xff0c;尤其在Android应用开发中被广泛使用。它将应用程序分为三层&#xff1a;Model、View 和 Presenter&#xff0c;以实现职责分离&#xff0c;提高代码的可维护性和可测试性。 …

ant design vue树选择器实现部分层级禁用(指定层级或依据字段判断)

1、依据字段判断是否禁用 const handData (array, level?) > {array.forEach((item) > {if (level 0) {//获取一级菜单item.title item.levelName;item.value item.code;if (item.type LAYER) {item.disabled true;} else if (item.type JOB) {item.disabled f…

分享几个办公类常用的AI工具

办公类 WPS AI讯飞智文iSlideProcessOn亿图脑图ChatPPT WPS AI 金山办公推出的协同办公 AI 应用&#xff0c;具有文本生成、多轮对话、润色改写等多种功能&#xff0c;可以辅助用户进行文档编辑、表格处理、演示文稿制作等办公操作。 https://ai.wps.cn/ 讯飞智文 科大讯飞推…

OceanBase 首席科学家阳振坤:大模型时代的数据库思考

2024年 OceanBase 年度大会 即将于10月23日&#xff0c;在北京举行。 欢迎到现场了解更多“SQL AI ” 的探讨与分享&#xff01; 近期&#xff0c;2024年金融业数据库技术大会在北京圆满举行&#xff0c;聚焦“大模型时代下数据库的创新发展”议题&#xff0c;汇聚了国内外众多…

85.【C语言】数据结构之顺序表的中间插入和删除及遍历查找

目录 3.操作顺序表 1.分析中间插入函数 函数的参数 代码示例 图片分析 main.c部分改为 在SeqList.h添加SLInsert函数的声明 运行结果 2.分析中间删除函数 函数的参数 代码示例 图片分析 main.c部分改为 在SeqList.h添加SLErase函数的声明 运行结果 承接84.【C语…