zoukankan      html  css  js  c++  java
  • 如何分析网站日志文件

    如果你的博客或网站是搭建在付费主机上,如果你是博客或网站的站长,如果你连原始访问日志是 什么都不知道,或者对其根本不屑一顾,我只能说你是一个不称职的网站站长,一旦网站出问题,必定是束手无策!相信大家都在自己的网站上安装了网站统计的代 码,如Google analytics、量子统计、百度统计、cnzz、51.la等,这些工具可以统计网站的流量,也就是网站上访客可以看到的所有页面的访问量,但是这些 统计工具都不能统计你主机上资源的原始访问信息,例如某个图片被谁下载了,也不能统计到那些没有添加统计代码的地方,比如后台操作页面。

    绝 大多数收费主机都提供原始访问日志,网站服务器会把每一个访客来访时的一些信息自动记录下来,保存在原始访问日志文件中,如果你的主机不提供日志功能,建 议你到期后还是换主机吧。日志中记录了网站上所有资源的访问信息,包括图片、CSS、JS、FLASH、HTML、MP3等所有网页打开过程载入的资源, 同时记录了这些资源都被谁访问了、用什么来访问以及访问的结果是什么等等,可以说原始访问日志记录了主机的所有资源使用情况。

    分析网站日志有什么作用?

    1、我们可以比较准确的定位搜索引擎蜘蛛来爬行我们网站的次数,可以屏蔽伪蜘蛛(此类蜘蛛多以采集为主,会增加我们服务器的开销)点此识别Baiduspider真伪 ;

    2、通过分析网站日志,我们可以准确定位搜索引擎蜘蛛爬行的页面以及时间长短,我们可以依次有针对性的对我们的网站进行微调 ;

    3、http返回状态码,搜索引擎蜘蛛以及用户每访问我们的网站一次,服务器端都会产生类似301,404,200的状态吗,我们可以参照此类信息,对我们出现问题的网站进行简单的诊断,及时处理问题。

    网站日志文件存放在什么地方?

    一般的虚拟主机都提供日志文件,但是不同的虚拟主机系统会提供不同的LOG文件存储文件名,笔者使用的是万网的虚拟主机,日志文件存储在wwwlogs文件夹下。

    clipboard.jpg

    网站日志文件里面的记录怎么看?

    原始访问日志每一行就是类似以下的记录:

     
    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

  • 相关阅读:
    Linux内核中常用的数据结构和算法(转)
    漫画|Linux 并发、竞态、互斥锁、自旋锁、信号量都是什么鬼?(转)
    2--STM32+USB移植+HID 与AUDIO类MIDI设备组成的复合设备(原创)
    1--STM32 ADC1与ADC2 16通道DMA采集笔记(原创)
    记不住 Linux 命令?这三个工具可以帮你(转)
    专访笨叔叔:2019年可能是Linux年?(转)
    C语言冒泡排序_4
    USB HID设备报告描述符详解(转)
    C语言数组指针_3
    C语言编程知识点_1
  • 原文地址:https://www.cnblogs.com/maiyacheng/p/4429204.html
Copyright © 2011-2022 走看看