信息搜集:网络空间搜索引擎(Shodan)语法及API应用案例


使用Python去调用Shodan的API接口可以实现自动化信息搜集,首先需要注册用户,在My Account中可以看到API Key。本例如下图:

初始化API:

import shodan
SHODAN_AIP_KEY = 'SXEuzFfIj612RyNE5NcOhTeAtNHznp4s'
shodan_api = shodan.Shodan(SHODAN_AIP_KEY)

初始化API之后就可以使用Shodan的库函数,下面整理一些常用函数,具体详细资料可以参考Shodan官方给出的API文档的API文档。

​ § shodan_api.count(query, facets=None): 查询结果的数量

§ shodan_api.host(ip, history=False): 获取一个IP的详细信息

§ shodan_api.ports(): 获取Shodan可查询的端口号

§ shodan_api.protocols(): 获取Shodan可查询的协议

§ shodan_api.services(): 获取Shodan可查询的服务

§ shodan_api.scan(ips, force=False): 使用Shodan进行扫描,ips 可以为字符或字典类型

运 行 环 境:

OS: macOS Monterey Version 12.3.1

IDE: PyCharm 2020.1

Python: Version 3.9.9

案例1

使用host方法获取指定IP的相关信息,代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/19/22 9:53 AM
# 文件      :Shadon_api.py
# IDE      :PyCharmimport shodan
import jsonSHODAN_API_KEY = 'SXEuzFfIj612RyNE5NcOhTeAtNHznp4s'
shodan_api = shodan.Shodan(SHODAN_API_KEY)
ip = shodan_api.host('8.8.8.8')
print(json.dumps(ip))

运行结果如下:

