Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- with open('application.txt', 'r') as f:
- info_dict = []
- string_list = []
- for line in f.readlines():
- if line is not None:
- string_list.append(line.strip('\n'))
- string = ' '.join(string_list)
- # r = '?(session: id (\d+),.*life (\d+),.*flow0\(*\):.*:(\d+)->.*tcp-state ([A-Z]{6,11}) flow1\(*\):.* tcp-state ([A-Z]{6,11})$)'
- #
- # pattern = re.compile(r)
- # matchs = pattern.split(string)
- pattern = re.compile('session')
- matchs = pattern.split(string)
- for item in matchs:
- str_item = 'session' + item
- session_id = re.findall('session: id (\d+)', str_item)
- life = re.findall('life (\d+)', str_item)
- src_port = re.findall('flow0\(.*\):.*:(\d+)', str_item)
- flow0_state = re.findall('flow0\(.*\):.*tcp-state ([A-Z]{6,12})\s+flow1', str_item)
- flow1_state = re.findall('flow1\(.*\):.*tcp-state ([A-Z]{6,12})', str_item)
- if len(session_id) != 0:
- if len(flow0_state) == 0:
- flow0_state = ['null']
- if len(flow1_state) == 0:
- flow1_state = ['null']
- item_dict = {
- 'session id': session_id[0],
- 'life': life[0],
- 'session_src_port': src_port[0],
- 'flow0_state': flow0_state[0],
- 'flow1_state': flow1_state[0]
- }
- info_dict.append(item_dict)
- print(info_dict)
- """
- 实例文本:
- session: id 84865, proto 6, flag 100000, flag1 20000, created 649662, life 150, policy 85,app 4(FTP) flag 0x0, auth_user_id 0, reverse_auth_user_id 0
- Atomic_flag 0x80004, VR trust-vr, send_packets 0, send_bytes 0, receive_packets 0, receive_bytes 0
- snat_rule_id 0, dnat_rule_id 0
- fast_forward No, state VALID, can_do_fwd 0, delay_fwd_flag 0x0, anchor_iocpu_flow0(0) flow1(0)
- flow0_mac valid(8478.ac09.9143), flow1_mac valid(0000.0c07.ac00)
- flow0(69(aggregate2)/40300b10): 40.37.16.127:62044->40.2.214.139:21 , tunnel_id 0, tcp-state CLOSED
- flow1(68(aggregate1)/300b10): 40.2.214.139:21->40.37.16.127:62044 , tunnel_id 0, tcp-state ESTABLISHED
- session: id 7443, proto 17, flag 104000, flag1 0, flag2 40000000, flag3 0, created 48218, life 39, policy 1,app 2(UDP-ANY) cand 49 flag 0x0, auth_user_id 0, reverse_auth_user_id 0
- Atomic_flag 0x0, VR: trust-vr, send_packets 1, send_bytes 71, receive_packets 0, receive_bytes 0
- snat_rule_id 0, dnat_rule_id 0
- vs_id 0, sp_id 0, rs_id 0
- fast forward No, state VALID, can_do_fwd 0, delay_fwd_flag 0x0, anchor_iocpu_flow0 0, anchor_iocpu_flow1 0
- flow0 mac invalid(0000.0000.0000), flow1 mac valid(0835.7103.b679)
- flow0(32(ethernet0/0)/400910): 192.11.97.97:23258->192.97.11.11:3027 , tunnel_id 0
- flow1(33(ethernet0/1)/40600910): 192.97.11.11:3027->192.11.97.97:23258 , tunnel_id 0
- session: id 12458, proto 6, flag 104000, flag1 100000, flag2 40000000, flag3 0, created 48221, life 1782, policy 1,app 4582(Sina) flag 0x0, auth_user_id 0, reverse_auth_user_id 0
- Atomic_flag 0x0, VR: trust-vr, send_packets 5, send_bytes 1351, receive_packets 0, receive_bytes 0
- snat_rule_id 0, dnat_rule_id 0
- vs_id 0, sp_id 0, rs_id 0
- fast forward No, state VALID, can_do_fwd 0, delay_fwd_flag 0x0, anchor_iocpu_flow0 0, anchor_iocpu_flow1 0
- flow0 mac invalid(0000.0000.0000), flow1 mac valid(0835.7103.b679)
- flow0(32(ethernet0/0)/c00a10): 192.11.97.97:55004->192.97.11.11:80 , tunnel_id 0, tcp-state FIN_SENT
- flow1(33(ethernet0/1)/40a00a10): 192.97.11.11:80->192.11.97.97:55004 , tunnel_id 0, tcp-state ESTABLISHED
- 实例输出:
- [
- {'flow1_state': 'ESTABLISHED', 'session id': '4304', 'life': '150', 'session_src_port': '56695', 'flow0_state': 'CLOSED'},
- {'flow1_state': 'ESTABLISHED', 'session id': '35325', 'life': '150', 'session_src_port': '59112', 'flow0_state': 'CLOSED'}
- ]
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement