我需要分析一個系統日誌。我被告知我應該拆分一個列表,然後遍歷它來查找一個IP地址。這是日誌的一小部分。有重複的條目,因此我只能注意到包含單詞「從根失效密碼」的行。Python - 分割一個列表,然後循環查找一個IP地址
Jan 10 09:32:07 j4-be03 sshd[3876]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.241.173.35 user=root
Jan 10 09:32:09 j4-be03 sshd[3876]: Failed password for root from 218.241.173.35 port 47084 ssh2
Jan 10 09:32:17 j4-be03 sshd[3879]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.241.173.35 user=root
Jan 10 09:32:19 j4-be03 sshd[3879]: Failed password for root from 218.241.173.35 port 47901 ssh2
Jan 10 09:32:26 j4-be03 sshd[3881]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.241.173.35 user=root
Jan 10 09:32:29 j4-be03 sshd[3881]: Failed password for root from 218.241.173.35 port 48652 ssh2
這是我的代碼到目前爲止,還有一些僞代碼。
f=open('auth','r')
count=0
for line in f:
if "failed password for root from" in line:
count +=1
if count>=13:
take the ip address, remove duplicates and print the address
如果有從一個IP地址13次或更多的嘗試這個地址必須被添加到一個文件中。我知道如何寫一個新文件,但是如果可能的話,一個小例子會很方便。我所熟悉的.append
你可以使用正則表達式? – 2012-03-11 00:19:17
不,我沒有正則表達式的經驗對不起 – bigl 2012-03-11 00:25:49