1
我使用tcpdump来嗅探我的netwrok数据包,并且我想从存储的文件中获取一些信息。我的文件在语法上有2个分隔的行,但它们重复了很多次。在python中使用readline()从正则表达式获取一些子字符串
23:30:43.170344 IP (tos 0x0, ttl 64, id 55731, offset 0, flags [DF], proto TCP (6), length 443)
192.168.98.138.49341 > 201.20.49.239.80: Flags [P.], seq 562034569:562034972, ack 364925832, win 5840, length 403
我想时间戳(23:30:43.170344)和ID(编号55731)和偏移(23:30:43.170344)从第一行(全部行这样对我文件)。并存储在不同的列表中。
和得到2 分隔的IP(192.168.98.138.49341和201.20.49.239.80)和SEQ(SEQ 562034569:562034972)和ACK(ACK 364925832)从第二(所有线这样上我的文件)行和存储在不同的列表中。
如果可以用正则表达式做到这一点,那对我更好。
坦的回答却怎么也告诉Python做这只是我的奇数或偶数行。我也喜欢(id 55731)和(偏移0),我怎样才能为第二行写正则表达式? – Am1rr3zA 2010-11-03 08:35:04
@ Am1rr3zA:将每一行与编译后的正则表达式对象进行匹配。如果该行不匹配,则不返回,否则返回可从中提取信息的匹配对象。 – pyfunc 2010-11-03 08:37:12