2011-03-26 47 views
0

我不是一個腳本專家,我有一個小的需求來分析Windows安全事件日誌的防火牆流量。LogParser - 事件日誌數據值替換

爲此,我已經開始關注LogParser,它似乎完成了我需要的所有工作,但是我在處理如何將某些從日誌中提取的值替換爲更具可讀性的問題上遇到了一些麻煩。

我的劇本是很簡單的:

SELECT 
TimeGenerated AS Time, 
EventTypeName AS Event, 
EXTRACT_TOKEN(Strings, 0,'|') AS ProcessID, 
EXTRACT_TOKEN(Strings, 1,'|') AS Process, 
EXTRACT_TOKEN(Strings, 7,'|') AS Protocol, 
EXTRACT_TOKEN(Strings, 2,'|') AS Direction, 
EXTRACT_TOKEN(Strings, 3,'|') AS SourceAddress, 
EXTRACT_TOKEN(Strings, 4,'|') AS SourcePort, 
EXTRACT_TOKEN(Strings, 5,'|') AS DestinationAddress, 
EXTRACT_TOKEN(Strings, 6,'|') AS DestinationPort 
FROM Security 
WHERE EventID IN (5152; 5153; 5154; 5155; 5156; 5157; 5158) 

雖然這會產生我感興趣的信息,我想,如果可能的話,改變輸出。對於exampleThe '過程' 列輸出是:

\設備\ harddiskvolume2 \ APPS \ Mozilla瀏覽器\ FX-4 \ firefox.exe

我真正喜歡的是隻顯示進程名稱,不路徑。同樣,「協議」列也只顯示數字協議值。我更喜歡讓它顯示'實際'協議。

最後,「方向」列顯示數值%% 14592和%% 14593,我更願意分別看到「入」和「出」。

如果有人能幫忙,我會很感激。

感謝

回答

0

爲了您的文件名的問題,請問 EXTRACT_FILENAME(EXTRACT_TOKEN(字符串,1, '|'))AS爲您處理 工作?

爲其他其他的問題,怎麼樣:

CASE EXTRACT_TOKEN(絃樂,2, '|')在 '%% 14592',那麼 'IN' ELSE 'OUT' END爲導向