最近更新文章
2017/11/21
偵測、鑑識、回應兼備 端點安全更上層樓
2017/11/21
四個開源大數據工具 打造超高速輿情監控系統
2017/11/20
VMware協助台灣託管服務商轉型並交付新型服務
2017/11/20
打造私有雲協作平台 重新定義工作型態
2017/11/20
虛擬桌面VMware再出招 新版Horizon 7.2大提升
2017/11/19
Pure Storage 推出全新SAP自動化拷貝工具(CAT)
2017/11/17
打造智慧工廠 IPC大廠分享實戰經驗
2017/11/17
跨雲時代的轉型秘訣
2017/11/17
行為鑑識搭配防毒引擎 提升端點偵測效率
2017/11/16
威聯通科技引領雲端風潮 整合高速運算啟動AI應用
2017/11/16
Juniper Networks協助國立暨南國際大學擴充校園核心網路
2017/11/16
EDR跨足次世代防毒 挺進端點保護平台市場
2017/11/15
台灣駭客隊伍數破新高,全球駭客12月來台爭冠
2017/11/15
趨勢科技獲 2017 NSS Labs 評測,入侵偵測率的完美成績
2017/11/15
紅帽與阿里雲攜手 運用開放原始碼技術帶來更高靈活性
2017/11/15
team+攜手VMware 打造俱行動安全管理的企業協作平台
2017/11/15
多功能工作站 設備擴充好利害
2017/11/15
SAP協助如興進行數位轉型
2017/11/15
英特爾首款桌上型電腦與工作站專用Optane固態硬碟
2017/11/15
曜越全新數位監控軟體 雲端智慧電源管理平台
2017/11/15
達友科技、中華電信與Carbon Black聯手打造最強資安艦隊!
2017/11/15
VMware結合凌華科技提出預先整合式物聯網方案
將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2017/3/23

詳述常見狀態碼及存取方式 透過asql工具解讀Log

用SQL指令分析網站日誌 輕鬆掌握主機運作狀況

吳惠麟
asql是一種文字型的解析工具,可以協助管理員從Apache網站伺服器內龐雜的Log記錄堆中找出有用的資訊,例如可以揪出不請自來的惡意攻擊,提早做出防範或補救措施。
網站管理者的職責,除了維護網站伺服器順暢外,另一個相當重要的日常工作就是定時地查看網站伺服器的Log記錄。從Log記錄中可以得知網站更多詳盡的資訊(甚至可從中看出是否曾遭遇惡意的攻擊),但相信大部分的網站管理者都不會想要去查看網站的Log記錄,原因是隱藏在檔案中的Log記錄,如果沒有一套適當方法解析,是很難從中看出端倪的。

對此,這裡將介紹一套文字型的解析工具asql(官方網址為http://www.steve.org.uk/Software/asql/),可允許使用者以資料庫的方法利用SQL指令來解析Apache網站伺服器所產生的Log記錄。

什麼是asql

asql是一套以Perl語言所寫成的工具,可讓使用者以SQL指令解析Apache所產生的網站Log。在安裝asql軟體之前,必須先行安裝所需要的套件,以下示範所需的執行步驟,這裡以Centos 7為例。

首先安裝SQLite相關軟體。asql會將Log記錄暫存於Berkeley DB中,Berkeley DB是一種資料庫軟體:




然後安裝Readline套件,提供使用者在asql的環境中可利用方向鍵來重現之前所執行命令的功能:




緊接著執行如下的指令,下載Perl版本的Readline套件:




隨即解壓縮,然後執行組態、編譯以及安裝程序:




在安裝好所需的套件後,可至asql官方網站(http://www.steve.org.uk/Software/asql/)下載最新版本的asql(本文所使用的版本為1.7)。在解壓縮後,直接執行如下指令:




在編譯成功後,即會產生名稱為「asql」的主要執行檔。

在此要特別說明的一點是,asql官方網站上的文件說明了1.7版所能夠解析的Apache Log記錄為common格式的記錄(Log),但經過筆者實際測試,結果卻發現其程式碼所能解析的格式應為combined格式。可以檢查httpd.conf,確認所記錄的格式為combined或common格式,如圖1所示。


▲圖1 確認自身所記錄的格式是combined或common格式。


一般Apache所預設的記錄Log格式為common格式,如果未曾手動更改記錄格式,即應為common格式。如果想要解析common格式的記錄時,可直接更改asql的程式碼,如圖2所示,更改$parse_combined的正規表示法(Regular Expression),使其符合common格式。


▲圖2 修改asql的程式碼。


在測試過程中,筆者也發現,此版本的asql無法解析到Log記錄中的HTTP存取方法(Method),可以更改程式碼來取得方法的資訊,修改資訊如圖3所示(新增$method)。


▲圖3 更改程式碼來取得方法的資訊。


接著,繼續找到如圖4的程式碼,將$protocol改為$method。


▲圖4 將$protocol改為$method。


在完成修改後,執行「asql」即可進入asql的工作環境,可利用「help」指令來顯示所支援的指令(圖5)。

這篇文章讓你覺得滿意不滿意
送出
相關文章
為資料科學家搭建有效率的分析環境
防止慢速型DoS拖垮網站 對症下藥阻Slowris攻擊
用快取模組優化Apache 輕鬆增進網頁傳輸效率
從監視運行到調校參數 優化IIS網站效能
NEC開發高速分析超大規模資料的「分散版異種混合機械學習」
留言
顯示暱稱:
留言內容:
送出