所以我打开了我的文件并使用readlines()模块将每一行拆分成一个列表,但我试图从readlines()中获取每个源IP,src端口,dest IP和dest端口。基本上我被要求做的是:"打开提供的转储文件并拆分src和dest IP以及src和dest端口"的每一行。此外,"创建一个名为Hosts的字典;主机的密钥将是从文件解析的IP(src和dest)。每个键的值将是一个两元素列表,其中第一个项目是IP是源的次数,秒是IP是目标的次数"。
以下是已解析文件的一部分......
08:43:56.558781 IP 192.168.233.128.56779 > 50.116.53.73.80: Flags [S], seq 3055452145, win 29200, options [mss 1460,sackOK,TS val 82505 ecr 0,nop,wscale 10], length 0
08:43:56.592590 IP 50.116.53.73.80 > 192.168.233.128.56779: Flags [S.], seq 1586785220, ack 3055452146, win 64240, options [mss 1460], length 0
08:43:56.592688 IP 192.168.233.128.56779 > 50.116.53.73.80: Flags [.], ack 1, win 29200, length 0
08:43:56.700460 IP 192.168.233.128.56779 > 50.116.53.73.80: Flags [P.], seq 1:300, ack 1, win 29200, length 299
08:43:56.701082 IP 50.116.53.73.80 > 192.168.233.128.56779: Flags [.], ack 300, win 64240, length 0
08:43:57.034951 IP 50.116.53.73.80 > 192.168.233.128.56779: Flags [P.], seq 1:1395, ack 300, win 64240, length 1394
08:43:57.034976 IP 192.168.233.128.56779 > 50.116.53.73.80: Flags [.], ack 1395, win 32062, length 0
08:43:57.118796 IP 192.168.233.128.56780 > 50.116.53.73.80: Flags [S], seq 3778524509, win 29200, options [mss 1460,sackOK,TS val 82645 ecr 0,nop,wscale 10], length 0
仅供参考,文件的格式如下:
IP(source.Sourceport)> (dest.Destport)
这是我到目前为止所做的:
import os
while True:
try:
f = open(os.path.expanduser("~/Documents/Pys/ascii_dump.txt"))
print ("It Opened!")
break
except:
print ("Cannot Open!")
break
lines = f.readlines()
UPDATE 现在我正在寻找将一个字符串(一行)拆分为另一个字符的最佳方法。所以说把它分成一个":"到下一个":"。
答案 0 :(得分:0)
我认为您需要查看字符串的拆分方法
f = open('data.txt', 'r')
lines = f.read()
lines = lines.split("\n")
print(lines)
for line in lines:
line = line.split()
if len(line) > 0:
srcIp = line[2]
dstIp = line[4]
print(srcIp.split('.'),dstIp.split('.'))
给出:
['192', '168', '233', '128', '56779'] ['50', '116', '53', '73', '80:']
['50', '116', '53', '73', '80'] ['192', '168', '233', '128', '56779:']
['192', '168', '233', '128', '56779'] ['50', '116', '53', '73', '80:']
['192', '168', '233', '128', '56779'] ['50', '116', '53', '73', '80:']
['50', '116', '53', '73', '80'] ['192', '168', '233', '128', '56779:']
['50', '116', '53', '73', '80'] ['192', '168', '233', '128', '56779:']
['192', '168', '233', '128', '56779'] ['50', '116', '53', '73', '80:']
['192', '168', '233', '128', '56780'] ['50', '116', '53', '73', '80:']