{"city": "Mountain View", "region_code": "CA", "os": null, "tags": [], "ip": 134744072, "isp": "Google LLC", "area_code": null, "longitude": -122.0775, "last_update": "2022-04-19T02:38:32.837618", "ports": [443, 53], "latitude": 37.4056, "hostnames": ["dns.google"], "country_code": "US", "country_name": "United States", "domains": ["dns.google"], "org": "Google LLC", "data": [{"hash": -553166942, "timestamp": "2022-04-18T07:23:42.652073", "isp": "Google LLC", "transport": "tcp", "data": "\nRecursion: enabled", "asn": "AS15169", "port": 53, "hostnames": ["dns.google"], "location": {"city": "Mountain View", "region_code": "CA", "area_code": null, "longitude": -122.0775, "latitude": 37.4056, "country_code": "US", "country_name": "United States"}, "dns": {"resolver_hostname": null, "recursive": true, "resolver_id": null, "software": null}, "ip": 134744072, "domains": ["dns.google"], "org": "Google LLC", "os": null, "_shodan": {"crawler": "2f5130275f52c94d38258ee96eca67b55cafa776", "options": {"scan": "KN95r4vTe8wly4MW"}, "id": "38b68de6-ce5c-4314-b7f7-58396ce221b8", "module": "dns-tcp", "ptr": true}, "opts": {}, "ip_str": "8.8.8.8"}, {"hash": -553166942, "timestamp": "2022-04-19T02:38:32.837618", "isp": "Google LLC", "transport": "udp", "data": "\nRecursion: enabled", "asn": "AS15169", "port": 53, "hostnames": ["dns.google"], "location": {"city": "Mountain View", "region_code": "CA", "area_code": null, "longitude": -122.0775, "latitude": 37.4056, "country_code": "US", "country_name": "United States"}, "dns": {"resolver_hostname": null, "recursive": true, "resolver_id": null, "software": null}, "ip": 134744072, "domains": ["dns.google"], "org": "Google LLC", "os": null, "_shodan": {"crawler": "d905ab419aeb10e9c57a336c7e1aa9629ae4a733", "options": {}, "id": "f7281fa0-1141-4376-a460-cd590a0ecec9", "module": "dns-udp", "ptr": true}, "opts": {"raw": "34ef818200010000000000000776657273696f6e0462696e640000100003"}, "ip_str": "8.8.8.8"}, {"hash": 1696509865, "http": {"status": 200, "robots_hash": null, "redirects": [{"host": "8.8.8.8", "data": "HTTP/1.1 302 Found\r\nX-Content-Type-Options: nosniff\r\nAccess-Control-Allow-Origin: *\r\nLocation: https://dns.google/\r\nDate: Tue, 19 Apr 2022 00:52:38 GMT\r\nContent-Type: text/html; charset=UTF-8\r\nServer: HTTP server (unknown)\r\nContent-Length: 216\r\nX-XSS-Protection: 0\r\nX-Frame-Options: SAMEORIGIN\r\nAlt-Svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"\r\n\r\n", "location": "/"}], "securitytxt": null, "title": "Google Public DNS", "sitemap_hash": null, "html_hash": -2021997909, "robots": null, "favicon": {"hash": 56641965, "data": "https://dns.google:443/static/93dd5954/favicon.png"}, "headers_hash": 818523308, "host": "ebd41040e4bb3ec742c9e381d31ef2a41a48b6685c96e7cef3c1df6cd4331c99"], "jarm": YYWjm0QvEQzYc24\n-----END "dabffa9af7941654c1dba20b34d77fe371c156d0f67f6c7a17478c711d01d97d", "sha1": "635ae6c71205980a921a20b65f2a15216998de01"}, "serial": 73727805016154393975703427613934250457, "subject": {"CN": "dns.google"}, "pubkey": {"type": "rsa", "bits": 2048}, "issuer": {"C": "US", "CN": "GTS CA 1C3", "O": "Google Trust Services LLC"}}, "cipher": {"version": "TLSv1/SSLv3", "bits": 128, "name": "ECDHE-RSA-AES128-GCM-SHA256"}, "trust": {"revoked": false, "browser": {"mozilla": true, "apple": true, "microsoft": true}}, "handshake_states": ["before/connect initialization", "SSLv2/v3 write client hello", "SSLv2/v3 read server hello", "SSLv3/TLS read server hello", "SSLv3/TLS read server certificate", "SSLv3/TLS read server key exchange", "SSLv3/TLS read server done", "SSLv3/TLS write client key exchange", "SSLv3/TLS write change cipher spec", "SSLv3/TLS write finished", "SSLv3/TLS flush data", "SSLv3/TLS read server session ticket", "SSLv3/TLS read finished", "SSL negotiation finished successfully"], "alpn": ["grpc-exp", "h2", "http/1.1"], "ocsp": {}}, "hostnames": ["dns.google"], "transport": "tcp", "ip": 134744072, "domains": ["dns.google"], "ip_str": "8.8.8.8", "os": null, "_shodan": {"crawler": "6d5195c331613d103027c23dc52e6d32fd2a74af", "options": {}, "id": "4979ad21-a189-4b14-ae5c-171190ca8bbb", "module": "https", "ptr": true}, "opts": {"vulns": [], "heartbleed": "2022/04/19 00:53:42 8.8.8.8:443 - SAFE\n"}, "location": {"city": "Mountain View", "region_code": "CA", "area_code": null, "longitude": -122.0775, "latitude": 37.4056, "country_code": "US", "country_name": "United States"}}], "asn": "AS15169", "ip_str": "8.8.8.8"}

案例2

搜索JAWS摄像头,将IP和端口打印出来,代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/19/22 10:23 AM
# 文件      :shadon_api_webcam.py
# IDE      :PyCharmimport shodan
import jsonSHODAN_AIP_KEY = 'z0AN9iiu3CmzLeFuStYHPGB7gNJw3Kt3'
shodan_api = shodan.Shodan(SHODAN_AIP_KEY)results = shodan_api.search('JAWS/1.0')
print(f'Results found:{results["total"]}')for result in results['matches']:print(result['ip_str'] + ":" + str(result['port']))

运行结果如下:

(venv) (base) liuxiaowei@MacBookAir 网络空间搜索 % python shadon_api_webcam.py
Results found:75470
14.*.*.140:8081
149.*.*.142:4808
212.*.*.4:8081
149.*.*.245:9221
185.*.*.181:9000
125.*.*.98:80
159.*.*.176:7443
178.*.*.210:60001
88.*.*.57:49152

信息搜集:网络空间搜索引擎(Shodan)语法及API应用案例相关推荐

  1. 网络空间搜索引擎流量识别

    网络空间搜索引擎流量识别 知名网络空间搜索引擎 总结shodan.zoomeye.censys运行模式可概述为下 应用流量识别思路 知名网络空间搜索引擎 shodan.zoomeye.censys. ...

  2. 信息收集----浏览器,网络空间搜索引擎

    目录 一.浏览器搜索 1.什么是Google Hacking 2.高级搜索 3.示例 4.工具 二.网络空间搜索引擎 1.什么是网络空间搜索引擎 2.Shodan的使用 3.Censys,Zomeye ...

  3. 网络空间搜索引擎及常用的端口漏洞

    网络空间搜索引擎 一.什么是网络空间搜索引擎 网络空间搜索引擎不同于普通的搜索引擎(百度等之类的),而是直接搜索网络中的主机,将主机信息汇聚成数据库,然后显示出主机的IP.端口.中间件.摄像头.工控设 ...

  4. 网络空间搜索引擎的区别

    本文首发于先知社区:https://xz.aliyun.com/t/9386 网络空间搜索引擎的区别 fofa fofa是白帽汇推出的网络空间测绘引擎.白帽汇是一家专注于网络空间测绘与前沿技术研究的互 ...

  5. Fofa 下载与使用 网络空间搜索引擎

    Fofa 网络空间搜索引擎 官方网址:https://fofa.so/ 下载地址:https://fofa.so/about_client API:https://fofa.so/static_pag ...

  6. 基于高校服务器信息的网络空间资源分类

    目录 基于高校服务器信息的网络空间资源分类 1 The classification of cyberspace resources based on 1 the servers' informati ...

  7. ZoomEye:网络空间搜索引擎

    ZoomEye是一个强大的搜索引擎,允许用户查找有关设备.网站以及它们使用的服务和组件的信息.通过两个检测引擎,用户可以不断地探索和识别网络空间中的设备和网站. ZoomEye的一个关键特性是它能够识 ...

  8. 网络空间搜索引擎Fofa的简单使用

    目录 Fofa 逻辑运算符 查找使用指定应用的IP 查找使用指定协议的IP 查找开放指定端口的IP 查找IP或网段的信息 查找使用指定css或js的网站 使用Fofa API接口 其他 Fofa Fo ...

  9. FOFA网络空间搜索引擎使用教程

    FOFA网络空间搜索引擎使用教程 FOFA是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析.应用分布统计.应用流行度排 ...

最新文章

  1. R语言保存图片为特定dpi值(分辨率)的图像
  2. netfilter/iptables全攻略
  3. python数字信号处理应用中文pdf_人邮新书 Python数字信号处理应用 Python在DSP中应用教程 Python基础 Pytho...
  4. Vue Cli 项目结构简述
  5. docker启动tomcat容器并添置项目首页
  6. 自定义注解和SpEL表达式实现功能强大的无侵入式的日志功能
  7. 为什么说索引会加速查找过程
  8. Hadoop,HBASE启动命令
  9. SaaS微信小程序电商系统,一键生成小程序【源码分享】
  10. 关于电子计算机的热点,电脑如何变热点?8款电脑wifi热点软件推荐
  11. 机器学习算法 之 逻辑回归算法
  12. java long 空判断_Long类型null判断带值判断,null必须写在最前面
  13. 如何理解IT、OT、CT?
  14. 中国莽草酸行业市场深度调查报告(2022版)
  15. 后门攻击阅读笔记,Input-aware dynamic backdoor attack
  16. 在训练的时候loss增大怎么办
  17. 书法在计算机中的应用,书法在计算机中的编排-西安交通大学.pdf
  18. 录制失败因为媒体服务失败_杨丽萍62岁被判人生失败,因为她一生无子女.........
  19. Windows 10 操作系统 System Interrupt 系统中断 CPU 占用率高的原因和解决方法
  20. 华为5500网络限流配置_华为Eudemon 防火墙BT限流测试方案

热门文章

  1. 占书明:电脑只能上扣扣QQ和微信,无法打开网页,解决办法!
  2. 解读PureMVC框架
  3. boss2.0 java_bboss/bboss-core-entity at master · bbossgroups/bboss · GitHub
  4. 常用设计模式-模板方法模式
  5. vue移动端图片上传
  6. TF卡格式化了怎么办?tf卡数据恢复,看这3个方法
  7. Supervised Fitting of Geometric Primitives to 3D Point Clouds阅读笔记
  8. Bootstrap【第二章】全局CSS之排版代码表格
  9. 【IoT】卫朋:6000+ 字解读 | 2022年产品人必备的7个产品管理工具(1.0版)
  10. 史诗级漏洞爆发,Log4j 背后的开源人何去何从?