如何通过IIS日志分析网站的情况
来源:51baobao.net 时间:2008-07-27 16:55:00
看到这个标题,想必大家会不屑一顾,“需要分析IIS日志吗?我有流量统计、51yes、cnzz、51la等等一大堆,功能全面,用起来也方便”,在这里请大家先别急着下结论,看完下面进行的IIS日志分析后再说。
先来说说如何下载IIS日志文件。如果自己有独立的服务器,在IIS信息服务窗口中,点击要设置的网站的属性,在“网页”选项卡上可以看到“启动日志记录”项,可以设置日志的保存位置、日志的记录格式等等,虚拟主机用户可以通过空间商提供的后台生成IIS日志,如万网中称为“weblog日志下载”。
现在我们已经找到了IIS日志文件,然后把它下载下来,用ultraedit将其打开(为什么不用记事本打开呢?记事本要打开一个几十M、上百M的文本文件,其速度实在是不能让人忍受)。下面就以我的一个网站(51baobao.net)的IIS日志为例进行一下分析演示。
第一,通过IIS日志了解搜索引擎的到访记录:
用ultraedit打开后,按CTRL+F键,弹出窗口(如图1),输入Googlebot,按回车,在新窗口中显示的页面就是google机器人的到访问记录,选中其中之一双击,可以看到访问的时间和页面(如图2),在这里要注意的是所显示的时间是国际标准时间,所以要在这个时间上加8个小时,这样才是北京时间,如果是自己的独立服务器可以设置为北京时间,这里就不详述了。
(图1)
(图2)
我们继续查找Baiduspider可以看到baidu蜘蛛的爬行记录。其他搜索引擎通过查找如Yahoo、Sogou、msnbot、YodaoBot… 比如我们新做了一个网站,也在百度和google中提交了,可是site站点的时候就是看不到收录的页面,这时我们就可以利用上面的方法查看一下IIS日志,只要百度和google等搜索引擎的蜘蛛已经爬行过我们的站点了,我们就不用担心网站的收录问题了,搜索引擎会慢慢的放出已经抓取的页面,站长们继续增加内容就行了。通过此项查找还可以了解搜索引擎的到访时间和抓取页面的时间及频率。
上面是通过IIS日志查看搜索引擎的爬行记录,可能有人会问了,为什么搜索引擎的爬行记录不能被流量统计工具统计到?因为流量统计代码是采用JS调用的方式,搜索引擎蜘蛛爬行时不会调用JS文件。我们可以自己写个流量统计功能,然后include流量统计功能的这个动态页面到各个页面中,这样所有对页面的访问就都可以统计到了,并且通过agent参数,可以判断来自哪个搜索引擎,这里不再详述。
第二,通过IIS日志查找网站是否存在死链接: 在用ultraedit打开的IIS日志文件中按CTRL+F键,在出现的窗口中(如图1),选中第一和第三个复选框,输入404,然后按回车,看看在弹出的窗口中有没有找到记录。如果找到,说明你的网站存在死链接,大家都知道死链接对网站的收录是有影响的,怎么去处理就不用我说了吧。
下面是搜索404时我的网站IIS日志中出现的几条记录:
2008-07-24 16:05:08 GET /Login.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) - 404 0 1003
2008-07-24 16:05:08 POST /Login.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /Login.asp 404 0 1003
2008-07-24 16:05:08 GET /reg.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /Login.asp 404 0 1003
2008-07-24 16:05:09 POST /reg.asp - 60.182.153.56 HTTP/1.1 Mozilla/3.0+(compatible;+Indy+Library) http://www.51baobao.net /reg.asp?action=apply 404 0 1003
相信有经验的站长都明白了吧?这是有人在用一些漏洞扫描工具对网站进行漏洞测试,看看有没有漏洞,使用通用的CMS、DIG、BBS、BLOG系统的站长可要注意了,你所用的网页程序如果有漏洞,网站就会有被黑掉的危险!
第三、通过IIS日志查找网站是否存在程序错误:
我们再输入500进行查找,如果查找到相关页面,说明网站 的程序在运行过程中出现了错误,需要对程序进行修改。
第四、通过IIS日志查找网站是否被入侵过:
通过IIS日志可以判断网站是否曾被通过SQL注入过,是怎样被入侵的。在网站IIS日志我们搜索一下%20和’单引号(半角的),看看是否有相关的页面存在,当然不是所有包括%20和’的页面都是被注入页面,但一般的SQL注入都是通过%20(空格的ASC码的16进制值是20)和单引号进行的。此方法可以判断出程序上的漏洞,这样我们可以修改程序防止SQL注入。我曾经用这个办法将网站被SQL注入的全过程及入侵的破坏程度进行了解,然后修改了程序,防止了网站再次被入侵。
介绍以上几点,以供大家参考。
对于apache的日志,分析方法也类似。现在有一些IIS日志分析软件可以帮助我们分析出搜索引擎的到访情况以及404错误的网页,但对于通过网站漏洞被入侵的问题只能靠我们手工查找了。
由于平时很少写文章,写的词不达意还望各位谅解,欢迎与我进行MSN交流(51baobao.net#live.cn),同时欢迎访问我的网站51baobao.net。
转载时请尊重作者的版权,保持文章的完整,请不要对本文进行修改。