大家是如何验证百度蜘蛛是百度蜘蛛的,而不是冒充的?

2016-08-11 09:20:31 +08:00
 aaa0009
比如, 通过 ip 180.76.15.20 可以得到 baiduspider-180-76-15-20.crawl.baidu.com
按照道理,还需要反向验证下,但是, baiduspider-180-76-15-20.crawl.baidu.com 得不到 180.76.15.20 。

这样,百度蜘蛛是不是就可以伪造了?
4865 次点击
所在节点    问与答
15 条回复
xiaoding
2016-08-11 09:39:09 +08:00
http://baidu.com/search/spider.htm
5. 如何判断是否冒充 Baiduspider 的抓取?
建议您使用 DNS 反查方式来确定抓取来源的 ip 是否属于百度,根据平台不同验证方法不同,如 linux/windows/os 三种平台下的验证方法分别如下:
5.1 在 linux 平台下,您可以使用 host ip 命令反解 ip 来判断是否来自 Baiduspider 的抓取。 Baiduspider 的 hostname 以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。
$ host 123.125.66.120
120.66.125.123.in-addr.arpa domain name pointer
baiduspider-123-125-66-120.crawl.baidu.com.

host 119.63.195.254
254.195.63.119.in-addr.arpa domain name pointer
BaiduMobaider-119-63-195-254.crawl.baidu.jp.

5.2 在 windows 平台或者 IBM OS/2 平台下,您可以使用 nslookup ip 命令反解 ip 来 判断是否来自 Baiduspider 的抓取。打开命令处理器 输入 nslookup xxx.xxx.xxx.xxx ( IP 地 址)就能解析 ip , 来判断是否来自 Baiduspider 的抓取, Baiduspider 的 hostname 以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。

5.3 在 mac os 平台下,您可以使用 dig 命令反解 ip 来 判断是否来自 Baiduspider 的抓取。打开命令处理器 输入 dig xxx.xxx.xxx.xxx ( IP 地 址)就能解析 ip ,来判断是否来自 Baiduspider 的抓取, Baiduspider 的 hostname 以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即为冒充。
rayhome1987
2016-08-11 09:42:55 +08:00
百度蜘蛛有专门的段,注意收集一下,维护一个白名单即可
notgod
2016-08-11 09:49:22 +08:00
反向记录 是没什么用了现在

如果有这个需求 为提高效率 一般会记录 Spider 的 IP 段做匹配
这样性能高 做反向验证匹配太耗资源了
而且也不是每个公司的爬虫 每个反向记录都是有效的解析
尤其国内很多公司没 ASN IP 都是电信的 没配反向解析

百度好像没提供 IP 池 Google 是有提供的

伪造反向解析记录 很容易的 因为没什么用
如果你是自有 ASN 和 IP 分配权限 可以随便定义反向记录
但是如果你租服务器买 IP 添加反向记录 一般会要求你先解析 验证成功后才给你添加

这个我利用过是 N 年前 德国租小机房的机柜 给外贸客户发垃圾邮件
每个机柜配垃圾机器 + 1000+IP/每机柜 最高一天能发亿级
那时候反垃圾邮件还没现在这么强大 在加上德国的小机房缺生意
谈好不封机器 对群发睁只眼闭只眼
后来不行了 一发 Spam 就封端口 小机房说在发上游要取消接入 不然罚款罚死
aaa0009
2016-08-11 10:14:50 +08:00
@xiaoding 这种方法我提到了,关键是反向验证:由域名得到 ip ,百度的都不行。
aaa0009
2016-08-11 10:19:38 +08:00
@notgod 耗资源不是问题,每个 IP 一天只查询一次,然后就进缓存了。看来只能做百度蜘蛛白名单了。然后其他的蜘蛛做双向验证。搜狗都有方向验证,百度却没有。 360 更 low ,蜘蛛域名都没的。
aaa0009
2016-08-11 10:31:44 +08:00
@notgod 伪造 ip 指向的域名成本高不高? 比如我有 ip33.2.3.32, 如果要指向 baiduspider-33-2-3-32.crawl.baidu.com
notgod
2016-08-11 10:44:32 +08:00
@aaa0009
你没弄明白 这个不是伪造
解析记录有 2 种 一种正向 一种反向
反向的意思 就是 IP 解析到域名
这个前提是你要有这个权限 就是有 ASN 并且 IP 是你自己的 或者运营商愿意提供权限 (正常情况下是不允许 管理机构有要求) 不然你解析什么?
这个和正向一样 也是 DNS 解析记录 只是反过来了
你域名解析到 IP 域名最少你要有管理权限是吧? 一个道理
你域名有解析权限了 也可以解析到任意 IP 比如百度? 比如谷歌? 还是一个道理 反向解析也一样

问题在于这个 DNS 记录 是需要全网同步的
不然别人 host nslookup 是没结果的

问题就在这里 这些都是有规范的
https://www.ripe.net/manage-ips-and-asns/db/support/configuring-reverse-dns
看 Ripe 的说明 如何配置
UnisandK
2016-08-11 11:24:17 +08:00
@notgod 支持修改的 IDC 还是不少的



UnisandK
2016-08-11 11:25:12 +08:00
@UnisandK 下边的图贴错地址了槽
UnisandK
2016-08-11 11:29:00 +08:00
@UnisandK 哦没贴错,看错了。。
rayhome1987
2016-08-11 11:47:51 +08:00
ZE3kr
2016-08-11 12:56:38 +08:00
@UnisandK 你要是有 ip block ,那就更是随便设置了, ns 可以设置为自己服务器,然后自己可以随便解析
aaa0009
2016-08-11 13:37:18 +08:00
@rayhome1987 这个不准哈, 180.76.15.20 这个也是 baidu IP ,就没有。
julyclyde
2016-08-11 23:38:02 +08:00
@notgod 正经做爬虫的肯定会老老实实做反向解析。你觉得这点儿事百度会摆不平电信么?
julyclyde
2016-08-11 23:38:32 +08:00
PTR 记录管理比 A 严格多了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298544

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX