如何分析网站日志文件
如果你的博客或网站是搭建在付费主机上,如果你是博客或网站的站长,如果你连原始访问日志是什么都不知道,或者对其根本不屑一顾,我只能说你是一个不称职的网站站长,一旦网站出问题,必定是束手无策!相信大家都在自己的网站上安装了网站统计的代码,如Googleanalytics、量子统计、百度统计、cnzz、51.la等,这些工具可以统计网站的流量,也就是网站上访客可以看到的所有页面的访问量,但是这些统计工具都不能统计你主机上资源的原始访问信息,例如某个图片被谁下载了,也不能统计到那些没有添加统计代码的地方,比如后台操作页面。
绝大多数收费主机都提供原始访问日志,网站服务器会把每一个访客来访时的一些信息自动记录下来,保存在原始访问日志文件中,如果你的主机不提供日志功能,建议你到期后还是换主机吧。日志中记录了网站上所有资源的访问信息,包括图片、CSS、JS、FLASH、HTML、MP3等所有网页打开过程载入的资源,同时记录了这些资源都被谁访问了、用什么来访问以及访问的结果是什么等等,可以说原始访问日志记录了主机的所有资源使用情况。
分析网站日志有什么作用?
1、我们可以比较准确的定位搜索引擎蜘蛛来爬行我们网站的次数,可以屏蔽伪蜘蛛(此类蜘蛛多以采集为主,会增加我们服务器的开销)点此识别Baiduspider真伪 ;
2、通过分析网站日志,我们可以准确定位搜索引擎蜘蛛爬行的页面以及时间长短,我们可以依次有针对性的对我们的网站进行微调 ;
3、http返回状态码,搜索引擎蜘蛛以及用户每访问我们的网站一次,服务器端都会产生类似301,404,200的状态吗,我们可以参照此类信息,对我们出现问题的网站进行简单的诊断,及时处理问题。
网站日志文件存放在什么地方?
一般的虚拟主机都提供日志文件,但是不同的虚拟主机系统会提供不同的LOG文件存储文件名,笔者使用的是万网的虚拟主机,日志文件存储在wwwlogs文件夹下。
网站日志文件里面的记录怎么看?
原始访问日志每一行就是类似以下的记录:
116.231.220.179 - - [25/Mar/2015:11:21:15 +0800] "GET /blog/article/10.html HTTP/1.1" 200 8671 "http://www.weiaipin.cn/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0)"
下面我们来说说这一行记录的意思:
116.231.220.179
这是访客(也可能是机器人)的IP
[25/Mar/2015:11:21:15 +0800]
这是访客访问该资源的时间(Date),+0800是该时间所对应的时区,即与格林威治时间相差+8个小时
"GET /blog/article/10.html HTTP/1.1"
请求信息,包括请求方式、所请求的资源以及所使用的协议,该语句的意思就是以GET方式,按照HTTP/1.1协议获取网页/blog/article/10.html,10html为网站上的某个页面。
200 8671
200为该请求返回的状态码(Http Code),不同的状态码代表不同的意思,具体请阅读 HTTP 状态代码;8671为此次请求所耗费的流量(Size in Bytes),单位为byte
"http://www.weiaipin.cn/"
为访客来源(Referer)。这一段是告诉我们访客是从哪里来到这一个网页。有可能是你的网站其他页,有可能是来自搜索引擎的搜索页等。通过这条来源信息,你可以揪出盗链者的网页。
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0)"
为访客所使用的浏览器类型(Agent),这里记录了用户使用的操作系统、浏览器型号等信息。
如何分析网站日志中的内容?
1、注意那些被频繁访问的资源
如果在日志中,你发现某个资源(网页、图片和mp3等)被人频繁访问,那你应该注意该资源被用于何处了!如果这些请求的来源(Referer)不是你的网站或者为空,且状态码(Http Code)为200,说明你的这些资源很可能被人盗链了,通过 Referer你可以查出盗链者的网址,这可能就是你的网站流量暴增的原因,你应该做好防盗链了。请看下图,我网站上的japan.mp3这个文件就被人频繁的访问了,下图还只是日志的一部分,这人极其险恶,由于我早已将该文件删除,它迟迟要不到japan.mp3,在短短一个小时内对japan.mp3发起了不下百次的请求,见我设置了防盗链就伪造来源Referer和Agent,还不断地更换IP,很可惜它做得都是无用功,根本没有这个文件,请求的状态码Http Code都是403或者404。
2、注意那些你网站上不存在资源的请求
如果某些请求信息不是本站的资源,Http Code不是403就是404,但从名称分析,可能是保存数据库信息的文件,如果这些信息让别人拿走,那么攻击你的网站就轻松多了。发起这些请求的目的无非就是扫描你的网站漏洞,通过漫无目的地扫描下载这些已知的漏洞文件,很可能会发现你的网站某个漏洞哦!通过观察,可以发现,这些请求所使用的Agent差不多都是Mozilla/4.0、Mozilla/5.0或者libwww-perl/等等非常规的浏览器类型,以上我提供的日志格式化工具已经集成了对这些请求的警报功能。我们可以通过禁止这些Agent的访问,来达到防止被扫描的目的,具体方法下面再介绍。
3、观察搜索引擎蜘蛛的来访情况
通过观察日志中的信息,你可以看出你的网站被蜘蛛访问的频率,进而可以看出你的网站是否被搜索引擎青睐,这些都是SEO所关心的问题吧。日志格式化工具已经集成了对搜索引擎蜘蛛的提示功能。常见搜索引擎的蜘蛛所使用的Agent列表如下:
Google蜘蛛:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Baidu蜘蛛:Baiduspider+(+http://www.baidu.com/search/spider.htm)
Yahoo!蜘蛛:Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)
Yahoo!中国蜘蛛:Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
微软Bing蜘蛛:msnbot/2.0b (+http://search.msn.com/msnbot.htm)
Google Adsense蜘蛛:Mediapartners-Google
有道蜘蛛:Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )
Soso搜搜博客蜘蛛:Sosoblogspider+(+http://help.soso.com/soso-blog-spider.htm)
Sogou搜狗蜘蛛:Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)
Twiceler爬虫程序:Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)’
Google图片搜索蜘蛛:Googlebot-Image/1.0
俄罗斯Yandex搜索引擎蜘蛛:Yandex/1.01.001 (compatible; Win16; I)
Alexa蜘蛛:ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com)
Feedsky蜘蛛:Mozilla 5.0 (compatible; Feedsky crawler /1.0; http://www.feedsky.com)
韩国Yeti蜘蛛:Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)
4、观察访客行为
通过查看格式化后的日志,可以查看跟踪某个IP在某个时间段的一系列访问行为,单个IP的访问记录越多,说明你的网站PV高,用户粘性好;如果单个IP的访问记录希希,你应该考虑如何将你的网站内容做得更加吸引人了。通过分析访客的行为,可以为你的网站建设提供有力的参考,哪些内容好,哪些内容不好,确定网站的发展方向;通过分析访客的行为,看看他们都干了些什么事,可以揣测访客的用意,及时揪出恶意用户。
常用网站日志分析软件有哪些?
笔者试用过很多网站日志分析工具,常用的并且功能又比较全面的大概有三款:光年SEO日志分析系统、逆火网站日志分析器、Web Log Explorer。
对于这三款软件的具体使用评价总结,请看我写的另外一篇文章《常用网站日志分析软件使用总结》。
附:网站日志代码大全
1xx-信息提示
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。
100-继续。
101-切换协议。
2xx-成功
这类状态代码表明服务器成功地接受了客户端请求。
200-确定。客户端请求已成功。
201-已创建。
202-已接受。
203-非权威性信息。
204-无内容。
205-重置内容。
206-部分内容。
3xx-重定向
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。
301-对象已永久移走,即永久重定向。
302-对象已临时移动。
304-未修改。
307-临时重定向。
4xx-客户端错误
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。
401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示:
401.1-登录失败。
401.2-服务器配置导致登录失败。
401.3-由于ACL对资源的限制而未获得授权。
401.4-筛选器授权失败。
401.5-ISAPI/CGI应用程序授权失败。
401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。
403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因:
403.1-执行访问被禁止。
403.2-读访问被禁止。
403.3-写访问被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP地址被拒绝。
403.7-要求客户端证书。
403.8-站点访问被拒绝。
403.9-用户数过多。
403.10-配置无效。
403.11-密码更改。
403.12-拒绝访问映射表。
403.13-客户端证书被吊销。
403.14-拒绝目录列表。
403.15-超出客户端访问许可。
403.16-客户端证书不受信任或无效。
403.17-客户端证书已过期或尚未生效。
403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。
403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。
403.20-Passport登录失败。这个错误代码为IIS6.0所专用。
404-未找到。
404.0-(无)–没有找到文件或目录。
404.1-无法在所请求的端口上访问Web站点。
404.2-Web服务扩展锁定策略阻止本请求。
404.3-MIME映射策略阻止本请求。
405-用来访问本页面的HTTP谓词不被允许(方法不被允许)
406-客户端浏览器不接受所请求页面的MIME类型。
407-要求进行代理身份验证。
412-前提条件失败。
413–请求实体太大。
414-请求URI太长。
415–不支持的媒体类型。
416–所请求的范围无法满足。
417–执行失败。
423–锁定的错误。
5xx-服务器错误
服务器由于遇到错误而不能完成该请求。
500-内部服务器错误。
500.12-应用程序正忙于在Web服务器上重新启动。
500.13-Web服务器太忙。
500.15-不允许直接请求Global.asa。
500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。
500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。
500.100-内部ASP错误。
501-页眉值指定了未实现的配置。
502-Web服务器用作网关或代理服务器时收到了无效响应。
502.1-CGI应用程序超时。
502.2-CGI应用程序出错。application.
503-服务不可用。这个错误代码为IIS6.0所专用。
504-网关超时。
505-HTTP版本不受支持。
分享转载请注明:"本文转载于「为爱拼」,原文地址:http://www.weiaipin.cn/blog/article/31.html"