10 ip isp whois ip-blocking web-crawler
我遇到了某个人不断以激进的方式抓取我的网站的问题;浪费带宽和CPU资源。我已经实现了一个系统,它跟踪我的 Web 服务器访问日志,将每个新 IP 添加到数据库中,跟踪从该 IP 发出的请求数量,然后,如果相同的 IP 超过特定的请求阈值在某个时间段内,它被 iptables 阻止。这听起来可能很复杂,但据我所知,不存在旨在将某个 IP 限制为一定数量的带宽/请求的预制解决方案。
这对大多数爬虫来说都很好,但是一个非常执着的人每次被阻止时都会从他/她的 ISP 池中获取一个新 IP。我想完全阻止 ISP,但不知道如何去做。
对几个示例 IP 进行 whois,我可以看到它们都共享相同的“网络名”、“mnt-by”和“来源/AS”。有没有办法可以使用相同的 mnt-by/AS/netname 查询所有子网的 ARIN/RIPE 数据库?如果没有,我还能如何获取属于该 ISP 的每个 IP?
谢谢。
whois [IP address]
(或whois -a [IP Address]
) 通常会给您一个 CIDR 掩码或属于相关公司/提供商的地址范围,但解析结果留给读者作为练习(至少有 2 种常见的 whois 输出格式)。
请注意,这种批量阻止也可能会淘汰合法用户。在采取这种方法之前,您应该联系相关 ISP 的滥用服务台(通常列在whois
他们的 netblock 或 DNS 域的信息中,否则滥用@ 是一个不错的起点),看看是否可以通过外交而不是技术来解决这种情况.
还要注意,有一些预先做好的解决方案,以每秒限制的请求通过IP -看看MOD的QoS或您的系统的防火墙/流量整形capibilities。
归档时间: |
|
查看次数: |
32933 次 |
最近记录: |