(self, pcap_name: str)
| 64 | return False |
| 65 | |
| 66 | def save_session(self, pcap_name: str) -> None: |
| 67 | if self._con is None: |
| 68 | return |
| 69 | try: |
| 70 | self._con.execute( |
| 71 | """ |
| 72 | INSERT OR REPLACE INTO sessions |
| 73 | (pcap_name, saved_at, packet_db, lan_hosts, dest_hosts, |
| 74 | tor_traffic, mal_traffic) |
| 75 | VALUES (?, ?, ?, ?, ?, ?, ?) |
| 76 | """, |
| 77 | ( |
| 78 | pcap_name, |
| 79 | datetime.now(timezone.utc).isoformat(), |
| 80 | json.dumps({k: v.model_dump() for k, v in memory.packet_db.items()}), |
| 81 | json.dumps({k: v.model_dump() for k, v in memory.lan_hosts.items()}), |
| 82 | json.dumps({k: v.model_dump() for k, v in memory.destination_hosts.items()}), |
| 83 | json.dumps(memory.possible_tor_traffic), |
| 84 | json.dumps(memory.possible_mal_traffic), |
| 85 | ), |
| 86 | ) |
| 87 | self._con.commit() |
| 88 | log.info("SqliteStore: saved session '%s' (%d packet sessions)", |
| 89 | pcap_name, len(memory.packet_db)) |
| 90 | except Exception as exc: |
| 91 | log.error("SqliteStore.save_session: %s", exc) |
| 92 | |
| 93 | def load_session(self, pcap_name: str) -> None: |
| 94 | if self._con is None: |
no outgoing calls