知识

子网传染:当一个被封锁的IP连累其邻居

黑名单和信誉系统常常根据IP的邻居来判断该IP。研究揭示了范围级封锁及其附带损害,以及如何识别这种情况。

James Meadow

James Meadow

2026年9月23日 · 4 分钟阅读

一个 IP 地址很少被单独审判。当某个地址行为不端时,黑名单、信誉系统和网站运营商往往会把裁决延伸到它周围的地址上:它所在 /24 的其余部分,有时甚至是整个网络。你正在使用的地址可能因为邻居做过的事而被封,尽管它自己从未做过那件事。

这就是子网连带效应。它解释了一整类看起来令人费解的封锁:干净的请求、合理的节奏,却仍然被拒绝。它也有一面镜子,是任何发送自动化流量的人都应该认真对待的,因为你的流量对别人来说也是邻居。

关键要点

  • 按范围封锁的效果好到令人心动。在一项研究中,把单 IP 垃圾邮件黑名单扩展到整个 /24,拦截到的垃圾邮件比例从 54.33% 提升到了 92.74%。
  • 但它也会误判。在另一项研究中,天真地把被列入黑名单的地址扩展到其所在的 /24,导致合法地址被误判的比例在一个网络中升高到 6.6%,在某个名单上超过 60%。
  • 地址共享让情况更糟。在 Facebook 的数据中,72.9% 拥有滥用账户的 IPv4 地址,当天同时还承载了超过 10 个正常用户。
  • Cloudflare 报告称,处于运营商级 NAT 后面的地址被限速的频率是其他地址的三倍,尽管它们的机器人流量中位数几乎相同。
  • 在一项研究中部署最广泛的公共黑名单 Spamhaus DROP,列出的最小单位就是 /24。我们在 2026 年 9 月 22 日对实时文件的统计:1,712 个前缀,覆盖 14,958,336 个 IPv4 地址。

运营商为何按“街区”封锁

坏地址会聚集。管理不善的网络,或是租给滥用者使用的网络,往往会同时从多个地址产生滥用行为。数据支持了这一点。

一项针对 157 个黑名单、持续 11 个月的研究,发表于 NDSS 2020,发现“约 57.5% 的 /24 前缀在同一 /24 中至少有两个被列入黑名单的 IP 地址”。特文特大学更早的工作衡量了这种聚集对防御者的价值。用标准的单 IP 黑名单过滤邮件,平均能拦截 54.33% 的垃圾邮件。把每个被列入名单的地址视为标记其整个 /24 为恶意,拦截率提升到 92.74%。一个包含相同数量随机选取地址的对照名单只拦截了 56.64%,说明提升来自于“邻居”,而不仅仅是封锁了更多地址。

这个结果就是按范围封锁的全部论据,而且是个有力的论据。麻烦也正是从这里开始的。

谁在按范围封锁

按范围裁决并非边缘做法。它内建于一些使用最广泛的名单之中。

系统列出的内容范围行为
Spamhaus DROP被垃圾邮件或网络犯罪团伙租用或盗用的网段只有前缀;最小条目是 /24
Spamhaus ASN-DROP整个自治系统2026 年 9 月 23 日的实时文件中有 436 个 ASN
Spamhaus SBL垃圾邮件来源及其基础设施可能升级“到该网络的扩展范围,甚至到通过 ASN 或 RIR 分配相关联的整个网络或多个网络”
UCEPROTECT Level 3一旦垃圾邮件评分和影响计数超过设定阈值,该 ASN 中的每个 IP警告称它“可能,而且很可能会对无辜用户造成连带损害”
Gmail 发件人信誉共享发送地址“任何使用共享 IP 地址的发件人的活动,都会影响该共享 IP 地址所有发件人的信誉。”

部署方式与设计本身同样重要。一项 PAM 2021 的研究通过推断真实主机实际执行的九个公共黑名单中的哪些,发现“Spamhaus DROP 是我们收集中最流行的黑名单,其次是 Spamhaus EDROP”。被执行最多的名单,恰恰是那个只知道范围的名单。

Web 服务从接收端描述了同样的效应。Google 自己关于“异常流量”提示的帮助页面说,如果“其他使用你所用网络的人,比如在学校或企业里,发出了自动化搜索”,你也可能看到这个提示,共享 VPN 或互联网服务商的情况同理。

被测量的连带损害

按邻居裁决的代价,落在了范围内的合法地址上。

NDSS 2020 的黑名单研究直接量化了这一点。天真地聚合黑名单,平均误判 0.14% 到 0.17% 的合法地址,这是在所研究的网络中的情况。将每个被列入的地址扩展到其 /24,把这一比例提升到“0.66%、6.6% 和 1.03%”,而两个具体的名单分别达到了 67.2% 和 22.6%。

地址共享让情况更加恶化。当一个 IPv4 地址承载许多用户时,封锁它就会封锁所有这些用户。

发现来源
151 个公共黑名单中有 53% 到 60% 含有重复使用的(NAT 化或动态的)地址,共 30.6K 到 45.1K 条此类记录,最多可影响多达 78 名合法用户,持续多达 44 天Ramanathan 等, IMC 2020
72.9% 拥有滥用账户的 IPv4 地址,当天同时拥有超过 10 名正常用户;只有三分之一的 IPv4 地址是单用户,而 IPv6 中这一比例为 95%Li 和 Freeman, IMC 2020, Facebook 数据
对每个当天拥有滥用账户的 IPv4 地址在次日采取行动,真正阳性率为 65.8%,假阳性率为 27.1%Li 和 Freeman, IMC 2020
处于运营商级 NAT 后面的地址被限速的频率是其他地址的三倍;机器人流量中位数为 4.8%,对比其他地址的 4.7%Cloudflare, 2025 年 10 月
41.1% 的 IPv4 CDN 客户端流量来自大规模共享地址,而这些地址只占活跃 IPv4 地址的 1.6%Hsu 等, arXiv, 2026 年 8 月

