ZoomEye-python工具使用详解(一)

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
简介: ZoomEye-python工具使用详解(一)

ZoomEye-python
ZoomEye是网络空间搜索引擎,用户能够使用浏览器搜索网络设备。 官网地址

ZoomEye-python是一个基于ZoomEye API开发的Python库,它既提供ZoomEye命令行模式(ZoomEye command line)也能够作为一个SDK集成到其他工具中。这个库可以让技术人员更方便的搜索、筛选并输出ZoomEye数据。

0x01 安装
可以直接从pypi安装,命令如下:

pip3 install zoomeye

或者从github安装,命令如下:

pip3 install git+https://github.com/knownsec/ZoomEye-python.git

0x02 如何使用cli
成功安装ZoomEye-python以后,你就可以直接使用zoomeye命令了。如下所示:

(base) liuxiaowei@MacBookAir ~ % zoomeye -h
usage: zoomeye [-h] [-v] {
   info,search,init,ip,history,clear,domain} ...

positional arguments:
  {
   info,search,init,ip,history,clear,domain}
    info                Show ZoomEye account info
    search              Search the ZoomEye database
    init                Initialize the token for ZoomEye-python
    ip                  Query IP information
    history             Query device history
    clear               Manually clear the cache and user information
    domain              search associated domain or sub domain

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

1. 初始化token
在使用ZoomEye-python cli之前,用户需要初始化token。用来验证用户身份的凭证来自ZoomEye的查询数据;我们提供两种授权方式:

1.用户名/密码(username/password)
2.APIKEY(推荐 recommend)

你可以通过zoomeye init -h 浏览帮助,并且使用APIKEY(本人的APIKEY)演示如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye init -apikey "C23AE8Ca-5b37-b5bc2-27da-3e69cbb7f30"
Role: developer
Quota: 9615
successfully initialized

备注:登录ZoomEye后,用户在个人信息档案 获取APIKEY;如下图:

image.png

APIKEY将不会过期,直到用户可以根据需要重置APIKEY。此外我们还提供了“用户名/密码”的方式初始化。这种方式认证以后,将返回一个有时效性的JWT-token,失效以后,用户需要再次登录。

2. 查询配额
用户能够通过info命令查询个人信息和免费的数据配额, 如下所示:

(base) liuxiaowei@MacBookAir ~ % zoomeye info
Role: developer
Quota: 9615
user_info: {
   'name': '10a7a631127b', 'role': 'developer', 'expired_at': ''}
quota_info: {
   'remain_free_quota': 9615, 'remain_pay_quota': 0, 'remain_total_quota': 9615}

3. 搜 索
搜索是ZoomEye-python的核心功能,通过search命令来实现。这个search命令需要特定的搜索关键词(dork),让我们运行一个简单的搜索,如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye search "telnet" -num 1 
ip:port                  service             country             app                           banner                        
61.*.*.78:7007        telnet              China                                             \xff\xfb,\xff\xfb\x03\x...    
5.*.*.3:6001           telnet              Russian Federation  Cisco or Actiontec...         \xff\xfb\x01\xff\xfb\x0...    
5.*.1*.47:6001          telnet              Russian Federation  Cisco or Actiontec...               \xff\xfb\x01\xff\xfb\x0...    
45.*.*.216:119       telnet              Brazil                                            \xff\xfd\x18\xff\xfd \x...    
45.*.*.66:119        telnet              Brazil                                            \xff\xfd\x18\xff\xfd \x...    
45.*.*.251:119       telnet              Brazil

使用search命令跟使用浏览器在ZoomEye里搜索一样简单。缺省条件下,我们显示5个更重要的字段。用户能够使用这些数据来了解目标信息:

1.ip:port    ip地址和端口
2.service    开放端口的服务
3.country         该ip地址的国家
4.app              应用程序类型
5.banner         端口的特性回应

在以上的例子里,使用-num参数来指定被显示的数量。此外,search还支持参数(zoomeye search -h)以便处理数据,我们将解释和演示如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye search -h
usage: zoomeye search [-h] [-num value] [-facet [field]]
                      [-filter [field=regexp]] [-stat [field]]
                      [-save [field=regexp]] [-count] [-figure {
   pie,hist}]
                      [-type {
   host,web}] [-force]
                      dork

positional arguments:
  dork                  The ZoomEye search keyword or ZoomEye exported file

