| 136 | return g, all_paths, process_nodes, attack_nodes |
| 137 | |
| 138 | def get_graphsize(all_paths, process_nodes, attack_nodes): |
| 139 | cnt_process = set() |
| 140 | cnt_nodes = set() |
| 141 | cnt_attacknodes = set() |
| 142 | event_num = 0 |
| 143 | total_nodes = 0 |
| 144 | for path in all_paths: |
| 145 | event_num += len(path) - 1 |
| 146 | total_nodes += len(path) |
| 147 | for node in path: |
| 148 | node = get_md5(node) |
| 149 | cnt_nodes.add(node) |
| 150 | if node in process_nodes: |
| 151 | cnt_process.add(node) |
| 152 | if node in attack_nodes: |
| 153 | cnt_attacknodes.add(node) |
| 154 | return {"cnt_process":len(cnt_process), "cnt_nodes":len(cnt_nodes), |
| 155 | "cnt_attacknodes":len(cnt_attacknodes), "event_num":event_num, |
| 156 | "total_nodes":total_nodes} |
| 157 | |
| 158 | |
| 159 | def train_anfu(): |