當前位置

首頁 > 語文基礎 > 日誌 > 虛擬主機cPanel面板怎麼查看服務器的訪問日誌

虛擬主機cPanel面板怎麼查看服務器的訪問日誌

推薦人: 來源: 閱讀: 3.57W 次

相信大家都在自己的網站上安裝了網站統計的代碼,如Google analytics、量子統計、百度統計、cnzz、等,這些工具可以統計網站的流量,也就是網站上訪客可看到的所有頁面的訪問量,但是這些統計工具都不能統計你主機上資源的原始訪問信息,例如某個圖片被誰下載了。

虛擬主機cPanel面板怎麼查看服務器的訪問日誌

絕大多數收費主機都提供原始訪問日誌(Raw Access Log),網站服務器會把每一個訪客來訪時的一些信息自動記錄下來,保存在原始訪問日誌文件中,如果你的主機不提供日誌功能,建議你到期後還是換主機吧。日誌中記錄了網站上所有資源的訪問信息,包括圖片、CSS、JS、FLASH、HTML、MP3等所有網頁打開過程載入的資源,同時記錄了這些資源都被誰訪問了、用什麼來訪問以及訪問的結果是什麼等等,可以說原始訪問日誌記錄了主機的所有資源使用情況。

如果你的網站遭到了攻擊、非法盜鏈和不良請求等,通過分析原始訪問日誌能大概分析出端倪來,例如:今年年初我往我的主機上傳了一個mp3,不幸被百度mp3收錄,引來大量的盜鏈,導致我的主機流量猛增,雖然這對我並無大礙,但是心裏不爽!通過分析日誌,我找出了問題根源,刪除了那個mp3,主機流量也降下來了。

不同主機使用的面板不太一樣,所以查看原始訪問日誌的方法也不太一樣,但是日誌記錄的格式都是一樣的,具體查看原始訪問日誌的方法請諮詢相關主機客服。下面是cPanel面板,通過點擊紅色方框中的按鈕,接着選擇你的網站域名,即可下載原始訪問日誌,使用文本編輯器打開即可查看:

  原始訪問日誌每一行就是類似以下的記錄:

- - [04/Mar/2001:11:47:26 -0600] "GET / HTTP/1.1" 200 13947 "" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"

  下面我們來說說這一行記錄的意思:

這是訪客(也可能是機器人)的IP

[04/Mar/2001:11:47:26 -0600]

這是訪客訪問該資源的時間(Date),-0600是該時間所對應的時區,即與格林威治時間相差-6個小時

GET / HTTP/1.1

請求信息,包括請求方式、所請求的資源以及所使用的協議,該語句的意思就是以GET方式,按照HTTP/1.1協議獲取網頁/,爲網站上的某個網頁。

200 13947

200爲該請求返回的狀態碼(Http Code),不同的狀態碼代表不同的意思,具體請閱讀 HTTP 狀態代碼;13947爲此次請求所耗費的流量(Size in Bytes),單位爲byte

