反僵尸系统:它们如何工作,能否被绕过?

指南, 10-07-20245 分钟阅读

反机器人系统是一种旨在保护网站免受垃圾邮件或 DDoS 攻击等自动化交互的技术。然而,并非所有的自动活动都是有害的:例如,机器人有时是安全测试、建立搜索索引和从公开来源收集数据所必需的。要执行这些任务而不被反机器人系统阻止,您需要专门的工具。

要想绕过反僵尸系统,就必须了解不同类型的保护措施及其功能。

反僵尸系统如何检测僵尸?

反机器人系统会收集每个网站访客的大量信息。对这些信息进行分析后,如果有任何参数看起来不符合人类用户的特征,可疑访客可能会被拦截或被要求通过验证码来证明他们确实是人类。

这些信息通常从三个层面收集:网络、行为和浏览器指纹。

  • 网络层面:反僵尸系统会分析请求,检查 IP 地址的垃圾邮件得分,并检查数据包标题。如果访问者的 IP 地址出现在 "黑名单 "上、属于数据中心、与 Tor 网络有关联,或在其他方面看起来可疑,就可能面临验证码挑战。你可能在生活中遇到过这种情况,因为你使用了免费的 VPN 服务,谷歌就会让你解决验证码问题。
  • 浏览器指纹级别:反僵尸系统会收集访问网站所用浏览器和设备的信息,并创建相应的设备指纹。这种指纹通常包括浏览器的类型、版本和语言设置、屏幕分辨率、窗口大小、硬件噪音、系统字体、媒体设备等。
  • 行为级别:一些先进的系统会检查用户行为与普通网站访问者行为的匹配程度。

反僵尸系统有很多,每种系统的具体内容都会有很大的不同,并随着时间的推移而变化。流行的解决方案包括

  • Akamai
  • Cloudflare
  • Datadome
  • Incapsula
  • 卡萨达
  • 周边x

了解哪种反僵尸系统可以保护网站对于选择最佳绕过策略非常重要。你可以在专业论坛和 Discord 频道上找到专门讨论如何绕过特定反僵尸系统的版块。例如,在网络抓取俱乐部(The Web Scraping Club)上就能找到此类信息。

要识别网站使用的反僵尸系统,可以使用Wappalyzer浏览器扩展等工具。

如何绕过反僵尸系统?

为了防止系统检测到自动化,有必要确保每个检测级别都有足够的屏蔽。这可以通过几种方式来实现:

  • 使用自己定制的解决方案,独立维护基础设施;
  • 使用 Apify、Scrapingbee、Browserless 或 Surfsky 等付费服务;
  • 将高质量代理、验证码解码器和反检测浏览器结合起来;
  • 在无头模式下使用带有反检测补丁的标准浏览器;
  • 或者采用其他多种复杂程度不同的方案。

网络级屏蔽

要在网络层面保护机器人,必须使用 高质量的代理。当然,简单的任务可能只需使用自己的 IP 地址即可完成,但如果要收集大量数据,这种方法就不太可行了。您需要未被列入黑名单的优质住宅或移动代理,以便定期发送数以万计的请求。


使用 IPQualityScore 检查 IP 地址

选择代理时,请注意以下参数:

  • 其 IP 地址是否出现在垃圾邮件数据库中。可以使用 PixelScan 等工具或查阅 iplists.firehol.org数据库来检查。
  • 是否存在 DNS 泄漏。使用DNS Leak Test 等合适的检查器进行测试时,您的真实服务器不应出现在服务器列表中。
  • 代理服务器类型。属于 ISP 的代理可疑度较低。

您可以在这里了解有关检查代理质量的更多信息。

旋转代理对网络搜索也很有用。它们提供多个 IP 地址,而不是只有一个,从而降低了收集信息的机器人被拦截的几率,因为网站更难发现请求中的模式。轮流代理可将请求分配给多个 IP 地址,从而降低因来自单一 IP 的大量请求而被拦截的风险。

指纹级屏蔽

多账户(反检测)浏览器是欺骗浏览器指纹的最佳选择。像 Octo 浏览器这样的顶级浏览器可以在浏览器内核层欺骗指纹,并允许你创建大量浏览器配置文件,每个配置文件看起来都像一个单独的用户。

配置八方浏览器配置文件的数字指纹

使用反检测浏览器抓取数据可以借助任何方便的浏览器自动化库或框架。您可以创建所需的配置文件,其中包括必要的指纹设置、代理服务器和 cookie,而无需打开浏览器本身。之后,可以在自动化模式下或手动使用这些配置文件。

使用多账户浏览器与在无头模式下使用普通浏览器并无太大区别。Octo 浏览器提供了详细的文档,分步说明如何连接所有常用编程语言的应用程序接口。

使用 Python 创建 Octo 浏览器配置文件的示例

借助先进的数字指纹欺骗系统,专业的反检测浏览器可以方便地管理大量浏览器配置文件、连接代理服务器,以及访问标准搜索方法通常无法访问的数据。

模拟真实用户操作

为了规避反机器人系统,还需要模拟真实用户的操作:延迟、光标移动模拟、有节奏的按键、随机停顿和不规则的行为模式。您经常需要执行授权、点击 "更多信息 "按钮、跟踪链接、提交表单、滚动浏览信息源等操作。

可以使用 Selenium 等流行的浏览器自动化开源解决方案模拟用户操作,当然也有其他选择,如 MechanicalSoup、Nightmare JS 等。

为了让反机器人系统觉得刮擦更自然,建议在请求中添加不规则间隔的延迟。

结论

反僵尸系统通过分析用户的网络、浏览器和行为信息,保护网站免受自动交互的影响。要绕过这些系统,每个级别都需要足够的掩码。

  • 在网络层面,您可以使用高质量的代理服务器,尤其是旋转代理服务器。
  • 要欺骗浏览器指纹,可以使用多账户反检测浏览器,如 Octo 浏览器。
  • 要模拟真实的用户操作,您可以使用 Selenium 等浏览器自动化工具,并在其中加入不规则延迟和行为模式。

想利用顶级反检测工具提升网络搜索设置? 

Octo 浏览器是您理想的解决方案。它提供先进的指纹欺骗功能和轻松的多账户管理功能。 

使用促销代码 PROXYSCRAPE 新用户可免费订阅 Octo 浏览器 4 天基础版。千万不要错过这个提升您网络搜索水平的机会!

刮得开心