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

简介: 信息搜集:网络空间搜索引擎语法及API的应用(二)

接上文 信息搜集:网络空间搜索引擎语法及API的应用(一)https://developer.aliyun.com/article/1618340

  1. 搜索引擎API的应用
    ZoomEye除了以上介绍的智能检索功能以外,还提供了强大的Result API功能,用户通过它能够更好地与平台连接,调用平台各类资源。现利用Python程序调用ZoomEye的API接口实现自动化信息搜集。ZoomEye—API被分为两种验证方式,API-KEY和登录验证(Login verification)。

运 行 环 境:

OS: macOS Monterey Version 12.3.1(英文版)

IDE:PyCharm 2020.1

Python: Version 3.9.9

1) 登录验证(Login verification)
平台主要使用的是Json Web Token的登录验证方式,用户进行登录,并获取access_token 就可以直接调用API功能,使用host方法查询开放6379端口的服务器IP地址,并输出检索到的IP地址和端口号,示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/18/22 7:03 PM
# 文件      :Zoomeye_host_token.py
# IDE      :PyCharm

import requests
import json

import zoomeye.sdk as zoomeye

# 定义一个函数获取access_token
def get_access_token(username, password):
    # 实例化一个zm对象
    zm = zoomeye.ZoomEye()
    # 账号赋值给对象的账号属性,账号密码赋值给账号密码属性
    zm.username = username
    zm.password = password
    return zm.login()

# 定义主函数
def main():
    # 输入zoomeye账号和密码
    username = input('请输入账号: ')
    password = input('请输入账号密码:')
    # headers里的Authorization值必须JWT前缀加空格
    headers = {
    "Authorization":"JWT " + get_access_token(username=username, password=password)}
    # 赋值给url
    url = 'https://api.zoomeye.org/host/search?query=port:6379&page=1&facets=app,os'
    # 请求信息赋值给info
    info = requests.get(url=url, headers=headers)
    # 转换为json数据
    r_decoded = json.loads(info.text)
    # 遍历匹配项列表,输出IP地址和端口号
    for line in r_decoded['matches']:
        print(line['ip'] + ': ' + str(line['portinfo']['port']))

#  启动主程序
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print('interrupted by user, killing all threads....')

运行结果如下:

image.png

备注:headers头部Authorization必须包含JWT 前缀

2)API-KEY 验证
对于每个账户,在它的个人资料页的底部会找到一串API-KEY字符串,将这个字符串添加到ZoomEye-API字段。本人的个人资料的字符串如下图:

image.png

备注:API-KEY与账号绑定而且可以被重置

示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/18/22 4:11 PM
# 文件      :ZoomEye_host.py
# IDE      :PyCharm

# 导入相关模块
import requests
import json

# 定义主函数
def main():
    # 定义头部headers
    headers = {
    "API-KEY":"E4b729d3-5730-D778B-87f2-408604aedbd"}
    # 赋值url
    url = 'https://api.zoomeye.org/host/search?query=port:6379&page=1&facets=app,os'
     # 请求信息赋值给info
    info = requests.get(url=url, headers=headers)
    # 转换为json数据
    r_decoded = json.loads(info.text)
    # 遍历匹配项列表,输出IP地址和端口号
    for line in r_decoded['matches']:
        print(line['ip'] + ': ' + str(line['portinfo']['port']))

# 运行主程序
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print('interrupted by user, killing all threads....')

运行结果如下图:

image.png

希望此文对您有所帮助和启发,欢迎点赞收藏和转发加关注!谢谢!

相关文章
|
2天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
21 6
|
1天前
|
数据采集 监控 数据可视化
Fortran 在单位网络监控软件数据处理中的应用
在数字化办公环境中,Fortran 语言凭借其高效性和强大的数值计算能力,在单位网络监控软件的数据处理中展现出独特优势。本文介绍了 Fortran 在数据采集、预处理和分析可视化三个阶段的应用,展示了其在保障网络安全稳定运行和有效管理方面的价值。
23 10
|
3天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
19 4
|
5天前
|
机器学习/深度学习 存储 运维
图神经网络在复杂系统中的应用
图神经网络(Graph Neural Networks, GNNs)是一类专门处理图结构数据的深度学习模型,近年来在复杂系统的研究和应用中展现了强大的潜力。复杂系统通常涉及多个相互关联的组件,其行为和特性难以通过传统方法进行建模和分析。
20 3
|
4天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
4天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
89 1
|
4天前
|
安全 网络协议 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-1):主动信息收集之ping、Nmap 就怕你学成黑客啦!
|
4天前
|
网络协议 安全 NoSQL
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(8-2):scapy 定制 ARP 协议 、使用 nmap 进行僵尸扫描-实战演练、就怕你学成黑客啦!
|
4天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
8天前
|
JSON 供应链 API
京东商品评价API的获取和应用
京东商品评价API是电商数据分析的重要工具,帮助开发者和商家获取商品的用户评价数据,包括评分、评论内容和购买时间等。通过分析这些数据,商家可以优化产品和服务,提升客户满意度,制定更有效的营销策略。本文介绍了获取和应用京东商品评价API的详细步骤,包括注册账号、获取权限、阅读文档和编写代码调用API。示例代码展示了如何使用Python调用API并处理响应数据。
33 2