2013-11-28 131 views
0

我想盡量減少iptables日誌,但我不知道如何。我閱讀了一些關於grep,cut和awk的教程。但我仍然無能爲力。我想獲得像SRC=192.168.1.6 DST=192.168.1.2 PROTO=TCP SYN的結果。Iptables日誌輸出清理

這是如何從原始日誌樣子2包:

<4>[1133131.431453] [IPT IN START] IN=wlan0 OUT= MAC=08:60:6e:a5:bc:0b:00:16:cf:b9:08:2c:08:00:45:00:00:2c:51:56:00:00:3 
    8:06:ae:1d:c0:a8:01:06:c0:a8:01:02:f8:a4:08:01:f2:0e:30:9c:00:00:00:00:60:02:04:00:ed:7c:00:00:02:04:05:b4:00:00:00:00:0 
    0:00:00:00 SRC=192.168.1.6 DST=192.168.1.2 LEN=44 TOS=0x00 PREC=0x00 TTL=56 ID=20822 PROTO=TCP SPT=63652 DPT=2049 WINDOW 
    =1024 RES=0x00 SYN URGP=0 

<4>[1133131.440239] [IPT IN START] IN=wlan0 OUT= MAC=08:60:6e:a5:bc:0b:00:16:cf:b9:08:2c:08:00:45:00:00:2c:48:6d:00:00:3 
    4:06:bb:06:c0:a8:01:06:c0:a8:01:02:f8:a4:04:42:f2:0e:30:9c:00:00:00:00:60:02:04:00:f1:3b:00:00:02:04:05:b4:00:00:00:00:0 
    0:00:00:00 SRC=192.168.1.6 DST=192.168.1.2 LEN=44 TOS=0x00 PREC=0x00 TTL=52 ID=18541 PROTO=TCP SPT=63652 DPT=1090 WINDOW 
    =1024 RES=0x00 SYN URGP=0 

這是我已經試過:fgrep '[IPT IN ' /proc/kmsg |cut -d" " -f1-4,9,13,14,21,22,23,26

,那就是結果:

<4>[1132271.745701] [IPT IN START] DST=192.168.1.2 TTL=45 ID=30608 
<4>[1132271.747764] [IPT IN START] DST=192.168.1.2 TTL=54 ID=63992 
<4>[1132271.751983] [IPT IN START] DST=192.168.1.2 TTL=52 ID=4162 

順便說一句,我嘗試了更多的選擇,但是這是唯一一個返回了一些結果的選項。

在此先感謝。

p.s這些是iptables_arm,我正在試用我的平板電腦。我試圖從我的android程序中讀取這些結果,以便捕獲從我的筆記本電腦啓動的portscan。

回答

0

我會只用awk和計數空格分隔欄,我想:

grep的 「IPT IN」 的/ proc/kmsg | AWK '{打印$ 1 $ 2 $ XY1 $ XY2 $ XY3}'

的xy1,2,3部件必須由列的具體數量進行更換你想;-)

+0

** grep'IPT IN'/ proc/kmsg | awk'{print $ 8,$ 9,$ 15,$ 17}'** 完美地工作..謝謝先生:) –

+0

沒問題,如果它對你有效,你可以接受答案;-) – cptPH

0

我創建一個簡單的日誌文件,實時,這裏是如何做到這一點:

tail --follow=name /var/log/yourLogfile | awk '{print $8,$9,$15,$17 | "tee /var/log/newlog"}' & 

這將創建一個新的日誌文件/var/log/newlog與你喜歡它的數據。