台灣最大程式設計社群網站
線上人數
1535
 
會員總數:246276
討論主題:189811
歡迎您免費加入會員
討論區列表 >> PHP >> 請問如何抓取檔案中的ip
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問如何抓取檔案中的ip
價值 : 20 QP  點閱數:1068 回應數:7
樓主

weiye
初學者
40 17
583 39
發送站內信

各位先進,目前我想抓取log檔的內容,再針對log進行分析動作,
目前,發現有人要進行連線測試帳號問題(非法使用者),
所以我想從log檔中直接找出這些非法的使用者,那我要如何抓取呢?

目前我已將log檔案抓出來,以陣列存在一行一行,下列兩行為舉列:
Oct 1 02:04:46 ns1 sshd[8675]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=123.123.123.123 user=xxxx
Oct 1 02:04:48 ns1 sshd[8675]: Failed password for root from 123.111.111.111 port 62511 ssh2 1

已發現123.111.111.111(舉列ip),那我要如何把這組ip抓取出呢?

搜尋相關Tags的文章: [ 抓ip ] , [ 取ip ] ,
本篇文章發表於2011-11-24 14:52
1樓
回應

ahsac
檢舉此回應
依照你描述的需求, 我個人會這樣處理:
1. 找出登入失敗的log
2. 依照空白切割欄位, 然後就可以找出特定欄位的資料, 這應該夠用了


本篇文章回覆於2011-11-24 15:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

weiye
檢舉此回應
ahsac 大大:
1. 找出登入失敗的log <=== 這我已經過濾出來了
2. 依照空白切割欄位, 然後就可以找出特定欄位的資料, 這應該夠用了
關於2的情況,我有想過,但我是使用explode來切,不過意思應該是一樣。
這樣就上列兩行列子確實可以成立,切出來的第11欄位置即是ip的位置,但我真實log內容有幾萬行,
過濾完後也還有幾千行,用切空白的情況,ip位置改變,印出來的資料即不相同了,
是可以再使用正規化情況去判斷每一個陣位欄位中資料,何者為正確ip。
但不知道是否還有其他方式可以直接找出ip位置,或者是php有沒有相對應的函式可使用。

但在此非常謝謝ahsac 大大,呵!也表示我一開始的想法也算是有通吧!
本篇文章回覆於2011-11-24 16:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應

這段正則給你吧。可以找出字串中可能是IP的字串出來。第三個參數就是給你處理如果一次載入全篇字串用時的測試。
本篇文章回覆於2011-11-24 18:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
補充一下:

依照上面的程式,如果是依照第三個$data的值。(也就是有兩個IP)
其帶出來的值就是

其中的第$test[0]項就是你要的所有的可能性IP了。剩下的你是可以勿略。也可以拿來做特殊的應用。因為[1]~[4]就是屬於IP各區段的值。
可以拿來做分析用。如果是被攻擊的情況。可以拿來統計各區段的出現比例。
本篇文章回覆於2011-11-24 19:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

ahsac
檢舉此回應
oh, 我誤會你原本意思了
我一開始以為你只要取出第二行那種格式的紀錄裡面的ip

平常我很愛用正則表達式, 但log分析時除外
因為有一次要分析公司server上的紀錄, 一天少說兩億多筆, 用正則表達式跑完一次都半天過去了
或許你目前沒處理到這麼多, 就當經驗分享吧
所以現在處理log我會先把好處理的格式用空白分隔, 剩下的空格位置不定的, 再交給正則表達式


但我的作法就沒辦法像樓上這樣還能幫你把ip段切好嘍
我也偷學起來了 :)
本篇文章回覆於2011-11-24 20:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

weiye
檢舉此回應
在這邊非常感謝浩瀚星空版主,當然也非常謝謝ahsac大大,
在這邊真的讓我受益良多。
我一開始的想法和ahsac大大差不多,當然我的寫法沒辦法像你這麼漂亮,
至於版主的方式,正是我想學習的,真的很感謝兩位,讓我又學到不少。

ps 這不是我的工作或作業,只是上課聽到老師提過log檔分析,我就心血來潮,
想說能不能用php來做一個log分析試試,感謝兩位的協助。
本篇文章回覆於2011-11-25 13:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
不用客氣,這些資源都是早期在學正則時留下來的。還有身份証、EMAIL....

說真的我正則也是還在學習中。
本篇文章回覆於2011-11-25 14:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.