optional arguments:
  -h, --help            show this help message and exit
  -num value            The number of search results that should be returned,
                        support 'all'
  -facet [field]        Perform statistics on ZoomEye database, host field:
                        [app,device,service,os,port,country,city] web field:
                        [webapp,component,framework,server,waf,os,country]
  -filter [field=regexp]
                        Output more clearer search results by set filter
                        field, host field: [app,version,device,port,city,count
                        ry,asn,banner,timestamp,*] web field: [app,headers,key
                        words,title,site,city,country,webapp,component,framewo
                        rk,server,waf,os,timestamp,*]
  -stat [field]         Perform statistics on search results, host field:
                        [app,device,service,os,port,country,city] web field:
                        [webapp,component,framework,server,waf,os,country]
  -save [field=regexp]  Save the search results with ZoomEye json format, if
                        you specify the field, it will be saved with JSON
                        Lines
  -count                The total number of results in ZoomEye database for a
                        search
  -figure {
   pie,hist}    Pie chart or bar chart showing data,can only be used
                        under facet and stat
  -type {
   host,web}      Select web search or host search(default host)
  -force                Ignore the local cache and force the data to be
                        obtained from the API
-num    设定显示/搜索的数量,支持‘all’
-count  在ZoomEye数据库里该目标(dork)查询的总数
-facet  查询目标(dork)全部数据的分布
-stat   结果集的统计数据的分布
-filter 查询数据结果集里的特定范围的列表或者根据内容筛选
-save   根据筛选条件输出结果集
-force  忽略本地缓存,强行从API获取数据
-type   选择web或者host类型搜素

4. 数据的数量
通过参数-num,我们能够指定搜索和显示的数量,并且指定的数是消费量的数目。你能够在ZoomEye数据库里通过-count参数查询dork的容量,如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye search "telnet" -count
65746098

需要注意的一件事,-num参数必须是20的倍数,因为ZoomEye API的最小的单个查询数是20。

5. 统 计
我们使用-facet和-stat完成数据统计,使用-facet查询目标的全部数据(通过API获取)的统计查询,-stat你可以执行关于查询结果集的统计。两个命令支持的字段包括如下:

# host search
app        根据应用类型统计
device     根据设备类型统计
service    根据服务类型统计
os         根据操作系统类型统计
port       根据端口统计
country    根据国家统计
city       根据城市统计

# web search
webapp     根据Web应用统计
component  根据Web容器统计
framework  根据Web框架统计
server     根据Web服务器
waf        根据Web防火墙(WAF)统计
os         根据操作系统统计
country    根据国家统计

使用-facet所有应用类型为telnet的设备数量,如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye search 'telnet' -facet app
 ----------------------------------------
 ZoomEye total data:65746098
 ---------------app Top 10---------------
 app                                count               
 [unknown]                          29969901            
 BusyBox telnetd                    12133486            
 Linux telnetd                      3503698             
 MikroTik router config httpd       2008659             
 Cisco IOS telnetd                  1754507             
 Huawei Home Gateway telnetd        1452441             
 Apache httpd                       1400140             
 Huawei telnetd                     1139233             
 Busybox telnetd                    953442              
 Netgear broadband router or ZyXel VoIP adapter telnetd746826

使用-stat统计和查询应用类型为telnet的设备数量,如下:

(base) liuxiaowei@MacBookAir ~ % zoomeye search 'telnet' -stat app 
 ----------------------------------------
 current total data:20
 ----------------app data----------------
 app                                count               
 MikroTik router config httpd       8                   
 Cisco or Actiontec MI424WR router telnetd7                   
 [unknown]                          4                   
 ***************                    1

接下文 ZoomEye-python工具使用详解(二)https://developer.aliyun.com/article/1618397

相关文章
|
14天前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
55 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
测试技术 数据库 Python
Python装饰器实战:打造高效性能计时工具
在数据分析中,处理大规模数据时,分析代码性能至关重要。本文介绍如何使用Python装饰器实现性能计时工具,在不改变现有代码的基础上,方便快速地测试函数执行时间。该方法具有侵入性小、复用性强、灵活度高等优点,有助于快速发现性能瓶颈并优化代码。通过设置循环次数参数,可以更准确地评估函数的平均执行时间,提升开发效率。
116 61
Python装饰器实战:打造高效性能计时工具
|
16天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
40 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
16天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
46 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
87 37
Python时间序列分析工具Aeon使用指南
|
2月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
3月前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
626 7
|
4月前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
382 4
|
4月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
4月前
|
存储 数据可视化 Python
使用Python实现个人财务管理工具
本文介绍如何使用Python实现一个简单的个人财务管理工具,包括记录支出和收入、生成财务报告和数据可视化等功能。通过命令行界面输入数据,计算总支出、总收入和净收入,并使用Matplotlib库进行数据可视化。
186 1

热门文章

最新文章