censys怎样互联网扫描

联启 网络工具 16

本文目录导读:

censys怎样互联网扫描-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 核心架构:分布式、模块化扫描
  2. 扫描方法:主动探测与协议指纹
  3. 核心工具:Zmap 和 Zgrab2
  4. 关键策略:规避与合规
  5. 扫描范围与频率
  6. 总结:Censys 扫描的流程

Censys 是一家互联网安全研究公司,其核心业务是对全球互联网进行持续、大规模的扫描和映射,它本质上是一个互联网资产搜索引擎,帮助安全研究人员、企业和管理员发现暴露在公网上的设备、服务和漏洞。

要理解 Censys 是如何进行互联网扫描的,需要从技术架构、扫描策略和数据处理三个层面来看。

核心架构:分布式、模块化扫描

Censys 的扫描系统并非由一台机器完成,而是由分布在全球多个数据中心的扫描集群协同工作,其架构大致如下:

  • 调度器:负责管理整个扫描任务,它根据设定的目标(请求扫描整个IPv4地址空间或某个端口)和策略,生成具体的扫描任务,并下发给扫描节点。
  • 扫描节点:大量部署在全球网络中的服务器,每个节点负责扫描其被分配的IP地址范围,它们使用专为高速、大规模扫描优化的工具(如 Zmap、masscan 的改良版)进行探测。
  • 结果收集与存储:每个扫描节点将探测到的数据(如 banner、证书、响应包)实时发送回中央存储系统,通常使用高性能的分布式数据库(如 Kafka + 时序数据库)来接收和处理海量的、不断涌入的数据。

扫描方法:主动探测与协议指纹

Censys 采用的是 主动扫描,它主动向目标IP地址发送探测数据包,并根据目标的响应来获取信息,这与被动监听(如监听网络流量)不同。

  • 端口扫描:它会扫描整个互联网的常见端口(如 22、80、443、8080 等),甚至一些非常规端口,根据扫描范围和粒度的不同,可能进行全端口扫描(扫描 0-65535 端口),但更多是针对最常用的100-1000个端口进行周期性扫描。
  • 协议探测:当发现某个端口开放后,扫描节点会尝试建立符合该端口标准协议的连接(例如对 80 端口发送 HTTP GET 请求,对 443 进行 TLS 握手请求)。
  • 抓取 Banner 与证书:核心信息获取阶段,它会接收对方服务器返回的:
    • Banner:服务器返回的包含软件名称、版本号、操作系统等信息的文本。
    • TLS/SSL 证书:对于 HTTPS(443端口)服务,会完整抓取数字证书,包含域名、颁发者、有效期等关键信息。
    • :对 HTTP 服务,会抓取响应头和响应体(可能包括默认页面、文件结构等)。

核心工具:Zmap 和 Zgrab2

Censys 的扫描主要基于其开源项目 ZmapZgrab 的升级版 Zgrab2

  • Zmap:用于高速全端口扫描,它能在 45 分钟内完成对整个 IPv4 地址空间(约42亿个地址)的一个端口的扫描,它的关键在于利用了高效的原始套接字和并行化技术,不建立完整的 TCP 连接(使用 SYN 探测),从而极大地提升了速度。
  • Zgrab2:用于应用层协议探测,在 Zmap 发现开放端口后,Zgrab2 负责具体的协议握手和内容抓取,它可以处理 HTTP、HTTPS、SSH、SMTP 等数十种常见协议,并提取出结构化的数据。

关键策略:规避与合规

大规模扫描需要非常谨慎,以避免:

  • 被标记为攻击:Censys 会采取措施,例如控制扫描速率、使用合法的源IP(通常属于其自身或云服务商的IP段)、在HTTP请求头中添加 User-Agent: Censys 标识,以及遵守 robots.txt(虽然不总是强制,但会考虑)。
  • 法律风险:不同国家有不同法律规定,Censys 会尽量遵守当地法律,并明确其扫描行为的“合法性”是基于“合理使用”和“安全研究”的范畴,用户在使用其数据时,也必须遵守其服务条款。

扫描范围与频率

  • 范围:覆盖整个 IPv4 地址空间 和部分 IPv6 地址空间。
  • 频率:并非实时,它有一个周期性扫描计划,对全球所有80端口的HTTP服务,可能每隔1-2天会进行一次完整扫描,对关键端口(如 443、22)则可能更高频,这意味着,你在 Censys 上看到的某个设备状态,可能是在过去几小时内扫描得到的快照,而不是当前精确的状态。

Censys 扫描的流程

  1. 任务下发:调度器将“扫描所有IP的80端口”的任务分解为几十万个小任务,分发到全球的扫描节点。
  2. 高速端口扫描:Zmap 在每个节点上,以极快的速度(SYN探测)检查目标IP的80端口是否开放。
  3. 响应过滤:节点接收到SYN-ACK响应(表示端口开放),记录下该IP。
  4. 应用层探测:Zgrab2 立即对开放的IP发起真正的HTTP GET请求,建立连接。
  5. 数据提取:捕获服务器的完整HTTP响应(包括标题、HTML内容、Cookie、TLS证书等)。
  6. 数据回流:所有被提取的数据({"ip": "1.2.3.4", "port":80, "http": {"title": "nginx", "status": 200}})发送回中央数据库。
  7. 数据索引:Censys 的后台系统将这些海量数据进行清洗、结构化、索引,使得用户可以通过其网站或API,快速搜索“全球所有运行nginx 1.18.0的服务器”、“所有使用Let‘s Encrypt证书的IP”、“开放了SSH端口的防火墙”等等。

总结一句话:Censys 通过在全球部署的分布式扫描集群,周期性地使用高速工具 Zmap 和协议探测工具 Zgrab2,对互联网上所有IP地址的常见端口和协议进行主动探测,抓取响应信息和证书,并将数据索引后提供给用户搜索,从而实现对互联网资产的可视化映射。

标签: Censys扫描

抱歉,评论功能暂时关闭!