本文目录导读:

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 的扫描主要基于其开源项目 Zmap 和 Zgrab 的升级版 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 扫描的流程
- 任务下发:调度器将“扫描所有IP的80端口”的任务分解为几十万个小任务,分发到全球的扫描节点。
- 高速端口扫描:Zmap 在每个节点上,以极快的速度(SYN探测)检查目标IP的80端口是否开放。
- 响应过滤:节点接收到SYN-ACK响应(表示端口开放),记录下该IP。
- 应用层探测:Zgrab2 立即对开放的IP发起真正的HTTP GET请求,建立连接。
- 数据提取:捕获服务器的完整HTTP响应(包括标题、HTML内容、Cookie、TLS证书等)。
- 数据回流:所有被提取的数据(
{"ip": "1.2.3.4", "port":80, "http": {"title": "nginx", "status": 200}})发送回中央数据库。 - 数据索引:Censys 的后台系统将这些海量数据进行清洗、结构化、索引,使得用户可以通过其网站或API,快速搜索“全球所有运行nginx 1.18.0的服务器”、“所有使用Let‘s Encrypt证书的IP”、“开放了SSH端口的防火墙”等等。
总结一句话:Censys 通过在全球部署的分布式扫描集群,周期性地使用高速工具 Zmap 和协议探测工具 Zgrab2,对互联网上所有IP地址的常见端口和协议进行主动探测,抓取响应信息和证书,并将数据索引后提供给用户搜索,从而实现对互联网资产的可视化映射。
标签: Censys扫描
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播