此蜘蛛可不是好莱坞惊悚大片里的杀人怪物,而是搜索引擎爬虫。虽然SEO很重要,但是当形形色色的搜索引擎爬虫蜂拥而至的时候,网站负载愈发显得捉襟见肘,可以通过分析web日志来检测搜索引擎爬虫的一举一动,不过tcpdump更酷一些,适当的修改下面的命令,你就可以随心所欲的检测网络数据包:
/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | egrep -i 'bot|crawler|slurp|spider'
命令很简单,通过User-Agent来查询有哪些搜索引擎爬虫正在入侵你的网站,当然,很多不讲究的搜索引擎会伪装自己的User-Agent,所以我们不可能把他们完全过滤出来,不过通过bot, crawler, slurp, spider四个关键字,还是能匹配出大多数搜索引擎爬虫的。
结果类似这样:User-Agent: Sosospider+(+http://help.soso.com/webspider.htm)
说到这不由得要发发牢骚,腾讯sosospider的搜索行为令人发指,别期望这样的流氓会遵守robots.txt的约束,所以还是直接用iptables屏蔽吧:
/sbin/iptables -A INPUT -s 124.115.0.0/24 -j DROP
/sbin/iptables -A INPUT -s 124.115.4.0/24 -j DROP
补充说明:有时可能会出现tcpdump错误提示:tcpdump: bind: Network is down。此时多半是搞错了网络接口,不妨eth0/eth1都试试。
参考资料, List of User Agent Strings
/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | egrep -i 'bot|crawler|slurp|spider'
命令很简单,通过User-Agent来查询有哪些搜索引擎爬虫正在入侵你的网站,当然,很多不讲究的搜索引擎会伪装自己的User-Agent,所以我们不可能把他们完全过滤出来,不过通过bot, crawler, slurp, spider四个关键字,还是能匹配出大多数搜索引擎爬虫的。
结果类似这样:User-Agent: Sosospider+(+http://help.soso.com/webspider.htm)
说到这不由得要发发牢骚,腾讯sosospider的搜索行为令人发指,别期望这样的流氓会遵守robots.txt的约束,所以还是直接用iptables屏蔽吧:
/sbin/iptables -A INPUT -s 124.115.0.0/24 -j DROP
/sbin/iptables -A INPUT -s 124.115.4.0/24 -j DROP
补充说明:有时可能会出现tcpdump错误提示:tcpdump: bind: Network is down。此时多半是搞错了网络接口,不妨eth0/eth1都试试。
参考资料, List of User Agent Strings