最后一行解释了为什么这一点变得越来越重要。地址空间中很小的一部分,如今承载着真实人类流量的很大一部分,而恰恰是这些地址,一个坏行为者的裁决会落到所有其他人头上。Spamhaus 在其自身的漏洞利用地址名单上也指出了同一点:因为它包含动态地址,“你要封锁的用户很可能并不是那个设备被入侵的用户”,并要求用户“避免封锁无辜用户”。

目前尚不存在的,是关于在 web 上一个 /24 中某个地址被封后,邻居会发生什么的直接测量。上面的数字来自邮件过滤、黑名单分析和平台滥用数据。这一机制已被充分记录;但它在 web 抓取场景下的确切规模尚未被测量。

如果你在采集网络数据,这意味着什么

如果你的请求通过你不控制的地址退出,而使用住宅或移动网络时永远是这种情况,那么你遇到的一些封锁将是关于“邻居”的,而不是关于你自己的。这改变了你应该如何解读封锁率。

先诊断,再调整。 按出口地址所在的 /24 和 ASN 对结果分组。如果某个前缀被拒绝的频率远高于你的基线,而其余部分都正常,那么问题在于该前缀的信誉,而不是你的请求模式。更改请求头或放慢速度都无法解决这个问题。

import ipaddress
from collections import defaultdict


def prefix_block_rates(rows, min_requests=30):
    """rows: (exit_ip, asn, blocked) per request. Returns prefixes blocked far above the norm."""
    by_prefix = defaultdict(lambda: [0, 0])
    total, blocked_total = 0, 0
    for ip, asn, blocked in rows:
        net = ipaddress.ip_network(f"{ip}/24", strict=False)
        stats = by_prefix[(str(net), asn)]
        stats[0] += 1
        stats[1] += int(blocked)
        total += 1
        blocked_total += int(blocked)
    baseline = blocked_total / max(1, total)
    flagged = []
    for (net, asn), (n, b) in by_prefix.items():
        if n >= min_requests and b / n > max(3 * baseline, 0.2):
            flagged.append((net, asn, n, round(b / n, 3)))
    return baseline, sorted(flagged, key=lambda r: -r[3])

分散到多个网络。 按范围裁决会惩罚集中度。从多个网络中抽取地址的资源池,能限制任何单个被封范围对你的影响程度。Shifter 的住宅网关默认在每次请求时轮换到一个新的 IP,池中拥有超过 2.05 亿个地址,这正是这里的天然防御手段。当目标确实需要单一网络时,ASN 定向 可以有针对性地缩小范围;但只在确有必要时才这样做,因为缩小范围也会集中风险暴露。

不要把所有事都固定在一个会话上。 粘性会话会让你停留在一个地址上,这对多步骤流程来说是对的,但对批量采集来说是错的。如果那个地址处于一个不好的“街区”,会话上的所有请求都会继承这一点。

保持“街区”干净。 这正是研究结果让人难以忽视的部分。激进、节奏糟糕的自动化恰恰是导致范围被列入名单的原因,而付出代价的是共享这些网络的家庭和办公室。按照网站能够承受的节奏来控制速度,这一点在 速率限制与请求节流 中有详述,这不仅是礼貌问题。它让你所依赖的地址保持可用,对你和使用这些地址的其他所有人都是如此。

信誉最初是如何建立和评分的,在 什么是 IP 信誉以及它为何重要 中有详述。如何区分一条坏路线和一个已经对你翻脸的目标,在 大规模监控住宅代理健康状况构建目标健康评分 中有详述。

如果你在运营网站,这意味着什么

同样的研究也是对任何编写封锁规则的人的警示。

  • 先评分,再封锁。 UCEPROTECT 自己就警告,使用其 ASN 级名单进行封锁“可能,而且很可能会对无辜用户造成连带损害”。把任何按范围的信号当作评分中的一项输入,而不是最终裁决。
  • 了解哪些地址是共享的。 Cloudflare 专门构建了一个运营商级 NAT 分类器,以减少封锁共享地址所带来的连带效应。
  • 让范围封锁过期。 重复使用的地址转手很快。IMC 2020 的研究发现,重复使用的地址可能被列入名单长达 44 天。
  • 说明封锁原因。 一个带有申诉方式的清晰封锁页面成本很低,却能让真实用户免于陷入他们无法自行诊断的问题。

结论

按邻居来裁决一个地址是有效的,这正是为什么互联网大量的防御基础设施都这样做。被执行最多的公共黑名单只列出范围,一些名单按设计升级到整个网络,而共享地址意味着一个坏行为者的裁决可能落到几十个人头上。这种连带损害已被记录在案,有时规模很大,而且在 web 场景下仍未被以任何直接方式测量过。

对于采集数据的人来说,实用的教训是:在假定封锁与你自己有关之前,先按前缀来解读它们;把流量分散到多个网络上,而不是集中在一处;并记住你所使用的范围是共享的。避免继承一个坏“街区”名声的最干净的方法,就是不要成为那样的“街区”。

来源与参考文献

准备好开始了吗?

试用 Shifter 住宅代理,205M+ 个 IP,195+ 个国家,低至 $0.10/GB。

立即开始