爲訪客來源(Referer)。這一段是告訴我們訪客是從哪裏來到這一個網頁。有可能是你的網站其他頁,有可能是來自搜索引擎的`搜索頁等。通過這條來源信息,你可以揪出盜鏈者的網頁。

Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)

爲訪客所使用的瀏覽器類型(Agent),這裏記錄了用戶使用的操作系統、瀏覽器型號等

看了以上說明,可能你也大概知道每一行記錄到底記錄了一些什麼東西,可以開始獨立分析你的網站原始訪問日誌了,但是叫你直接看這些雜亂的日誌,相信你會很抓狂,不願意幹。cPanle面板中的“Latest Visitors”提供一種格式化後日志查看方式,看起來比較舒服一些:

上圖中Host: 爲訪客的IP,可看出該訪客在當前時間段發起了三個請求,對應原始訪問日誌中的3行記錄,紅色標出的部分爲訪客請求的資源(也就是訪客流量的網頁等),其他部分參見以上說明。“Latest Visitors”中只能顯示最近300個IP的訪問信息,這裏我寫了一個原始訪問日誌的格式化工具,可將原始訪問日誌格式化成上圖所示格式,方便閱讀,工具地址:

  以上介紹瞭如何查看原始訪問日誌,現在我們來談談如何分析日誌中的內容:

  1、注意那些被頻繁訪問的資源

如果在日誌中,你發現某個資源(網頁、圖片和mp3等)被人頻繁訪問,那你應該注意該資源被用於何處了!如果這些請求的來源(Referer)不是你的網站或者爲空,且狀態碼(Http Code)爲200,說明你的這些資源很可能被人盜鏈了,通過 Referer 你可以查出盜鏈者的網址,這可能就是你的網站流量暴增的原因,你應該做好防盜鏈了。請看下圖,我網站上的3這個文件就被人頻繁的訪問了,下圖還只是日誌的一部分,這人極其險惡,由於我早已將該文件刪除,它遲遲要不到3,在短短一個小時內對3發起了不下百次的請求,見我設置了防盜鏈就僞造來源Referer和Agent,還不斷地更換IP,很可惜它做得都是無用功,根本沒有這個文件,請求的狀態碼Http Code都是403或者404

  2、注意那些你網站上不存在資源的請求

例如下圖的4個請求信息。/admin/editor/db/等幾個資源都是不是本站的資源,所以Http Code不是403就是404,但從名稱分析,可能是保存數據庫信息的文件,如果這些信息讓別人拿走,那麼攻擊你的網站就輕鬆多了。發起這些請求的目的無非就是掃描你的網站漏洞,通過漫無目的地掃描下載這些已知的漏洞文件,很可能會發現你的網站某個漏洞哦!通過觀察,可以發現,這些請求所使用的Agent差不多都是Mozilla/4.0、Mozilla/5.0或者libwww-perl/等等非常規的瀏覽器類型,以上我提供的日誌格式化工具已經集成了對這些請求的警報功能。我們可以通過禁止這些Agent的訪問,來達到防止被掃描的目的,具體方法下面再介紹。

常見的掃描式攻擊還包括傳遞惡意參數等:

//

/?_SERVERDOCUMENT_ROOT=?

  3、觀察搜索引擎蜘蛛的來訪情況

通過觀察日誌中的信息,你可以看出你的網站被蜘蛛訪問的頻率,進而可以看出你的網站是否被搜索引擎青睞,這些都是SEO所關心的問題吧。日誌格式化工具已經集成了對搜索引擎蜘蛛的提示功能。常見搜索引擎的蜘蛛所使用的Agent列表如下:

Google蜘蛛

Mozilla/5.0 (compatible; Googlebot/2.1; +)

Baidu蜘蛛

Baiduspider+(+)

Yahoo!蜘蛛

Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; )

Yahoo!中國蜘蛛

Mozilla/5.0 (compatible; Yahoo! Slurp China; )

微軟Bing蜘蛛

msnbot/2.0b (+)

Google Adsense蜘蛛

Mediapartners-Google

有道蜘蛛

Mozilla/5.0 (compatible; YoudaoBot/1.0; ; )

Soso搜搜博客蜘蛛

Sosoblogspider+(+)

Sogou搜狗蜘蛛

Sogou web spider/4.0(+#07)

Twiceler爬蟲程序

Mozilla/5.0 (Twiceler-0.9 )’

Google圖片搜索蜘蛛

Googlebot-Image/1.0

俄羅斯Yandex搜索引擎蜘蛛

Yandex/1.01.001 (compatible; Win16; I)

Alexa蜘蛛

ia_archiver (+; )

Feedsky蜘蛛

Mozilla 5.0 (compatible; Feedsky crawler /1.0; )

韓國Yeti蜘蛛

Yeti/1.0 (NHN Corp.; )

  4、觀察訪客行爲

通過查看格式化後的日誌,可以查看跟蹤某個IP在某個時間段的一系列訪問行爲,單個IP的訪問記錄越多,說明你的網站PV高,用戶粘性好;如果單個IP的訪問記錄希希,你應該考慮如何將你的網站內容做得更加吸引人了。通過分析訪客的行爲,可以爲你的網站建設提供有力的參考,哪些內容好,哪些內容不好,確定網站的發展方向;通過分析訪客的行爲,看看他們都幹了些什麼事,可以揣測訪客的用意,及時揪出惡意用戶。

以上只是我個人總結出來的一些小技巧,可以簡單的分析你的日誌內容,畢竟我個人見識還是比較短淺,還不能全面地進行日誌分析。在cPanel主機控制面板中,還提供了awstats和webalizer兩個日誌分析工具,它們都是以原始訪問日誌爲基礎進行分析,功能強大且豐富,你可以一試,不懂的可以諮詢主機客服。

  應敵之策

上面說了如何分析你的日誌,下面我們來講講如何禦敵於前千里之外。我們這裏以Linux主機的cess編寫爲例來講解如何防範惡意請求。

  1、封殺某個IP

如果你不想讓某個IP來訪問你的網站,可以將其封殺。封殺防範有二:其一,在cPanel面板中有個Security – IP Deny Manager,點擊進去填上要封殺的IP即可;其二,在cess中加入以下語句,即可封殺這兩個IP 、,以及123.165.55這個IP段,多個同理:

deny from

deny from

deny from 123.165.55

  2、封殺某個瀏覽器類型(Agent)

通常情況下,如果是使用機器人來掃描或者惡意下載你的網站資源,它們使用的Agent差不多都是一個類型,例如我上面所說的Mozilla/4.0、Mozilla/5.0或者libwww-perl/等。你可以封殺某個Agent,來達到防範攻擊的目的。在cess中添加以下規則:

SetEnvIfNoCase User-Agent ".*Firefox/3.6.3.*" bad_agent

Order Allow,Deny

Allow from all

Deny from env=bad_agent

以上規則封殺了Agent中含有Firefox/3.6.3的來源,也就是包括以下例子的Agent將無法訪問你的網站:

Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:) Gecko/20100401 Firefox/3.6.3

以上只是個例子,切不可用於你的網站,否則使用Firefox 3.6.3的用戶就不可以訪問你的網站了,訪問結果Http Code都是403,他們看到都是403頁面,也就是禁止訪問頁面。這裏讓我來教你如何編寫封殺的規則,以上語句SetEnvIfNoCase User-Agent ".*Firefox/3.6.3.*" bad_agent指定了要封殺的規則,核心語句 ".*Firefox/3.6.3.*" 用於匹配含有 Firefox/3.6.3 的來源,寫法見正則表達式的寫法,這裏給出幾個正則例子,你可以套用:

通過上表,你差不多也知道了個大概,在正則式子中,所有點 . 一概寫成 . ; ^用於匹配開頭, $用於匹配結尾;.* 用於匹配任意長度的字符(包括長度爲0的),下面是一個完整例子,你可以套用,相信你也可以寫出自己的規則:

## Block Bad Bots by user-Agent

SetEnvIfNoCase User-Agent "^libwww-perl" bad_agent

SetEnvIfNoCase User-Agent "^Mozilla/4.0$" bad_agent

SetEnvIfNoCase User-Agent "^Mozilla/5.0$" bad_agent

SetEnvIfNoCase User-Agent "^$" bad_bot

Order Allow,Deny

Allow from all

Deny from env=bad_bot

  3、封殺某個來源(Referer)

如果某個網站頻繁地對你網站進行盜鏈,且不聽勸,那你可以通過禁止它的Referer,來達到防盜鏈目的,下面舉個例子來禁止這個網站對你網站的盜鏈,正則的編寫跟上面的無異,在cess中添加以下規則:

SetEnvIf Referer "^" bad_referer

Order Allow,Deny

Allow from all

Deny from env=bad_referer

  4、防盜鏈

通過對來源(Referer)的判斷,使用以下代碼可以達到簡單的防盜鏈。以下列出的網址,允許訪問你網站上後綴名爲jpg|gif|png|css|js|bmp|mp3|wma|swf的文件,其餘網站全部禁止訪問這些文件,正則的寫法與上面說的相同,你可以將其中的域名稍作更改,然後應用於你的網站,在cess中添加以下規則:

SetEnvIf Referer "^" local_referer

SetEnvIf Referer "^" local_referer

# 將以下語句中的 # 去除,即可允許Referer爲空的請求,一般設置允許爲好

# SetEnvIf Referer "^$" local_referer

Order Deny,Allow

Deny from all

Allow from env=local_referer

  5、文件重命名

即使你網站上的資源被人盜鏈了,通過文件重命名,同樣可以達到防盜鏈的目的,畢竟盜鏈者不知道你改了文件名,它也不會整天監視你的文件。

  總結

不管怎麼說,有防的就有攻,攻防永遠都是一對冤家,這樣的拉鋸永遠都不會終止。以上介紹的方法只能達到簡單防範的目的,如果有人有意要攻擊你的網站,那點東西起不了太大作用,我們只能根據敵手出的招,見招拆招才能免於不測,這樣的能力,還需各位站長慢慢學習積累,畢竟做個網站也不是那麼簡單的。