看到這個(gè)標(biāo)題,想必大家會(huì)不屑一顧,“需要分析IIS日志嗎?我有流量統(tǒng)計(jì)、51yes、cnzz、51la等等一大堆,功能全面,用起來(lái)也方便”,在這里請(qǐng)大家先別急著下結(jié)論,看完下面進(jìn)行的IIS日志分析后再說(shuō)。
先來(lái)說(shuō)說(shuō)如何下載IIS日志文件。如果自己有獨(dú)立的服務(wù)器,在IIS信息服務(wù)窗口中,點(diǎn)擊要設(shè)置的網(wǎng)站的屬性,在“網(wǎng)頁(yè)”選項(xiàng)卡上可以看到“啟動(dòng)日志記錄”項(xiàng),可以設(shè)置日志的保存位置、日志的記錄格式等等,虛擬主機(jī)用戶可以通過(guò)空間商提供的后臺(tái)生成IIS日志,如萬(wàn)網(wǎng)中稱(chēng)為“weblog日志下載”。
現(xiàn)在我們已經(jīng)找到了IIS日志文件,然后把它下載下來(lái),用ultraedit將其打開(kāi)(為什么不用記事本打開(kāi)呢?記事本要打開(kāi)一個(gè)幾十M、上百M(fèi)的文本文件,其速度實(shí)在是不能讓人忍受)。下面就以網(wǎng)站雅集http://www.yajii.cn的IIS日志為例進(jìn)行一下分析演示。
第一,通過(guò)IIS日志了解搜索引擎的到訪記錄:
用ultraedit打開(kāi)后,按CTRL+F鍵,彈出窗口,輸入Googlebot,按回車(chē),在新窗口中顯示的頁(yè)面就是google機(jī)器人的到訪問(wèn)記錄,選中其中之一雙擊,可以看到訪問(wèn)的時(shí)間和頁(yè)面,在這里要注意的是所顯示的時(shí)間是國(guó)際標(biāo)準(zhǔn)時(shí)間,所以要在這個(gè)時(shí)間上加8個(gè)小時(shí),這樣才是北京時(shí)間,如果是自己的獨(dú)立服務(wù)器可以設(shè)置為北京時(shí)間,這里就不詳述了。
我們繼續(xù)查找Baiduspider可以看到baidu蜘蛛的爬行記錄。其他搜索引擎通過(guò)查找如Yahoo、Sogou、msnbot、YodaoBot… 比如我們新做了一個(gè)網(wǎng)站,也在百度和google中提交了,可是site站點(diǎn)的時(shí)候就是看不到收錄的頁(yè)面,這時(shí)我們就可以利用上面的方法查看一下IIS日志,只要百度和google等搜索引擎的蜘蛛已經(jīng)爬行過(guò)我們的站點(diǎn)了,我們就不用擔(dān)心網(wǎng)站的收錄問(wèn)題了,搜索引擎會(huì)慢慢的放出已經(jīng)抓取的頁(yè)面,站長(zhǎng)們繼續(xù)增加內(nèi)容就行了。通過(guò)此項(xiàng)查找還可以了解搜索引擎的到訪時(shí)間和抓取頁(yè)面的時(shí)間及頻率。
上面是通過(guò)IIS日志查看搜索引擎的爬行記錄,可能有人會(huì)問(wèn)了,為什么搜索引擎的爬行記錄不能被流量統(tǒng)計(jì)工具統(tǒng)計(jì)到?因?yàn)榱髁拷y(tǒng)計(jì)代碼是采用JS調(diào)用的方式,搜索引擎蜘蛛爬行時(shí)不會(huì)調(diào)用JS文件。我們可以自己寫(xiě)個(gè)流量統(tǒng)計(jì)功能,然后include流量統(tǒng)計(jì)功能的這個(gè)動(dòng)態(tài)頁(yè)面到各個(gè)頁(yè)面中,這樣所有對(duì)頁(yè)面的訪問(wèn)就都可以統(tǒng)計(jì)到了,并且通過(guò)agent參數(shù),可以判斷來(lái)自哪個(gè)搜索引擎,這里不再詳述。
第二,通過(guò)IIS日志查找網(wǎng)站是否存在死鏈接:在用ultraedit打開(kāi)的IIS日志文件中按CTRL+F鍵,在出現(xiàn)的窗口中,選中第一和第三個(gè)復(fù)選框,輸入404,然后按回車(chē),看看在彈出的窗口中有沒(méi)有找到記錄。如果找到,說(shuō)明你的網(wǎng)站存在死鏈接,大家都知道死鏈接對(duì)網(wǎng)站的收錄是有影響的,怎么去處理就不用我說(shuō)了吧。
下面是搜索404時(shí)我的網(wǎng)站IIS日志中出現(xiàn)的幾條記錄:
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.yajii.cn//web/column.asp?cid=1 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.yajii.cn/web/column.asp?cid=1 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.yajii.cn/web/column.asp?cid=1 404 0 1003
相信有經(jīng)驗(yàn)的站長(zhǎng)都明白了吧?這是有人在用一些漏洞掃描工具對(duì)網(wǎng)站進(jìn)行漏洞測(cè)試,看看有沒(méi)有漏洞,使用通用的CMS、DIG、BBS、BLOG系統(tǒng)的站長(zhǎng)可要注意了,你所用的網(wǎng)頁(yè)程序如果有漏洞,網(wǎng)站就會(huì)有被黑掉的危險(xiǎn)!
第三、通過(guò)IIS日志查找網(wǎng)站是否存在程序錯(cuò)誤:我們?cè)佥斎?00進(jìn)行查找,如果查找到相關(guān)頁(yè)面,說(shuō)明網(wǎng)站 的程序在運(yùn)行過(guò)程中出現(xiàn)了錯(cuò)誤,需要對(duì)程序進(jìn)行修改。
第四、通過(guò)IIS日志查找網(wǎng)站是否被入侵過(guò):通過(guò)IIS日志可以判斷網(wǎng)站是否曾被通過(guò)SQL注入過(guò),是怎樣被入侵的。在網(wǎng)站IIS日志我們搜索一下%20和’單引號(hào)(半角的),看看是否有相關(guān)的頁(yè)面存在,當(dāng)然不是所有包括%20和’的頁(yè)面都是被注入頁(yè)面,但一般的SQL注入都是通過(guò)%20(空格的ASC碼的16進(jìn)制值是20)和單引號(hào)進(jìn)行的。此方法可以判斷出程序上的漏洞,這樣我們可以修改程序防止SQL注入。我曾經(jīng)用這個(gè)辦法將網(wǎng)站被SQL注入的全過(guò)程及入侵的破壞程度進(jìn)行了解,然后修改了程序,防止了網(wǎng)站再次被入侵。
介紹以上幾點(diǎn),以供大家參考。
對(duì)于apache的日志,分析方法也類(lèi)似,F(xiàn)在有一些IIS日志分析軟件可以幫助我們分析出搜索引擎的到訪情況以及404錯(cuò)誤的網(wǎng)頁(yè),但對(duì)于通過(guò)網(wǎng)站漏洞被入侵的問(wèn)題只能靠我們手工查找了。