互联网协议 (IP) 地址是识别网络抓取工具的最常见方式。IP 是每个互联网交换的核心,对其进行跟踪和分析可以了解很多有关连接客户端的信息。 在网络抓取中,IP 跟踪和分析(又名指纹)通常用于限制和阻止网络抓取程序或其他不需要的访问者。在本文中,我们将了解什么是互联网协议地址以及如何使用 IP 跟踪技术来阻止网络抓取工具。
IP 地址详情
Internet 协议地址是一个简单的基于数字的地址,用于标识连接来源 – 它是所有 Internet 连接的主干。如果您在家 – 您的 IP 是由互联网服务提供商提供给您的,但是,还有更多!
IP版本
这些 IP 地址有两个版本:IPv4 和 IPv6。 关键区别在于 IPv4 池仅限于几十亿个地址。这听起来可能很多,但我们几乎用完了! 另一方面,IPv6 有更多的可用地址,但缺乏现实世界的采用。 由于大多数网络仍然通过 IPv4 运行,并且这些地址的数量有限,这意味着这些地址本质上是一种商品。这就是 IPv4 在指纹识别方面表现更好的原因,因为它的获取成本更高。 换句话说,如果网站发现客户端从 IPv6 地址连接,它会自动降低客户端信任评分,因为这些地址数量更多。 在本文中,我们将坚持使用 IPv4 地址,因为目前还不太可能使用 IPv6 地址进行抓取。
IP地址结构
因此,让我们在识别和跟踪的上下文中看一下 IPv4 地址结构。 IPv4地址由4部分组成:
前两部分是随机分配给 IP 持有者(如 ISP)的网络地址,因此我们可以从中提取的有价值信息非常少。 对于 IP 指纹识别,最后两个数字很重要。 第三个数字称为子网地址,它本质上是一组 254 个地址的标识符。在现实世界中,子网通常标识一个地理区域——您和您的邻居很可能共享您的 ISP 提供的相同子网地址,你们每个人都有一个单独的主机地址——地址的最后一个数字。
IP元数据
IP 地址本身提供的有关其所有者身份的信息非常少。因此,IP 元信息数据库用于提供有关连接客户端的更多上下文。这些数据库从公共数据点(如 WHOIS、ARIN 和 RIPE)收集信息并包含大量元信息,例如:
- ISP 的元数据,如名称、法律细节和 AS 编号
- IP地址地理位置
- 连接类型
- 来源估计:是Proxy IP、VPN还是其他?
我们可以使用他们的在线查找页面轻松查询 WHOIS 数据库的原始元数据:https://www.whois.com/whois/(或终端工具,如whois
) 例如,让我们看一下这个随机的免费代理 IP 地址:
# Example query for 209.127.191.180 - free proxy IP NetRange: 209.127.160.0 - 209.127.192.255 CIDR: 209.127.192.0/24, 209.127.160.0/19 NetName: B2NETSOLUTIONS NetHandle: NET-209-127-160-0-1 Parent: NET209 (NET-209-0-0-0-0) NetType: Direct Allocation OriginAS: Organization: B2 Net Solutions Inc. (BNS-34) RegDate: 2018-01-12 Updated: 2022-02-09 Ref: https://rdap.arin.net/registry/ip/209.127.160.0 OrgName: B2 Net Solutions Inc. OrgId: BNS-34 Address: 205-1040 South Service Road City: Stoney Creek StateProv: ON PostalCode: L8E 6G3 Country: CA RegDate: 2011-10-24 Updated: 2021-09-16 Comment: https://servermania.com Ref: https://rdap.arin.net/registry/entity/BNS-34 ...
我们可以看到我们从这个公共 IP 数据库中获得了多少元数据信息。所有这些细节都可以用来确定这个 IP 被真人或程序使用的可能性。 例如,我们可以看到所有者是某个组织(住宅 IP 将使用“Person”关键字代替)。从注册名称和域名来看,应该是某服务器托管公司。 所以,我们可以看到这是位于加利福尼亚的某个服务器托管公司拥有的 IP 地址——这个连接来自人类用户的可能性有多大?
在网络抓取时,我们希望避免使用可能指示非人类连接的元数据的 IP(例如数据中心拥有的 IP)。相反,我们应该瞄准使连接显得更加人性化的住宅或移动 IP。
IP 是如何被追踪的?
反网页抓取服务使用这两个 IP 详细信息——地址和元数据——为每个客户端生成初始连接信任分数,用于确定客户端是否可取。 例如,如果您从干净的家庭网络连接,该服务可能会以 1 分(可信)开始,让您毫不费力地通过,而无需请求验证码来解决。 另一方面,如果您从繁忙的公共 wifi 连接,则分数会低一点(例如 0.5),这可能会每隔一段时间提示一个小的验证码挑战。 最坏的情况是,如果您从一个繁忙的共享数据中心 IP 连接,您会得到一个非常低的分数,这可能会导致多次验证码挑战甚至完全被阻止。 那么,哪些 IP 数据点对这个分数的影响最大?
IP 是如何被追踪的?
反网页抓取服务使用这两个 IP 详细信息——地址和元数据——为每个客户端生成初始连接信任分数,用于确定客户端是否可取。 例如,如果您从干净的家庭网络连接,该服务可能会以 1 分(可信)开始,让您毫不费力地通过,而无需请求验证码来解决。 另一方面,如果您从繁忙的公共 wifi 连接,则分数会低一点(例如 0.5),这可能会每隔一段时间提示一个小的验证码挑战。 最坏的情况是,如果您从一个繁忙的共享数据中心 IP 连接,您会得到一个非常低的分数,这可能会导致多次验证码挑战甚至完全被阻止。 那么,哪些 IP 数据点对这个分数的影响最大?
有各种在线数据库可让您检查分配给它们的 IP 编号的 ASN 编号,例如bgpview.io
另一个常用于计算信任分数的元数据点是IP 类型本身。虽然元数据没有明确说明地址是住宅地址、移动地址还是数据中心地址,但可以从所有权详细信息中推断出这一事实。 因此,数据中心 IP 的得分较低,因为它很可能是机器人,而移动和住宅 IP 会得到更公平的对待。
Web 抓取中的 IP 地址使用
我们在网络抓取中学到了很多关于 IP 指纹识别的知识。那么我们如何在网络抓取中应用这些信息呢? 为了避免 web scraper 阻塞,我们希望使用具有高信任度的IP 。换句话说,我们应该避免使用元数据数据点薄弱的 IP 地址——任何表明数据中心来源或不可信所有者的 IP 地址。 在大规模抓取时,我们希望通过使用高信任评分 IP 地址的代理池来多样化我们的连接。多样性是这里的关键,因为即使是高信任评分的地址也会在高连通性时期失去其效力。 简而言之:为了绕过网络抓取工具的阻塞,我们需要一个多样化的住宅或移动代理池。有许多不同的子网、地理位置和 AS 编号。
常问问题
为了总结这篇文章,让我们看一下有关 IP 地址在 Web 抓取工具阻止中的作用的一些常见问题:
哪种代理类型最适合网络抓取?
住宅代理是网络抓取的最佳选择。住宅代理由值得信赖的 ASN(例如公共 ISP)所有,因此这些 IP 地址建立的连接更值得信赖
哪些地理位置最适合网络抓取?
与托管目标同源。例如,如果我们在美国抓取网站,我们应该使用基于美国的 IP 地址。然而,情况并非总是如此,尽管美国和欧盟的 IP 地址总体上往往具有更高的信任度。
什么是 Web 抓取的良好代理池?
多样性!正如我们在本文中介绍的那样,拥有多样化的自治系统编号 (ASN) 和子网池将在阻塞方面产生最佳的 Web 抓取性能。
概括
总结网络爬虫可以通过 IP 地址分析来识别。这可以通过检查 IP 元数据来完成,例如地址类型(数据中心或住宅)、ASN 和其他独特的详细信息。因此,为避免被阻止,网络抓取工具应使用多样化、优质的代理 IP 地址池。