我從txt格式防火牆日誌文件的輸出,例如:加入多個正則表達式
src=10.10.10.1 srcPort=15003 dst=20.20.20.1 service=443 host=FirewalName proto=tcp
src=30.30.30.1 srcPort=18003 dst=40.40.40.1 service=8080 host=FirewalName proto=tcp
我的正則表達式內置提取我需要的信息(SRC,DST,服務),但我需要能夠加入正則表達式的輸出,並將輸出寫入文件,並在每個服務=對象之前使用「TCP」選項卡,對於日誌文件中的每一行,輸出到新文件看起來像:
10.10.10.1 20.20.20.1 TCP 443
30.30.30.1 40.40.40.1 TCP 8080
此外,我需要能夠區分之間烯在服務「TCP
」和「UDP
」 =輸入文件,的一部分。這樣,所寫入輸出文件是例如正確:如果輸入文件的第三行是:
src=50.50.50.1 srcPort=21003 dst=60.60.60.1 service=161 host=FirewalName proto=udp
我我被困在這裏,需要幫助。
import re
import sys
with open("SFD-IPs.txt", "r") as file:
text = file.read()
sources = re.findall(r'src=(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', text)
dest = re.findall(r'dst=(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', text)
service = re.findall(r'service=(\d+)', text)
with open("output.txt", "w") as TufinReq:
TufinReq.write(sIP)
f=open("output.txt", "r")
del_list = ["src=", "dst=", "service="]
list = []
for line in f:
for word in del_list:
if word in line:
line = line.replace(word, "")
list.append(line)
f.close()
f=open("output.txt", "w+")
for line in list:
f.write(line)
f.close()
不要忘記去接受它:) – ettanany