第一次出现在 Serverfault 上。
我在通过我的服务器连接到 Myspace.com 时遇到了问题。我一直在使用 Python 的 mechanize 在各种网站上运行一个机器人(不是垃圾邮件,而是爬取音乐家的信息)。它已经在我的服务器上运行了数周,但最近几天,Myspace 似乎开始将我重定向到 Google.com (?),当我 ping 他们时,我得到的地址在浏览器中返回 403:
64 bytes from 63.135.80.224: icmp_seq=1 ttl=242 time=31.6 ms
64 bytes from 63.135.80.224: icmp_seq=2 ttl=242 time=31.5 ms
64 bytes from 63.135.80.224: icmp_seq=3 ttl=242 time=31.6 ms
说实话,我一直让我的机器人忽略 robots.txt,并通过伪装成我自己的用户代理来假装是 Mac 用户。我认为这并不违反道德,因为我根本没有发送垃圾邮件。
只是为了好玩,我使用 Googlebot 2.1 的用户代理运行了 mechanize,尝试快速连接到 Myspace.com,也连接上了 Google.com。现在当我 ping 它时,地址不同了,而且还出现了 403 错误:
64 bytes from 216.178.46.224: icmp_seq=1 ttl=243 time=37.1 ms
64 bytes from 216.178.46.224: icmp_seq=2 ttl=243 time=37.5 ms
64 bytes from 216.178.46.224: icmp_seq=3 ttl=243 time=37.3 ms
所以逻辑告诉我他们屏蔽了我。我想知道是否有办法解决这个问题。如果有,为什么他们要将我重定向到 Google?
我还看到其他人也遇到过这种情况,这是由于一些临时的地理特定 DNS 问题造成的。这似乎是可能的,因为这两家公司都有很多服务器。我的机器人在我的电脑本地运行没有问题。可能吗?
编辑: 如果这有关系的话,他不会跑得太频繁,尤其是过去几天。由于我仍在培养他,所以我没有给他制定任何时间表。有两次我让他不停地跑了一个小时左右,这两次都不发生在过去的一周,也没有出现这个问题。它似乎是刚刚出现的。
答案1
回答你的问题,你滥用的网络(本例中为 Myspace)通过把你的攻击重定向到可以轻松处理流量的第三方网站来保护自己。
一个自动化工具(可能类似于 snort)检测到了您的活动。所有大型网络都参与此类监控。典型的反应是将您的流量黑洞化(这就是我的监控所做的)。但简单地将流量重定向到另一个站点也是一个合理的反应,返回 403 错误代码显然是他们礼貌地告诉您离开的方式。