220.181.51.*到底是不是百度蜘蛛(Baiduspider)的IP段?

3月 25, 2023 by · Leave a Comment 

不得不说,谷歌蜘蛛(Googlebot)和必应蜘蛛(bingbot)是最遵守规则的,也是透明度最高的;百度蜘蛛(Baiduspider)和搜狗蜘蛛(Sogou web spider)要差一些;360蜘蛛(360spider)是最垃圾的,官方公开的IP段百年不更新,蜘蛛IP也不作rDNS,结果就是任何人随便找个河南郑州的家宽就能冒充360spider来爬你的数据。

现在我们来看看这个问题:

220.181.51.*到底是不是百度蜘蛛(Baiduspider)的IP段?

220.181.51.*这个段其实早已映入傅老师眼帘。大多数IP查询网站查到的结果都是“北京市 电信百度蜘蛛”,而且百度的确有个正宗蜘蛛段:220.181.108.*,看上去很像对吧?为了确认这个问题,傅老师曾在https://ziyuan.baidu.com向百度官方提过这个问题,但是官方统一机器回复:

您好, 请查看文章,如何识别Baiduspider,https://ziyuan.baidu.com/college/articleinfo?id=1002,感谢您的支持!

至此依然没有解决220.181.51.*到底是不是百度蜘蛛(Baiduspider)的IP段的问题。我们手动试试,批量做一个rDNS查询:

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

……

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

……

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

181.220.in-addr.arpa. 1800 IN SOA idc-ns1.bjtelecom.net. hostmaster11.ctid.com.cn. 1141804898 10800 3600 604800 38400

根据百度官方所讲述的第二个判断方法第一步就可以看出,因为220.181.51.*这个段反向DNS查询没有看到crawl.baidu.com的影子,所以这个C段不是百度蜘蛛。随便抽几个IP构造出rDNS来ping一下看看,也没有解析。

baiduspider-220-181-51-1.crawl.baidu.com

baiduspider-220-181-51-100.crawl.baidu.com

baiduspider-220-181-51-250.crawl.baidu.com

照这样看来,220.181.51.*应该不是百度蜘蛛。但是会不会是百度官方给遗漏了呢?因为百度官方给的“双向DNS解析认证”就有遗漏的情况,比如220.181.108.197-220.181.108.210就只有反向解析,没有正向解析。但这些IP又确实是百度蜘蛛。那我们继续找找看220.181.51.*这个段有没有什么线索能和百度关联上。

一、根据IP去查一下ASN:

CHINANET-IDC-BJ-AP IDC, China Telecommunications Corporation, CN

说明此段为中国电信的数据中心。但没有百度的影子。

二、前面反查信息中有个域名ctid.com.cn
有毅力的朋友可以根据ctid.com.cn的whois信息找到一个邮箱,从此邮箱可以找到关联的公司,依然没看到和百度的关联。更加有耐心的朋友可以进一步发邮件给那个邮箱直接询问。

综上所述,220.181.51.*有百度蜘蛛的样子,但是没有百度蜘蛛的实证。目前傅老师的做法是开放非核心页面给它爬(例如首页、目录页、栏目页),不限量;核心页面(文章页)如果每天爬个几页可以放行,但是多了就ban掉它。

2023.4.4更新
220.181.51.*这个段99%的可能是百度蜘蛛。傅老师在防火墙为它设置了白名单,但是在后端代码层面没有将其设置白名单,因此触发了captcha验证,结果这个captcha验证页面被百度收录了,并且出现在百度搜索结果页面。

——本文最后由傅老师于2023-04-04编辑过

评论


六 + = 八