From 6ec93d9f34a06852f6b4996dca0e20e10b1715a6 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 08:25:23 -0700 Subject: [PATCH 01/27] Add Wireshark-style packet browser with payload search MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a FourthFrame below the graph canvas (hidden until analysis completes) with a session Treeview and search bar: - Treeview shows all sessions: Src, Dst, Port, Flags, Payload preview - Row colors: red=malicious, purple=Tor, cyan=covert - Search: plain substring or re: prefix for regex; match count shown - ◀/▶ arrows navigate between matches (highlighted green) - Clear restores original row colors - Clicking a row pre-fills the From/To filter menus - Table refreshes after analysis and again after Visualize! (to pick up Tor/malicious flags populated during graph render) Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 170 ++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 7ffc838..b145a5d 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -175,6 +175,53 @@ def __init__(self, base): self.ThirdFrame.columnconfigure(0, weight=1) self.ThirdFrame.rowconfigure(0, weight=1) + # Fourth Frame — Wireshark-style packet browser (hidden until analysis) + self.FourthFrame = ttk.Frame(base, padding="8 4 8 4", relief=GROOVE) + # Not gridded yet — shown by _populate_packet_table() after analysis + + _search_bar = ttk.Frame(self.FourthFrame) + _search_bar.grid(row=0, column=0, columnspan=2, sticky="EW", pady=(0, 4)) + ttk.Label(_search_bar, text="Search:", style="BW.TLabel").pack(side=LEFT, padx=(0, 4)) + self._search_var = tk.StringVar() + self._search_entry = ttk.Entry(_search_bar, textvariable=self._search_var, width=28) + self._search_entry.pack(side=LEFT, padx=2) + self._search_entry.bind("", lambda e: self._search_packets()) + ttk.Button(_search_bar, text="Search", command=self._search_packets).pack(side=LEFT, padx=4) + self._search_count_label = tk.Label(_search_bar, text="", fg="#aaaaaa", font=("Courier", 10)) + self._search_count_label.pack(side=LEFT, padx=8) + ttk.Button(_search_bar, text="◀", command=lambda: self._nav_packet(-1), width=2).pack(side=LEFT, padx=2) + ttk.Button(_search_bar, text="▶", command=lambda: self._nav_packet(1), width=2).pack(side=LEFT, padx=2) + ttk.Button(_search_bar, text="Clear", command=self._clear_search).pack(side=LEFT, padx=8) + + _cols = ("src", "dst", "port", "flags", "payload") + self._pkt_tree = ttk.Treeview(self.FourthFrame, columns=_cols, show="headings", height=6) + for _hdr, _col, _w, _anchor, _stretch in [ + ("Src IP", "src", 130, "w", False), + ("Dst IP", "dst", 130, "w", False), + ("Port", "port", 65, "center", False), + ("Flags", "flags", 90, "center", False), + ("Payload Preview", "payload", 0, "w", True), + ]: + self._pkt_tree.heading(_col, text=_hdr) + self._pkt_tree.column(_col, width=_w, anchor=_anchor, stretch=_stretch) + + _tv_vsb = ttk.Scrollbar(self.FourthFrame, orient=VERTICAL, command=self._pkt_tree.yview) + self._pkt_tree.configure(yscrollcommand=_tv_vsb.set) + self._pkt_tree.grid(row=1, column=0, sticky="NSEW") + _tv_vsb.grid(row=1, column=1, sticky="NS") + self.FourthFrame.columnconfigure(0, weight=1) + self.FourthFrame.rowconfigure(1, weight=1) + + self._pkt_tree.tag_configure("malicious", background="#4a1010", foreground="#ff8a80") + self._pkt_tree.tag_configure("tor", background="#2d1a3e", foreground="#ce93d8") + self._pkt_tree.tag_configure("covert", background="#0d3040", foreground="#80deea") + self._pkt_tree.tag_configure("match", background="#1a3a1a", foreground="#a5d6a7") + self._pkt_tree.bind("<>", self._on_packet_select) + + self._pkt_rows: list[str] = [] + self._search_matches: list[str] = [] + self._search_idx: int = -1 + base.resizable(False, False) base.rowconfigure(40, weight=1) base.columnconfigure(10, weight=1) @@ -456,6 +503,7 @@ def _populate_filter_menus(self) -> None: self.to_hosts = list(set(self.to_hosts + self.from_hosts)) self.to_menu['values'] = self.to_hosts self.from_menu['values'] = self.from_hosts + self._populate_packet_table() def _re_enable_controls(self) -> None: # Graph Panel and Interactive Graph stay disabled until Visualize! succeeds @@ -497,6 +545,7 @@ def generate_graph(self): else: self.label.grid_forget() self.load_image() + self._populate_packet_table() # Both graph buttons become available once a graph exists self.ibutton['state'] = 'normal' self.browser_button['state'] = 'normal' @@ -549,6 +598,127 @@ def _redraw_image(self, w=None, h=None): self.canvas.create_image(0, 0, image=self.img, anchor=NW) self.canvas.config(scrollregion=self.canvas.bbox(ALL)) + # ------------------------------------------------------------------ + # Packet browser helpers + # ------------------------------------------------------------------ + + def _populate_packet_table(self) -> None: + self._pkt_tree.delete(*self._pkt_tree.get_children()) + self._pkt_rows = [] + self._search_matches = [] + self._search_idx = -1 + self._search_count_label.config(text="") + + for key, session in memory.packet_db.items(): + parts = key.split("/") + if len(parts) != 3: + continue + src, dst, port = parts + is_mal = key in memory.possible_mal_traffic + is_tor = key in memory.possible_tor_traffic + is_cov = session.covert + flags = " ".join(f for f, v in [("MAL", is_mal), ("TOR", is_tor), ("COV", is_cov)] if v) or "—" + fwd = session.Payload.get("forward", []) + preview = str(fwd[0])[:80] if fwd else "—" + tag = "malicious" if is_mal else "tor" if is_tor else "covert" if is_cov else "" + self._pkt_tree.insert("", END, iid=key, + values=(src, dst, port, flags, preview), + tags=(tag,) if tag else ()) + self._pkt_rows.append(key) + + if not self.FourthFrame.winfo_ismapped(): + self.FourthFrame.grid(column=10, row=50, sticky=(N, W, E, S)) + self.base.rowconfigure(50, weight=0) + + def _search_packets(self) -> None: + import re as _re + query = self._search_var.get().strip() + if not query: + self._clear_search() + return + + use_regex = query.startswith("re:") + pattern = query[3:] if use_regex else query.lower() + + for key in self._search_matches: + self._restore_row_tag(key) + self._search_matches = [] + + for key in self._pkt_rows: + if not self._pkt_tree.exists(key): + continue + session = memory.packet_db.get(key) + if not session: + continue + fwd = session.Payload.get("forward", []) + rev = session.Payload.get("reverse", []) + haystack = (key + " " + " ".join(fwd + rev)).lower() + try: + matched = bool(_re.search(pattern, haystack)) if use_regex else pattern in haystack + except _re.error: + matched = pattern in haystack + if matched: + self._search_matches.append(key) + + for key in self._search_matches: + if self._pkt_tree.exists(key): + self._pkt_tree.item(key, tags=("match",)) + + count = len(self._search_matches) + self._search_count_label.config(text=f"{count} match{'es' if count != 1 else ''}") + if self._search_matches: + self._search_idx = 0 + self._scroll_to_match(0) + else: + self._search_idx = -1 + + def _nav_packet(self, direction: int) -> None: + if not self._search_matches: + return + self._search_idx = (self._search_idx + direction) % len(self._search_matches) + self._scroll_to_match(self._search_idx) + + def _scroll_to_match(self, idx: int) -> None: + key = self._search_matches[idx] + if self._pkt_tree.exists(key): + self._pkt_tree.selection_set(key) + self._pkt_tree.see(key) + count = len(self._search_matches) + self._search_count_label.config( + text=f"{idx + 1}/{count} match{'es' if count != 1 else ''}") + + def _clear_search(self) -> None: + self._search_var.set("") + for key in self._search_matches: + self._restore_row_tag(key) + self._search_matches = [] + self._search_idx = -1 + self._search_count_label.config(text="") + + def _restore_row_tag(self, key: str) -> None: + if not self._pkt_tree.exists(key): + return + session = memory.packet_db.get(key) + if not session: + return + is_mal = key in memory.possible_mal_traffic + is_tor = key in memory.possible_tor_traffic + tag = "malicious" if is_mal else "tor" if is_tor else "covert" if session.covert else "" + self._pkt_tree.item(key, tags=(tag,) if tag else ()) + + def _on_packet_select(self, event) -> None: + sel = self._pkt_tree.selection() + if not sel: + return + parts = sel[0].split("/") + if len(parts) != 3: + return + src, dst, _ = parts + if src in self.from_menu["values"]: + self.from_menu.set(src) + if dst in self.to_menu["values"]: + self.to_menu.set(dst) + def map_select(self, *args): log.debug("map_select: option=%s to=%s from=%s", self.option.get(), self.to_ip.get(), self.from_ip.get()) self.trigger['state'] = 'disabled' From 36044a8ee09dfcc660b90f9f9dd546d3cb368c92 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 08:49:47 -0700 Subject: [PATCH 02/27] Preserve aspect ratio when rendering static graph image _redraw_image now scales to fit the canvas using min(w/orig_w, h/orig_h) instead of stretching to fill. Navy background shows on any unused edges. Zoom buttons continue to control the target canvas size. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index b145a5d..caaa7ec 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -593,7 +593,12 @@ def _redraw_image(self, w=None, h=None): w = w or self.zoom[0] h = h or self.zoom[1] self.zoom = [w, h] - self.img = ImageTk.PhotoImage(Image.open(self.image_file).resize((w, h), Image.LANCZOS)) + src = Image.open(self.image_file) + orig_w, orig_h = src.size + ratio = min(w / orig_w, h / orig_h) + fit_w = max(1, int(orig_w * ratio)) + fit_h = max(1, int(orig_h * ratio)) + self.img = ImageTk.PhotoImage(src.resize((fit_w, fit_h), Image.LANCZOS)) self.canvas.delete("all") self.canvas.create_image(0, 0, image=self.img, anchor=NW) self.canvas.config(scrollregion=self.canvas.bbox(ALL)) From d84a76b6b37bac597f3bf7ba2161daf0502456b6 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 08:50:26 -0700 Subject: [PATCH 03/27] Add Files column and comma-separated flags to packet browser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Packet browser Treeview gains a Files column populated from PacketSession.file_signatures (already detected by the existing file signature engine). Flags column now shows comma-separated plain text (Malicious, Tor, Covert) instead of a cramped abbreviation string — consistent with per-session deduplication by src/dst/port key. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index caaa7ec..adf1811 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -193,13 +193,14 @@ def __init__(self, base): ttk.Button(_search_bar, text="▶", command=lambda: self._nav_packet(1), width=2).pack(side=LEFT, padx=2) ttk.Button(_search_bar, text="Clear", command=self._clear_search).pack(side=LEFT, padx=8) - _cols = ("src", "dst", "port", "flags", "payload") + _cols = ("src", "dst", "port", "flags", "files", "payload") self._pkt_tree = ttk.Treeview(self.FourthFrame, columns=_cols, show="headings", height=6) for _hdr, _col, _w, _anchor, _stretch in [ ("Src IP", "src", 130, "w", False), ("Dst IP", "dst", 130, "w", False), ("Port", "port", 65, "center", False), - ("Flags", "flags", 90, "center", False), + ("Flags", "flags", 110, "center", False), + ("Files", "files", 110, "center", False), ("Payload Preview", "payload", 0, "w", True), ]: self._pkt_tree.heading(_col, text=_hdr) @@ -622,12 +623,17 @@ def _populate_packet_table(self) -> None: is_mal = key in memory.possible_mal_traffic is_tor = key in memory.possible_tor_traffic is_cov = session.covert - flags = " ".join(f for f, v in [("MAL", is_mal), ("TOR", is_tor), ("COV", is_cov)] if v) or "—" + flag_parts = [] + if is_mal: flag_parts.append("Malicious") + if is_tor: flag_parts.append("Tor") + if is_cov: flag_parts.append("Covert") + flags = ", ".join(flag_parts) if flag_parts else "—" + files = ", ".join(session.file_signatures) if session.file_signatures else "—" fwd = session.Payload.get("forward", []) preview = str(fwd[0])[:80] if fwd else "—" tag = "malicious" if is_mal else "tor" if is_tor else "covert" if is_cov else "" self._pkt_tree.insert("", END, iid=key, - values=(src, dst, port, flags, preview), + values=(src, dst, port, flags, files, preview), tags=(tag,) if tag else ()) self._pkt_rows.append(key) From 1ffd83f560833b01971dd16a33712878d3c3e8b3 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 08:50:35 -0700 Subject: [PATCH 04/27] Extend graph panel rowspan to cover packet browser row Increased rowspan from 31 to 41 so the matplotlib container spans rows 10-50, filling the space alongside the FourthFrame packet browser instead of leaving empty space below the graph. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/interactive_gui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index 891112b..1819d40 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -219,7 +219,7 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None base.geometry(f"{base.winfo_width() + 700}x{max(base.winfo_height(), 600)}") _container = tk.Frame(base, bg="#1e1e2e") - _container.grid(row=10, column=11, rowspan=31, sticky="nsew", + _container.grid(row=10, column=11, rowspan=41, sticky="nsew", padx=(8, 8), pady=(8, 8)) _container.rowconfigure(1, weight=1) _container.columnconfigure(0, weight=1) From 3d591a7baa941b37a653138a724988c2e2873378 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 09:49:56 -0700 Subject: [PATCH 05/27] Fix graph image too small when packet browser is visible load_image() measured the canvas height after FourthFrame was already rendered, making the probe report a shorter canvas and producing a small aspect-ratio-fit image surrounded by navy. Now compensates by adding FourthFrame.winfo_reqheight() to the initial geometry so the ThirdFrame canvas gets the same space as before. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index adf1811..c668562 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -567,8 +567,10 @@ def open_in_browser(self): def load_image(self): if not hasattr(self, '_canvas_w'): # Expand to graph-viewing size on first load, then lock. + # Add FourthFrame height so canvas probe measures full graph area. + fourth_h = self.FourthFrame.winfo_reqheight() if self.FourthFrame.winfo_ismapped() else 0 self.base.resizable(True, True) - self.base.geometry("1100x780") + self.base.geometry(f"1100x{780 + fourth_h}") probe = Canvas(self.ThirdFrame, bd=0) probe.grid(column=0, row=0, sticky=(N, W, E, S)) self.base.update_idletasks() From d699fb44b332dd1bce0f3c7ce24f1fa9c448184a Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 09:50:56 -0700 Subject: [PATCH 06/27] Add session drill-down on double-click in packet browser Double-clicking any row in the packet browser opens a Toplevel showing the full session detail: session key, flags, detected file signatures, Ethernet src/dst, resolved domain, and tabbed Forward/Reverse payload viewers with scrollable dark-themed text. Close button returns focus to the main window. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 65 +++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index c668562..3080421 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -218,6 +218,7 @@ def __init__(self, base): self._pkt_tree.tag_configure("covert", background="#0d3040", foreground="#80deea") self._pkt_tree.tag_configure("match", background="#1a3a1a", foreground="#a5d6a7") self._pkt_tree.bind("<>", self._on_packet_select) + self._pkt_tree.bind("", self._open_session_detail) self._pkt_rows: list[str] = [] self._search_matches: list[str] = [] @@ -732,6 +733,70 @@ def _on_packet_select(self, event) -> None: if dst in self.to_menu["values"]: self.to_menu.set(dst) + def _open_session_detail(self, event) -> None: + sel = self._pkt_tree.selection() + if not sel: + return + key = sel[0] + session = memory.packet_db.get(key) + if not session: + return + + parts = key.split("/") + src, dst, port = parts if len(parts) == 3 else ("?", "?", "?") + + win = Toplevel(self.base) + win.title(f"Session: {key}") + win.geometry("700x520") + win.resizable(True, True) + win.columnconfigure(0, weight=1) + win.rowconfigure(1, weight=1) + + # ── Header ────────────────────────────────────────────────────── + hdr = ttk.Frame(win, padding="12 10 12 6") + hdr.grid(row=0, column=0, sticky="EW") + hdr.columnconfigure(1, weight=1) + + def _row(r, label, value): + ttk.Label(hdr, text=label, style="BW.TLabel", + font=("Courier", 10, "bold")).grid(row=r, column=0, sticky="W", padx=(0, 8)) + ttk.Label(hdr, text=value, style="BW.TLabel", + font=("Courier", 10)).grid(row=r, column=1, sticky="W") + + is_mal = key in memory.possible_mal_traffic + is_tor = key in memory.possible_tor_traffic + flag_parts = (["Malicious"] if is_mal else []) + (["Tor"] if is_tor else []) + (["Covert"] if session.covert else []) + dst_host = memory.destination_hosts.get(dst) + domain = dst_host.domain_name if dst_host and dst_host.domain_name else "—" + + _row(0, "Session:", key) + _row(1, "Flags:", ", ".join(flag_parts) if flag_parts else "None") + _row(2, "Files:", ", ".join(session.file_signatures) if session.file_signatures else "None") + _row(3, "Ethernet:", f"{session.Ethernet.get('src', '—')} → {session.Ethernet.get('dst', '—')}") + _row(4, "Domain:", domain) + + # ── Payload tabs ──────────────────────────────────────────────── + nb = ttk.Notebook(win) + nb.grid(row=1, column=0, sticky="NSEW", padx=10, pady=4) + + for label, lines in [("Forward", session.Payload.get("forward", [])), + ("Reverse", session.Payload.get("reverse", []))]: + tab = ttk.Frame(nb) + nb.add(tab, text=f"{label} ({len(lines)} entries)") + tab.rowconfigure(0, weight=1) + tab.columnconfigure(0, weight=1) + txt = tk.Text(tab, wrap="word", font=("Courier", 10), + bg="#1e1e2e", fg="#e0e0e0", relief="flat") + vsb = ttk.Scrollbar(tab, orient=VERTICAL, command=txt.yview) + txt.configure(yscrollcommand=vsb.set) + txt.grid(row=0, column=0, sticky="NSEW") + vsb.grid(row=0, column=1, sticky="NS") + txt.insert("1.0", "\n".join(lines) if lines else "(no payload)") + txt.configure(state="disabled") + + ttk.Button(win, text="Close", command=win.destroy).grid(row=2, column=0, pady=8) + win.after(100, lambda: (win.lift(), win.focus_force())) + def map_select(self, *args): log.debug("map_select: option=%s to=%s from=%s", self.option.get(), self.to_ip.get(), self.from_ip.get()) self.trigger['state'] = 'disabled' From 297a56272811081f2afeca52bda4267f5f89572d Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 09:57:50 -0700 Subject: [PATCH 07/27] Make static graph image fill and resize with window MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Canvas no longer has fixed dimensions — it fills ThirdFrame via sticky=NSEW. _redraw_image() is driven by events so the image scales to the available space on every window resize. A _zoom_factor multiplier (default 1.0) replaces the old absolute self.zoom pixel list. zoomIn/zoomOut step ±25% from the fit-to-window baseline; scrollbars activate when zoomed beyond canvas bounds. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 43 +++++++++++---------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 3080421..2b28753 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -566,27 +566,15 @@ def open_in_browser(self): mb.showerror("Error", "Interactive HTML not found. Click Visualize! first.") def load_image(self): - if not hasattr(self, '_canvas_w'): - # Expand to graph-viewing size on first load, then lock. - # Add FourthFrame height so canvas probe measures full graph area. - fourth_h = self.FourthFrame.winfo_reqheight() if self.FourthFrame.winfo_ismapped() else 0 - self.base.resizable(True, True) - self.base.geometry(f"1100x{780 + fourth_h}") - probe = Canvas(self.ThirdFrame, bd=0) - probe.grid(column=0, row=0, sticky=(N, W, E, S)) - self.base.update_idletasks() - self._canvas_w = probe.winfo_width() or 900 - self._canvas_h = probe.winfo_height() or 500 - self.zoom = [self._canvas_w, self._canvas_h] - probe.destroy() + if not hasattr(self, '_zoom_factor'): + self._zoom_factor = 1.0 self.base.resizable(True, True) + self.base.geometry("1100x780") - self.canvas = Canvas(self.ThirdFrame, width=self._canvas_w, height=self._canvas_h, - bd=0, bg="navy", + self.canvas = Canvas(self.ThirdFrame, bd=0, bg="navy", xscrollcommand=self.xscrollbar.set, yscrollcommand=self.yscrollbar.set) self.canvas.grid(column=0, row=0, sticky=(N, W, E, S)) - self._redraw_image() self.xscrollbar.config(command=self.canvas.xview) self.yscrollbar.config(command=self.canvas.yview) self.canvas.bind("", lambda e: self._redraw_image(e.width, e.height)) @@ -594,12 +582,14 @@ def load_image(self): def _redraw_image(self, w=None, h=None): if not hasattr(self, 'image_file') or not self.image_file: return - w = w or self.zoom[0] - h = h or self.zoom[1] - self.zoom = [w, h] + if w is None or h is None: + w = self.canvas.winfo_width() + h = self.canvas.winfo_height() + if w <= 1 or h <= 1: + return src = Image.open(self.image_file) orig_w, orig_h = src.size - ratio = min(w / orig_w, h / orig_h) + ratio = min(w / orig_w, h / orig_h) * self._zoom_factor fit_w = max(1, int(orig_w * ratio)) fit_h = max(1, int(orig_h * ratio)) self.img = ImageTk.PhotoImage(src.resize((fit_w, fit_h), Image.LANCZOS)) @@ -810,19 +800,14 @@ def map_select(self, *args): self.base.after(100, self._force_focus) def zoom_in(self): - self.zoom[0] += 100 - self.zoom[1] += 100 if self.img: - self._redraw_image(self.zoom[0], self.zoom[1]) + self._zoom_factor = min(self._zoom_factor * 1.25, 8.0) + self._redraw_image() def zoom_out(self): - min_w = getattr(self, '_canvas_w', 900) - min_h = getattr(self, '_canvas_h', 500) - if self.zoom[0] > min_w and self.zoom[1] > min_h: - self.zoom[0] -= 100 - self.zoom[1] -= 100 if self.img: - self._redraw_image(self.zoom[0], self.zoom[1]) + self._zoom_factor = max(self._zoom_factor / 1.25, 0.1) + self._redraw_image() class OtherFrame(Toplevel): From 8348e8beb2912076b2d719ff822116059a6f322f Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 09:59:07 -0700 Subject: [PATCH 08/27] Add inspect button to packet browser for session drill-down MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An 'inspect →' button sits right-aligned in the search bar, disabled until a row is selected. Clicking it (or double-clicking a row) opens the session detail Toplevel with full payload, flags, files, and Ethernet/domain metadata. Button state tracks selection so discoverability is clear without removing the double-click shortcut. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 2b28753..3b9dd04 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -192,6 +192,9 @@ def __init__(self, base): ttk.Button(_search_bar, text="◀", command=lambda: self._nav_packet(-1), width=2).pack(side=LEFT, padx=2) ttk.Button(_search_bar, text="▶", command=lambda: self._nav_packet(1), width=2).pack(side=LEFT, padx=2) ttk.Button(_search_bar, text="Clear", command=self._clear_search).pack(side=LEFT, padx=8) + self._detail_btn = ttk.Button(_search_bar, text="inspect →", + command=self._open_selected_detail, state="disabled") + self._detail_btn.pack(side=RIGHT, padx=(8, 4)) _cols = ("src", "dst", "port", "flags", "files", "payload") self._pkt_tree = ttk.Treeview(self.FourthFrame, columns=_cols, show="headings", height=6) @@ -713,7 +716,9 @@ def _restore_row_tag(self, key: str) -> None: def _on_packet_select(self, event) -> None: sel = self._pkt_tree.selection() if not sel: + self._detail_btn.configure(state="disabled") return + self._detail_btn.configure(state="normal") parts = sel[0].split("/") if len(parts) != 3: return @@ -723,6 +728,11 @@ def _on_packet_select(self, event) -> None: if dst in self.to_menu["values"]: self.to_menu.set(dst) + def _open_selected_detail(self) -> None: + sel = self._pkt_tree.selection() + if sel: + self._open_session_detail(None) + def _open_session_detail(self, event) -> None: sel = self._pkt_tree.selection() if not sel: From cbcbecd1ce72141ff4dff6ede055315fc8f44b25 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 10:03:02 -0700 Subject: [PATCH 09/27] Center static graph image in canvas Image is now centered (x = (canvas_w - fit_w)//2, y = (canvas_h - fit_h)//2) so navy fill appears evenly on both sides rather than one side only. When zoomed beyond canvas bounds, image stays at top-left and scrollregion covers the full image for correct scrollbar behaviour. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 3b9dd04..cba5100 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -597,8 +597,10 @@ def _redraw_image(self, w=None, h=None): fit_h = max(1, int(orig_h * ratio)) self.img = ImageTk.PhotoImage(src.resize((fit_w, fit_h), Image.LANCZOS)) self.canvas.delete("all") - self.canvas.create_image(0, 0, image=self.img, anchor=NW) - self.canvas.config(scrollregion=self.canvas.bbox(ALL)) + x = max(0, (w - fit_w) // 2) + y = max(0, (h - fit_h) // 2) + self.canvas.create_image(x, y, image=self.img, anchor=NW) + self.canvas.config(scrollregion=(0, 0, max(w, fit_w), max(h, fit_h))) # ------------------------------------------------------------------ # Packet browser helpers From 188f1db4b3671e76617446a38ba9b798501dcfd3 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 10:05:58 -0700 Subject: [PATCH 10/27] Increase graphviz output resolution and center image in canvas MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plot_lan_network: size 10x10 → 20x14 inches (6000x4200px at 300 DPI, landscape-friendly for ultrawide displays); add ratio=expand so sparse graphs fill the declared bounding box instead of rendering small. user_interface: center the image on the canvas (navy appears evenly on both edges when aspect ratio leaves unused space). Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index de56166..d095ab2 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -44,7 +44,8 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All"): 'bgcolor': 'grey', 'rankdir': 'LR', # BT 'dpi':'300', - 'size': '10, 10', + 'size': '20, 14', + 'ratio': 'expand', 'overlap': 'scale' }, 'nodes': { @@ -613,7 +614,7 @@ def draw_graph(self, option="All", to_ip="All", from_ip="All"): # Discard all the bloated disconnected nodes — lay out a trivial graph instead. f = Digraph("no_traffic", filename=self.filename, engine="dot", format="png") f.attr(label="No " + option + " Traffic between nodes!", fontsize="20", - bgcolor="grey", size="5,5", dpi="300") + bgcolor="grey", size="20,14", dpi="300") self.apply_styles(f, self.styles) From 4ea9cf24b065bb26fcb3a9836067ec21ea8ce8f8 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 10:10:37 -0700 Subject: [PATCH 11/27] Stretch graph image to always fill canvas at any window size _redraw_image now scales to (canvas_w x zoom, canvas_h x zoom) so the image fills the full canvas at zoom=1.0 with no navy edges, regardless of window shape or screen width. Zoom-in scales beyond canvas bounds and activates scrollbars; zoom-out shrinks and centres. Graphviz ratio changed from expand to fill so node spacing is distributed to use the full 20x14 inch declared size consistently. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 2 +- Source/Module/user_interface.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index d095ab2..b9b9cf3 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -45,7 +45,7 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All"): 'rankdir': 'LR', # BT 'dpi':'300', 'size': '20, 14', - 'ratio': 'expand', + 'ratio': 'fill', 'overlap': 'scale' }, 'nodes': { diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index cba5100..ff39d4a 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -591,10 +591,8 @@ def _redraw_image(self, w=None, h=None): if w <= 1 or h <= 1: return src = Image.open(self.image_file) - orig_w, orig_h = src.size - ratio = min(w / orig_w, h / orig_h) * self._zoom_factor - fit_w = max(1, int(orig_w * ratio)) - fit_h = max(1, int(orig_h * ratio)) + fit_w = max(1, int(w * self._zoom_factor)) + fit_h = max(1, int(h * self._zoom_factor)) self.img = ImageTk.PhotoImage(src.resize((fit_w, fit_h), Image.LANCZOS)) self.canvas.delete("all") x = max(0, (w - fit_w) // 2) From 4c407b220ece5578a72865119f7a6656d217896f Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 11:12:31 -0700 Subject: [PATCH 12/27] Pre-render graph PNG at canvas pixel dimensions for 1:1 display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit generate_graph() now measures the ThirdFrame inner area before spawning PlotLan, then passes render_w×render_h as target dimensions. PlotLan sets graphviz size=(w/150, h/150) inches at DPI=150 so the output PNG exactly matches the canvas. At zoom=1.0 the image fills the canvas with no stretching and no navy borders. Canvas dimensions are appended to the filename (_WxH) so each window size gets its own cache entry. Re-running Visualize! after resizing the window re-renders at the new size. The fallback (no target supplied) renders at 1950×1350 @ 150 DPI. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 21 +++++++++++++++------ Source/Module/user_interface.py | 19 +++++++++++++++++-- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index b9b9cf3..f601c40 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -28,23 +28,32 @@ def _node_label(mac: str) -> str: class PlotLan: - def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All"): - log.info("plotLan init: option=%s to=%s from=%s", option, to_ip, from_ip) + def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", + target_w=None, target_h=None): + log.info("plotLan init: option=%s to=%s from=%s target=%sx%s", + option, to_ip, from_ip, target_w, target_h) self.directory = os.path.join(path, "Report") if not os.path.exists(self.directory): os.makedirs(self.directory) options = option + "_" + to_ip.replace(".", "-") + "_" + from_ip.replace(".", "-") self.filename = os.path.join(self.directory, filename+"_"+options) + self._dpi = 150 + if target_w and target_h: + self._size_w = round(target_w / self._dpi, 2) + self._size_h = round(target_h / self._dpi, 2) + else: + self._size_w, self._size_h = 13.0, 9.0 # ~1950×1350 @ 150 DPI fallback + self.styles = { 'graph': { 'label': 'PcapGraph', 'fontsize': '16', 'fontcolor': 'black', 'bgcolor': 'grey', - 'rankdir': 'LR', # BT - 'dpi':'300', - 'size': '20, 14', + 'rankdir': 'LR', + 'dpi': str(self._dpi), + 'size': f'{self._size_w}, {self._size_h}', 'ratio': 'fill', 'overlap': 'scale' }, @@ -614,7 +623,7 @@ def draw_graph(self, option="All", to_ip="All", from_ip="All"): # Discard all the bloated disconnected nodes — lay out a trivial graph instead. f = Digraph("no_traffic", filename=self.filename, engine="dot", format="png") f.attr(label="No " + option + " Traffic between nodes!", fontsize="20", - bgcolor="grey", size="20,14", dpi="300") + bgcolor="grey", size=f'{self._size_w},{self._size_h}', dpi=str(self._dpi)) self.apply_styles(f, self.styles) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index ff39d4a..d8e092e 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -533,10 +533,25 @@ def generate_graph(self): threading.Thread(target=rpt.communicationDetailsReport, daemon=True).start() threading.Thread(target=rpt.deviceDetailsReport, daemon=True).start() - options = self.option.get() + "_" + self.to_ip.get().replace(".", "-") + "_" + self.from_ip.get().replace(".", "-") + # Expand window to display state so ThirdFrame reports its real dimensions + if not hasattr(self, '_zoom_factor'): + self.base.resizable(True, True) + self.base.geometry("1100x780") + self.base.update_idletasks() + render_w = max(self.ThirdFrame.winfo_width() - 34, 800) + render_h = max(self.ThirdFrame.winfo_height() - 20, 400) + + options = (self.option.get() + "_" + self.to_ip.get().replace(".", "-") + + "_" + self.from_ip.get().replace(".", "-") + + f"_{render_w}x{render_h}") self.image_file = os.path.join(self.destination_report.get(), "Report", self.filename + "_" + options + ".png") if not os.path.exists(self.image_file): - t1, exc_box = self._run_in_thread(plot_lan_network.PlotLan, self.filename, self.destination_report.get(), self.option.get(), self.to_ip.get(), self.from_ip.get()) + t1, exc_box = self._run_in_thread( + plot_lan_network.PlotLan, + self.filename, self.destination_report.get(), + self.option.get(), self.to_ip.get(), self.from_ip.get(), + render_w, render_h + ) self._spin_start("Rendering graph") self._poll_thread(t1) if exc_box: From 6e85171449ed444338e8a8e95ea16dc0c8c6fb19 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 11:27:22 -0700 Subject: [PATCH 13/27] =?UTF-8?q?Fix=20malicious=20edge=20visibility=20?= =?UTF-8?q?=E2=80=94=20priority-based=20dedup=20prevents=20overdraw?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace seen_edges set (which keyed on (src, dst, color) allowing both malicious and normal edges on the same pair) with edge_best dict that keeps only the highest-severity edge per (src_label, dst_label) pair. Priority: malicious=4 > tor=3 > covert=2 > normal=1. Also adds filter_option parameter to _build_graph_data() for upcoming traffic-type filter UI in the matplotlib panel toolbar. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/interactive_gui.py | 35 +++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index 1819d40..c8b64a2 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -25,19 +25,22 @@ _base: tk.Tk | None = None -def _build_graph_data(live: bool = False): +def _build_graph_data(live: bool = False, filter_option: str = "All"): """Build networkx graph + layout from current memory state. Returns (G, pos, node_colors, edge_colors) or (None, ...) if nothing to show. live=True uses spring_layout (~100ms); live=False tries graphviz first. + For each (src, dst) pair only the highest-severity edge is kept so malicious/ + Tor edges are never overdrawn by lower-priority normal edges. """ try: import networkx as nx except ImportError: return None, None, None, None - G = nx.MultiDiGraph() - seen_edges: set[tuple] = set() + # Collect highest-priority edge per (src_label, dst_label) pair. + # priority: malicious=4 > tor=3 > covert=2 > normal=1 + edge_best: dict[tuple, tuple] = {} for session_key, session in list(memory.packet_db.items()): parts = session_key.split("/") @@ -45,6 +48,22 @@ def _build_graph_data(live: bool = False): continue src_ip, dst_ip, port = parts + # Apply traffic filter + if filter_option == "Malicious" and session_key not in memory.possible_mal_traffic: + continue + if filter_option == "Tor" and session_key not in memory.possible_tor_traffic: + continue + if filter_option == "Covert" and not session.covert: + continue + if filter_option == "HTTP" and port != "80": + continue + if filter_option == "HTTPS" and port != "443": + continue + if filter_option == "DNS" and port != "53": + continue + if filter_option == "ICMP" and port != "ICMP": + continue + eth_src = session.Ethernet.get("src", "") eth_dst = session.Ethernet.get("dst", "") @@ -73,12 +92,14 @@ def _build_graph_data(live: bool = False): is_tor = session_key in memory.possible_tor_traffic is_mal = session_key in memory.possible_mal_traffic color, proto = _edge_attrs(port, session.covert, is_tor, is_mal) + priority = 4 if is_mal else 3 if is_tor else 2 if session.covert else 1 - sig = (src_label, dst_label, color) - if sig in seen_edges: - continue - seen_edges.add(sig) + pair = (src_label, dst_label) + if pair not in edge_best or priority > edge_best[pair][0]: + edge_best[pair] = (priority, color, proto, src_ip, dst_ip, src_kind, dst_kind) + G = nx.MultiDiGraph() + for (src_label, dst_label), (_, color, proto, src_ip, dst_ip, src_kind, dst_kind) in edge_best.items(): G.add_node(src_label, kind=src_kind, ip=src_ip) G.add_node(dst_label, kind=dst_kind, ip=dst_ip) G.add_edge(src_label, dst_label, color=color, proto=proto) From 11942bee6433cfe7e9f50e9f5b9db17288a21839 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 11:29:12 -0700 Subject: [PATCH 14/27] Add traffic filter dropdown to matplotlib graph panel Adds a Filter combobox (All / Malicious / Tor / Covert / HTTP / HTTPS / DNS / ICMP) to the panel toolbar. Selecting a filter rebuilds and redraws the graph showing only matching sessions; an empty-filter message is shown if no sessions match. refresh_live() respects the active filter so live captures also honor the selection. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/interactive_gui.py | 42 +++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index c8b64a2..48b08f4 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -17,11 +17,15 @@ log = logging.getLogger(__name__) +_FILTER_OPTIONS = ["All", "Malicious", "Tor", "Covert", "HTTP", "HTTPS", "DNS", "ICMP"] + _container: tk.Frame | None = None _figure = None _ax = None _canvas_widget = None _info_var: tk.StringVar | None = None +_filter_var: tk.StringVar | None = None +_live_mode: bool = False _base: tk.Tk | None = None @@ -172,7 +176,8 @@ def refresh_live() -> None: """ if _ax is None or _canvas_widget is None: return - G, pos, node_colors, edge_colors = _build_graph_data(live=True) + filt = _filter_var.get() if _filter_var is not None else "All" + G, pos, node_colors, edge_colors = _build_graph_data(live=True, filter_option=filt) if G is None: return _draw_on_axes(_ax, G, pos, node_colors, edge_colors) @@ -181,6 +186,25 @@ def refresh_live() -> None: log.debug("refresh_live: %d nodes", len(G.nodes)) +def _apply_panel_filter(*_) -> None: + """Redraw the panel with the currently selected filter option.""" + if _ax is None or _canvas_widget is None or _filter_var is None: + return + filt = _filter_var.get() + G, pos, node_colors, edge_colors = _build_graph_data(live=_live_mode, filter_option=filt) + if G is None: + _ax.cla() + _ax.set_facecolor("#1e1e2e") + _ax.text(0.5, 0.5, f"No {filt} traffic", ha="center", va="center", + color="white", fontsize=14, transform=_ax.transAxes) + _ax.axis("off") + else: + _draw_on_axes(_ax, G, pos, node_colors, edge_colors) + _figure.subplots_adjust(left=0.02, right=0.98, top=0.98, bottom=0.02) + _canvas_widget.draw() + log.debug("_apply_panel_filter(%s): %d nodes", filt, len(G.nodes) if G else 0) + + def open_live_panel(base: tk.Tk) -> None: """Open the live graph panel, closing any existing panel first (never toggles).""" if _container is not None and _container.winfo_exists(): @@ -196,7 +220,7 @@ def set_panel_title(title: str) -> None: def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None: """Open (or close) the interactive graph panel.""" - global _container, _figure, _ax, _canvas_widget, _info_var, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _live_mode, _base if _container is not None and _container.winfo_exists(): _close() @@ -215,6 +239,7 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None return _base = base + _live_mode = live G, pos, node_colors, edge_colors = _build_graph_data(live=live) if G is None and not live: @@ -252,9 +277,18 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None nav = NavigationToolbar2Tk(cw, toolbar_row, pack_toolbar=False) nav.update() nav.pack(side=tk.LEFT) + ttk.Button(toolbar_row, text="Close", command=_close).pack( side=tk.RIGHT, padx=4, pady=2) + filter_var = tk.StringVar(value="All") + filter_cb = ttk.Combobox(toolbar_row, textvariable=filter_var, + values=_FILTER_OPTIONS, state="readonly", width=10) + filter_cb.pack(side=tk.RIGHT, padx=(2, 6), pady=2) + ttk.Label(toolbar_row, text="Filter:").pack(side=tk.RIGHT, padx=(8, 0), pady=2) + filter_var.trace_add("write", _apply_panel_filter) + _filter_var = filter_var + cw.get_tk_widget().grid(row=1, column=0, sticky="nsew") default_info = ("📡 Live — updates every 4s | Blue=LAN Gray=Gateway Red=Malicious Purple=Tor" @@ -301,7 +335,7 @@ def _on_click(event): def _close() -> None: - global _container, _figure, _ax, _canvas_widget, _info_var, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _live_mode, _base import matplotlib.pyplot as plt if _figure is not None: plt.close(_figure) @@ -309,6 +343,8 @@ def _close() -> None: _ax = None _canvas_widget = None _info_var = None + _filter_var = None + _live_mode = False if _container is not None and _container.winfo_exists(): b = _container.winfo_toplevel() _container.destroy() From 2e82fc00381e0df76125d084f7811d99cf029ce8 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 13:36:37 -0700 Subject: [PATCH 15/27] =?UTF-8?q?Fix=20static=20graph=20filename=20mismatc?= =?UTF-8?q?h=20=E2=80=94=20include=20dimensions=20in=20PlotLan=20output=20?= =?UTF-8?q?path?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit generate_graph() appended _{render_w}x{render_h} to the image_file path as a cache key, but PlotLan was building its filename without those dimensions, so the rendered PNG was never found and _redraw_image() threw FileNotFoundError. Now PlotLan appends the same suffix when target_w/h are provided, keeping both sides in sync. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index f601c40..785a0d3 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -36,6 +36,8 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", if not os.path.exists(self.directory): os.makedirs(self.directory) options = option + "_" + to_ip.replace(".", "-") + "_" + from_ip.replace(".", "-") + if target_w and target_h: + options += f"_{target_w}x{target_h}" self.filename = os.path.join(self.directory, filename+"_"+options) self._dpi = 150 From 5d8db05e71b4599ada86bd488fc254888243abb7 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 13:39:52 -0700 Subject: [PATCH 16/27] Add node filter + fix node colors in matplotlib panel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node filter: text entry in toolbar — type a partial IP or label and press Enter to show only edges touching matching nodes. Works alongside the traffic filter; empty = show all. Node color fix: LAN hosts always show blue, gateways always gray, regardless of traffic filter selection. Threat colors (red=malicious, purple=Tor) now apply only to external destination nodes, so LAN node colors no longer shift when switching traffic filters. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/interactive_gui.py | 61 ++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index 48b08f4..7911403 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -25,17 +25,19 @@ _canvas_widget = None _info_var: tk.StringVar | None = None _filter_var: tk.StringVar | None = None +_node_filter_var: tk.StringVar | None = None _live_mode: bool = False _base: tk.Tk | None = None -def _build_graph_data(live: bool = False, filter_option: str = "All"): +def _build_graph_data(live: bool = False, filter_option: str = "All", node_filter: str = ""): """Build networkx graph + layout from current memory state. Returns (G, pos, node_colors, edge_colors) or (None, ...) if nothing to show. live=True uses spring_layout (~100ms); live=False tries graphviz first. For each (src, dst) pair only the highest-severity edge is kept so malicious/ Tor edges are never overdrawn by lower-priority normal edges. + node_filter: if non-empty, keep only edges where src or dst label/IP contains it. """ try: import networkx as nx @@ -102,6 +104,15 @@ def _build_graph_data(live: bool = False, filter_option: str = "All"): if pair not in edge_best or priority > edge_best[pair][0]: edge_best[pair] = (priority, color, proto, src_ip, dst_ip, src_kind, dst_kind) + # Apply node filter: keep only edges where src or dst label/IP matches + if node_filter: + nf = node_filter.lower() + edge_best = { + (s, d): v for (s, d), v in edge_best.items() + if nf in s.lower() or nf in d.lower() + or nf in v[3].lower() or nf in v[4].lower() # src_ip, dst_ip + } + G = nx.MultiDiGraph() for (src_label, dst_label), (_, color, proto, src_ip, dst_ip, src_kind, dst_kind) in edge_best.items(): G.add_node(src_label, kind=src_kind, ip=src_ip) @@ -124,24 +135,24 @@ def _build_graph_data(live: bool = False, filter_option: str = "All"): pos = _normalize_pos(pos) - mal_ips = {s.split("/")[0] for s in memory.possible_mal_traffic} | \ - {s.split("/")[1] for s in memory.possible_mal_traffic} - tor_ips = {s.split("/")[1] for s in memory.possible_tor_traffic} + # Threat IPs for external nodes only (destination side); LAN/GW nodes keep role color + mal_dst_ips = {s.split("/")[1] for s in memory.possible_mal_traffic} + tor_dst_ips = {s.split("/")[1] for s in memory.possible_tor_traffic} node_colors = [] for node in G.nodes: ip = G.nodes[node].get("ip", "") kind = G.nodes[node].get("kind", "") - if ip in tor_ips: - node_colors.append("#9c27b0") - elif ip in mal_ips: - node_colors.append("#f44336") - elif kind == "lan": - node_colors.append("#1e88e5") + if kind == "lan": + node_colors.append("#1e88e5") # always blue for LAN hosts elif kind == "gw": - node_colors.append("#78909c") + node_colors.append("#78909c") # always gray for gateways + elif ip in tor_dst_ips: + node_colors.append("#9c27b0") # purple — Tor exit/relay + elif ip in mal_dst_ips: + node_colors.append("#f44336") # red — known malicious external else: - node_colors.append("#ff7043") + node_colors.append("#ff7043") # orange — generic external edge_colors = [d.get("color", "#607d8b") for _, _, d in G.edges(data=True)] return G, pos, node_colors, edge_colors @@ -177,7 +188,8 @@ def refresh_live() -> None: if _ax is None or _canvas_widget is None: return filt = _filter_var.get() if _filter_var is not None else "All" - G, pos, node_colors, edge_colors = _build_graph_data(live=True, filter_option=filt) + nf = _node_filter_var.get() if _node_filter_var is not None else "" + G, pos, node_colors, edge_colors = _build_graph_data(live=True, filter_option=filt, node_filter=nf) if G is None: return _draw_on_axes(_ax, G, pos, node_colors, edge_colors) @@ -187,22 +199,24 @@ def refresh_live() -> None: def _apply_panel_filter(*_) -> None: - """Redraw the panel with the currently selected filter option.""" + """Redraw the panel with the current traffic + node filter options.""" if _ax is None or _canvas_widget is None or _filter_var is None: return filt = _filter_var.get() - G, pos, node_colors, edge_colors = _build_graph_data(live=_live_mode, filter_option=filt) + nf = _node_filter_var.get() if _node_filter_var is not None else "" + G, pos, node_colors, edge_colors = _build_graph_data(live=_live_mode, filter_option=filt, node_filter=nf) if G is None: _ax.cla() _ax.set_facecolor("#1e1e2e") - _ax.text(0.5, 0.5, f"No {filt} traffic", ha="center", va="center", + label = filt if not nf else f"{filt} / node '{nf}'" + _ax.text(0.5, 0.5, f"No {label} traffic", ha="center", va="center", color="white", fontsize=14, transform=_ax.transAxes) _ax.axis("off") else: _draw_on_axes(_ax, G, pos, node_colors, edge_colors) _figure.subplots_adjust(left=0.02, right=0.98, top=0.98, bottom=0.02) _canvas_widget.draw() - log.debug("_apply_panel_filter(%s): %d nodes", filt, len(G.nodes) if G else 0) + log.debug("_apply_panel_filter(%s, node=%r): %d nodes", filt, nf, len(G.nodes) if G else 0) def open_live_panel(base: tk.Tk) -> None: @@ -220,7 +234,7 @@ def set_panel_title(title: str) -> None: def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None: """Open (or close) the interactive graph panel.""" - global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _live_mode, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base if _container is not None and _container.winfo_exists(): _close() @@ -289,6 +303,14 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None filter_var.trace_add("write", _apply_panel_filter) _filter_var = filter_var + node_filter_var = tk.StringVar() + node_entry = ttk.Entry(toolbar_row, textvariable=node_filter_var, width=14) + node_entry.pack(side=tk.RIGHT, padx=(2, 2), pady=2) + ttk.Label(toolbar_row, text="Node:").pack(side=tk.RIGHT, padx=(8, 0), pady=2) + node_entry.bind("", _apply_panel_filter) + node_entry.bind("", _apply_panel_filter) + _node_filter_var = node_filter_var + cw.get_tk_widget().grid(row=1, column=0, sticky="nsew") default_info = ("📡 Live — updates every 4s | Blue=LAN Gray=Gateway Red=Malicious Purple=Tor" @@ -335,7 +357,7 @@ def _on_click(event): def _close() -> None: - global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _live_mode, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base import matplotlib.pyplot as plt if _figure is not None: plt.close(_figure) @@ -344,6 +366,7 @@ def _close() -> None: _canvas_widget = None _info_var = None _filter_var = None + _node_filter_var = None _live_mode = False if _container is not None and _container.winfo_exists(): b = _container.winfo_toplevel() From 89265269f8926c5e6db8a591bb42f0545ac0e742 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 14:42:23 -0700 Subject: [PATCH 17/27] Fix memory churn and canvas leak in image display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cache PIL source image per image_file path — avoid re-opening and allocating on every event (was firing dozens of times/s during window resize, each time holding source + resized + PhotoImage) - Debounce with 120ms after() — only the final resize event triggers a redraw; eliminates burst allocations during drag-resize - Destroy old canvas before creating a new one in load_image() — prevents accumulating multiple canvases with stale bindings - Always use spring_layout in the matplotlib panel — avoids spawning a graphviz subprocess on every filter-combobox change Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/interactive_gui.py | 15 +++++---------- Source/Module/user_interface.py | 29 ++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index 7911403..7ef8216 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -122,16 +122,11 @@ def _build_graph_data(live: bool = False, filter_option: str = "All", node_filte if not G.nodes: return None, None, None, None - if live: - pos = nx.spring_layout(G, k=2.5, iterations=50, seed=42) - else: - n_lan = len(memory.lan_hosts) - prog = "sfdp" if n_lan > 40 else "circo" if n_lan > 20 else "dot" - try: - pos = nx.nx_pydot.graphviz_layout(G, prog=prog) - except Exception as exc: - log.warning("graphviz_layout failed (%s), falling back to spring_layout", exc) - pos = nx.spring_layout(G, k=2.5, iterations=60, seed=42) + # Always use spring_layout in the interactive panel — no subprocess overhead, + # consistent behaviour on filter changes, and graphviz is reserved for the + # static PNG rendered by plot_lan_network. + iterations = 50 if live else 80 + pos = nx.spring_layout(G, k=2.5, iterations=iterations, seed=42) pos = _normalize_pos(pos) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index d8e092e..dae454f 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -589,13 +589,27 @@ def load_image(self): self.base.resizable(True, True) self.base.geometry("1100x780") + # Destroy previous canvas so its binding stops firing + if hasattr(self, 'canvas') and self.canvas and self.canvas.winfo_exists(): + self.canvas.destroy() + + self._src_img = None # cached PIL source; cleared when image_file changes + self._src_img_path = None + self._resize_job = None # pending debounce after-id + self.canvas = Canvas(self.ThirdFrame, bd=0, bg="navy", xscrollcommand=self.xscrollbar.set, yscrollcommand=self.yscrollbar.set) self.canvas.grid(column=0, row=0, sticky=(N, W, E, S)) self.xscrollbar.config(command=self.canvas.xview) self.yscrollbar.config(command=self.canvas.yview) - self.canvas.bind("", lambda e: self._redraw_image(e.width, e.height)) + self.canvas.bind("", self._on_canvas_resize) + + def _on_canvas_resize(self, event): + """Debounce rapid events — only redraw after 120ms of quiet.""" + if hasattr(self, '_resize_job') and self._resize_job: + self.base.after_cancel(self._resize_job) + self._resize_job = self.base.after(120, lambda: self._redraw_image(event.width, event.height)) def _redraw_image(self, w=None, h=None): if not hasattr(self, 'image_file') or not self.image_file: @@ -605,10 +619,13 @@ def _redraw_image(self, w=None, h=None): h = self.canvas.winfo_height() if w <= 1 or h <= 1: return - src = Image.open(self.image_file) + # Open source image once; reuse across resize/zoom calls + if self._src_img is None or self._src_img_path != self.image_file: + self._src_img = Image.open(self.image_file) + self._src_img_path = self.image_file fit_w = max(1, int(w * self._zoom_factor)) fit_h = max(1, int(h * self._zoom_factor)) - self.img = ImageTk.PhotoImage(src.resize((fit_w, fit_h), Image.LANCZOS)) + self.img = ImageTk.PhotoImage(self._src_img.resize((fit_w, fit_h), Image.LANCZOS)) self.canvas.delete("all") x = max(0, (w - fit_w) // 2) y = max(0, (h - fit_h) // 2) @@ -826,11 +843,17 @@ def map_select(self, *args): def zoom_in(self): if self.img: + if hasattr(self, '_resize_job') and self._resize_job: + self.base.after_cancel(self._resize_job) + self._resize_job = None self._zoom_factor = min(self._zoom_factor * 1.25, 8.0) self._redraw_image() def zoom_out(self): if self.img: + if hasattr(self, '_resize_job') and self._resize_job: + self.base.after_cancel(self._resize_job) + self._resize_job = None self._zoom_factor = max(self._zoom_factor / 1.25, 0.1) self._redraw_image() From d3ff993da27bbfc833838d34024d69b46b36569b Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 14:42:29 -0700 Subject: [PATCH 18/27] Render static graph at 2x DPI for sharp zoom Physical layout size stays the same (canvas_px / 150 inches) but output DPI is 300, doubling pixel dimensions. Zoom-in at 2x now shows 1:1 pixels from the source rather than upscaling from canvas resolution, eliminating the smudged text and nodes at zoom > 1. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index 785a0d3..4108523 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -40,12 +40,16 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", options += f"_{target_w}x{target_h}" self.filename = os.path.join(self.directory, filename+"_"+options) - self._dpi = 150 + # Render at 2× the canvas pixel count so zoom-in stays sharp. + # Physical size in inches is based on the 1× density (150 dpi equivalent), + # but we output at 300 dpi to double the pixel dimensions. + _layout_dpi = 150 + self._dpi = 300 if target_w and target_h: - self._size_w = round(target_w / self._dpi, 2) - self._size_h = round(target_h / self._dpi, 2) + self._size_w = round(target_w / _layout_dpi, 2) + self._size_h = round(target_h / _layout_dpi, 2) else: - self._size_w, self._size_h = 13.0, 9.0 # ~1950×1350 @ 150 DPI fallback + self._size_w, self._size_h = 13.0, 9.0 # ~3900×2700 @ 300 DPI fallback self.styles = { 'graph': { From efb260f511fea438d774ecffd97fb73d437436d4 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 15:45:56 -0700 Subject: [PATCH 19/27] =?UTF-8?q?Fix=20giant=20nodes=20=E2=80=94=20render?= =?UTF-8?q?=20at=201.5x=20canvas=20pixels=20at=20150=20DPI=20instead=20of?= =?UTF-8?q?=20300=20DPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 300 DPI tripled node pixel size (3-inch nodes became 900px on a 1600px canvas). Now use 150 DPI with 1.5x physical size so output is 1.5x canvas pixels: zoom=1 downscales 1.5:1 (crisp), zoom=1.5 is 1:1 pixel-perfect, zoom=2 upscales only 1.33:1 (barely noticeable). Nodes stay at 3in×150DPI=450px. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index 4108523..7768bca 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -40,16 +40,14 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", options += f"_{target_w}x{target_h}" self.filename = os.path.join(self.directory, filename+"_"+options) - # Render at 2× the canvas pixel count so zoom-in stays sharp. - # Physical size in inches is based on the 1× density (150 dpi equivalent), - # but we output at 300 dpi to double the pixel dimensions. - _layout_dpi = 150 - self._dpi = 300 + # Render at 1.5× canvas pixels for zoom headroom while keeping node sizes + # proportional. Physical size in inches = canvas_px * 1.5 / dpi. + self._dpi = 150 if target_w and target_h: - self._size_w = round(target_w / _layout_dpi, 2) - self._size_h = round(target_h / _layout_dpi, 2) + self._size_w = round(target_w * 1.5 / self._dpi, 2) + self._size_h = round(target_h * 1.5 / self._dpi, 2) else: - self._size_w, self._size_h = 13.0, 9.0 # ~3900×2700 @ 300 DPI fallback + self._size_w, self._size_h = 13.0, 9.0 # ~1950×1350 @ 150 DPI fallback self.styles = { 'graph': { From 26f7b8fc72ecf06798c6e46b60adf033cc74416c Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 15:51:11 -0700 Subject: [PATCH 20/27] Fix blurry zoom: 300 DPI render + correct node sizes + Linux font MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 300 DPI with size=canvas_px/150 inches → 2× canvas pixel output. zoom=1 downscales 2:1 (crisp), zoom=2 is 1:1 pixel-perfect (sharp text). Node dimensions halved from 3in to 1.5in: 1.5in × 300 DPI = 450px, same visual size on screen at zoom=1 as 3in × 150 DPI was before. Font changed from Helvetica to DejaVu Sans: Helvetica falls back to a bitmap raster font on Linux (no fontconfig match), producing the smudged blocky characters visible when zoomed. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index 7768bca..9edc6f0 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -40,14 +40,15 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", options += f"_{target_w}x{target_h}" self.filename = os.path.join(self.directory, filename+"_"+options) - # Render at 1.5× canvas pixels for zoom headroom while keeping node sizes - # proportional. Physical size in inches = canvas_px * 1.5 / dpi. - self._dpi = 150 + # Render at 2× canvas pixels (300 DPI) so zoom-in reveals detail rather + # than upscaling. Node inch dimensions are halved vs the old 150 DPI values + # so their pixel size on screen at zoom=1 is identical (1.5in × 300 = 450px). + self._dpi = 300 if target_w and target_h: - self._size_w = round(target_w * 1.5 / self._dpi, 2) - self._size_h = round(target_h * 1.5 / self._dpi, 2) + self._size_w = round(target_w / 150, 2) # physical inches → 2× canvas pixels at 300 DPI + self._size_h = round(target_h / 150, 2) else: - self._size_w, self._size_h = 13.0, 9.0 # ~1950×1350 @ 150 DPI fallback + self._size_w, self._size_h = 13.0, 9.0 # ~3900×2700 @ 300 DPI fallback self.styles = { 'graph': { @@ -62,15 +63,15 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", 'overlap': 'scale' }, 'nodes': { - 'fontname': 'Helvetica', + 'fontname': 'DejaVu Sans', # available on Linux; Helvetica falls back to bitmap 'shape': 'circle', 'fontcolor': 'black', - 'color': ' black', + 'color': 'black', 'style': 'filled', 'fillcolor': 'yellow', 'fixedsize': 'true', - 'width': '3', - 'height': '3' + 'width': '1.5', # 1.5in × 300 DPI = 450px → same visual size as 3in @ 150 DPI + 'height': '1.5' } } From c91c71d23bd41bc63559cd28575b58d15ad71ab8 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 15:55:47 -0700 Subject: [PATCH 21/27] =?UTF-8?q?Auto-size=20nodes=20to=20fit=20labels=20?= =?UTF-8?q?=E2=80=94=20drop=20fixedsize,=20switch=20to=20ellipse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixedsize=true locked all nodes at 1.5×1.5in, causing destination node circles to shrink to invisible and LAN node text to overflow the circle boundary. With auto-sizing, each node expands to fit its label so all nodes are visible and no text overflows. Circle → ellipse to better accommodate multi-line IP/vendor labels. fontsize 16→11 to keep labels compact in the hub-and-spoke layout. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index 9edc6f0..6fcc96d 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -64,14 +64,12 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", }, 'nodes': { 'fontname': 'DejaVu Sans', # available on Linux; Helvetica falls back to bitmap - 'shape': 'circle', + 'fontsize': '11', + 'shape': 'ellipse', 'fontcolor': 'black', 'color': 'black', 'style': 'filled', 'fillcolor': 'yellow', - 'fixedsize': 'true', - 'width': '1.5', # 1.5in × 300 DPI = 450px → same visual size as 3in @ 150 DPI - 'height': '1.5' } } From d2df6621b5275977062fbc6dce1b8d71e9b6f3e5 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 16:11:22 -0700 Subject: [PATCH 22/27] Fix giant nodes: natural graphviz layout + aspect-ratio PIL fit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: ratio=fill told graphviz to scale the entire drawing to fill the declared bounding box. With 2-5 nodes, graphviz expanded them to fill the full canvas → giant yellow circles with unreadable text. Fix: - Remove size/ratio/overlap from graphviz styles entirely. Graphviz chooses a natural layout; dot+rankdir=LR for a hub-and-spoke produces a wide PNG at 150 DPI (~1500-3000px) that is larger than the canvas. - Remove fixedsize from node styles; nodes auto-size to fit label text. - PIL _redraw_image now uses aspect-ratio fit (scale = min(w/src_w, h/src_h) * zoom) instead of stretch-to-canvas. Downscaling a wide PNG to the canvas produces crisp text; zoom_factor grows the image with scrollbars. Canvas bg changed navy → grey to match graphviz bgcolor. - Remove target_w/target_h from PlotLan and render_w/render_h from generate_graph; simplifies the pipeline and fixes the filename/path mismatch that previously caused FileNotFoundError. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/plot_lan_network.py | 32 +++++++++---------------------- Source/Module/user_interface.py | 26 ++++++++++--------------- 2 files changed, 19 insertions(+), 39 deletions(-) diff --git a/Source/Module/plot_lan_network.py b/Source/Module/plot_lan_network.py index 6fcc96d..575d15c 100644 --- a/Source/Module/plot_lan_network.py +++ b/Source/Module/plot_lan_network.py @@ -28,28 +28,14 @@ def _node_label(mac: str) -> str: class PlotLan: - def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", - target_w=None, target_h=None): - log.info("plotLan init: option=%s to=%s from=%s target=%sx%s", - option, to_ip, from_ip, target_w, target_h) + def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All"): + log.info("plotLan init: option=%s to=%s from=%s", option, to_ip, from_ip) self.directory = os.path.join(path, "Report") if not os.path.exists(self.directory): os.makedirs(self.directory) options = option + "_" + to_ip.replace(".", "-") + "_" + from_ip.replace(".", "-") - if target_w and target_h: - options += f"_{target_w}x{target_h}" self.filename = os.path.join(self.directory, filename+"_"+options) - # Render at 2× canvas pixels (300 DPI) so zoom-in reveals detail rather - # than upscaling. Node inch dimensions are halved vs the old 150 DPI values - # so their pixel size on screen at zoom=1 is identical (1.5in × 300 = 450px). - self._dpi = 300 - if target_w and target_h: - self._size_w = round(target_w / 150, 2) # physical inches → 2× canvas pixels at 300 DPI - self._size_h = round(target_h / 150, 2) - else: - self._size_w, self._size_h = 13.0, 9.0 # ~3900×2700 @ 300 DPI fallback - self.styles = { 'graph': { 'label': 'PcapGraph', @@ -57,19 +43,19 @@ def __init__(self, filename, path, option="Tor", to_ip="All", from_ip="All", 'fontcolor': 'black', 'bgcolor': 'grey', 'rankdir': 'LR', - 'dpi': str(self._dpi), - 'size': f'{self._size_w}, {self._size_h}', - 'ratio': 'fill', - 'overlap': 'scale' + 'dpi': '150', + # No size/ratio/overlap — graphviz chooses natural layout dimensions. + # PIL fits the result to the canvas preserving aspect ratio. }, 'nodes': { - 'fontname': 'DejaVu Sans', # available on Linux; Helvetica falls back to bitmap - 'fontsize': '11', + 'fontname': 'DejaVu Sans', + 'fontsize': '14', 'shape': 'ellipse', 'fontcolor': 'black', 'color': 'black', 'style': 'filled', 'fillcolor': 'yellow', + # No fixedsize — nodes auto-size to fit their label text. } } @@ -626,7 +612,7 @@ def draw_graph(self, option="All", to_ip="All", from_ip="All"): # Discard all the bloated disconnected nodes — lay out a trivial graph instead. f = Digraph("no_traffic", filename=self.filename, engine="dot", format="png") f.attr(label="No " + option + " Traffic between nodes!", fontsize="20", - bgcolor="grey", size=f'{self._size_w},{self._size_h}', dpi=str(self._dpi)) + bgcolor="grey") self.apply_styles(f, self.styles) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index dae454f..2198218 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -533,24 +533,14 @@ def generate_graph(self): threading.Thread(target=rpt.communicationDetailsReport, daemon=True).start() threading.Thread(target=rpt.deviceDetailsReport, daemon=True).start() - # Expand window to display state so ThirdFrame reports its real dimensions - if not hasattr(self, '_zoom_factor'): - self.base.resizable(True, True) - self.base.geometry("1100x780") - self.base.update_idletasks() - render_w = max(self.ThirdFrame.winfo_width() - 34, 800) - render_h = max(self.ThirdFrame.winfo_height() - 20, 400) - options = (self.option.get() + "_" + self.to_ip.get().replace(".", "-") - + "_" + self.from_ip.get().replace(".", "-") - + f"_{render_w}x{render_h}") + + "_" + self.from_ip.get().replace(".", "-")) self.image_file = os.path.join(self.destination_report.get(), "Report", self.filename + "_" + options + ".png") if not os.path.exists(self.image_file): t1, exc_box = self._run_in_thread( plot_lan_network.PlotLan, self.filename, self.destination_report.get(), - self.option.get(), self.to_ip.get(), self.from_ip.get(), - render_w, render_h + self.option.get(), self.to_ip.get(), self.from_ip.get() ) self._spin_start("Rendering graph") self._poll_thread(t1) @@ -597,7 +587,7 @@ def load_image(self): self._src_img_path = None self._resize_job = None # pending debounce after-id - self.canvas = Canvas(self.ThirdFrame, bd=0, bg="navy", + self.canvas = Canvas(self.ThirdFrame, bd=0, bg="grey", xscrollcommand=self.xscrollbar.set, yscrollcommand=self.yscrollbar.set) self.canvas.grid(column=0, row=0, sticky=(N, W, E, S)) @@ -619,12 +609,16 @@ def _redraw_image(self, w=None, h=None): h = self.canvas.winfo_height() if w <= 1 or h <= 1: return - # Open source image once; reuse across resize/zoom calls if self._src_img is None or self._src_img_path != self.image_file: self._src_img = Image.open(self.image_file) self._src_img_path = self.image_file - fit_w = max(1, int(w * self._zoom_factor)) - fit_h = max(1, int(h * self._zoom_factor)) + src_w, src_h = self._src_img.size + # Fit image inside canvas preserving aspect ratio; zoom_factor scales from there. + # Graphviz natural layout is typically wider than the canvas so scale < 1 → PIL + # downscales → crisp text. Zoom > 1 enlarges beyond canvas; scrollbars appear. + scale = min(w / src_w, h / src_h) * self._zoom_factor + fit_w = max(1, int(src_w * scale)) + fit_h = max(1, int(src_h * scale)) self.img = ImageTk.PhotoImage(self._src_img.resize((fit_w, fit_h), Image.LANCZOS)) self.canvas.delete("all") x = max(0, (w - fit_w) // 2) From c4ec117c517657a6057d8fe612ecf709a1972c46 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 23:26:38 -0700 Subject: [PATCH 23/27] Auto-fit graph to viewport on load; add Fit button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On first image load _zoom_factor is set to the cover/fill ratio: zoom = max(w/src_w, h/src_h) / min(w/src_w, h/src_h) This fills the canvas viewport in the binding dimension — for a tall dot layout (nodes stacked vertically) the graph fills the canvas width with a vertical scrollbar; for a wide layout it fills the canvas height. Zoom in/out and window resize work relative to this initial level. Added a Fit button in the toolbar that resets to the fill-viewport zoom at any time after the user has manually zoomed in or out. Co-Authored-By: Claude Sonnet 4.6 --- Source/Module/user_interface.py | 35 +++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 2198218..5f7a6ef 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -93,8 +93,9 @@ def __init__(self, base): self.report_field = ttk.Entry(FirstFrame, width=30, textvariable=self.destination_report, style="BW.TEntry").grid(column=1, row=0, sticky="WE") ttk.Button(FirstFrame, text="Browse", command=lambda: self.browse_directory("report")).grid(column=2, row=0, padx=10, pady=10, sticky="E") self.zoom = [900, 500] - ttk.Button(FirstFrame, text="zoomIn", command=self.zoom_in).grid(row=0, column=4, padx=5, sticky="E") - ttk.Button(FirstFrame, text="zoomOut", command=self.zoom_out).grid(row=0, column=5, padx=10, sticky="E") + ttk.Button(FirstFrame, text="zoomIn", command=self.zoom_in).grid(row=0, column=4, padx=5, sticky="E") + ttk.Button(FirstFrame, text="zoomOut", command=self.zoom_out).grid(row=0, column=5, padx=2, sticky="E") + ttk.Button(FirstFrame, text="Fit", command=self.zoom_fit).grid(row=0, column=6, padx=5, sticky="E") # Live Capture Frame LiveFrame = ttk.Frame(base, width=50, padding="10 2 0 2", relief=GROOVE) @@ -601,6 +602,25 @@ def _on_canvas_resize(self, event): self.base.after_cancel(self._resize_job) self._resize_job = self.base.after(120, lambda: self._redraw_image(event.width, event.height)) + def _zoom_fill_factor(self, src_w: int, src_h: int) -> float: + """Return the _zoom_factor that fills the canvas viewport (cover behaviour).""" + w = self.canvas.winfo_width() or 1 + h = self.canvas.winfo_height() or 1 + fit = min(w / src_w, h / src_h) + cover = max(w / src_w, h / src_h) + return cover / fit # always ≥ 1.0 + + def zoom_fit(self): + """Reset zoom to the fill-viewport level (the default on first load).""" + if not (hasattr(self, '_src_img') and self._src_img): + return + if hasattr(self, '_resize_job') and self._resize_job: + self.base.after_cancel(self._resize_job) + self._resize_job = None + src_w, src_h = self._src_img.size + self._zoom_factor = self._zoom_fill_factor(src_w, src_h) + self._redraw_image() + def _redraw_image(self, w=None, h=None): if not hasattr(self, 'image_file') or not self.image_file: return @@ -609,13 +629,16 @@ def _redraw_image(self, w=None, h=None): h = self.canvas.winfo_height() if w <= 1 or h <= 1: return - if self._src_img is None or self._src_img_path != self.image_file: + new_image = self._src_img is None or self._src_img_path != self.image_file + if new_image: self._src_img = Image.open(self.image_file) self._src_img_path = self.image_file src_w, src_h = self._src_img.size - # Fit image inside canvas preserving aspect ratio; zoom_factor scales from there. - # Graphviz natural layout is typically wider than the canvas so scale < 1 → PIL - # downscales → crisp text. Zoom > 1 enlarges beyond canvas; scrollbars appear. + if new_image: + # Auto-zoom: fill the viewport so the graph occupies the full canvas. + # For a tall dot layout (nodes stacked), fills the canvas width with + # vertical scrollbars. For a wide layout, fills the canvas height. + self._zoom_factor = self._zoom_fill_factor(src_w, src_h) scale = min(w / src_w, h / src_h) * self._zoom_factor fit_w = max(1, int(src_w * scale)) fit_h = max(1, int(src_h * scale)) From 91a7199fe99f7724cd18f476c4a064fcda12ff71 Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 23:52:59 -0700 Subject: [PATCH 24/27] Add v5.2 static graph screenshot to README Co-Authored-By: Claude Sonnet 4.6 --- README.md | 3 +++ Samples/screen_5_2_2.png | Bin 0 -> 437078 bytes 2 files changed, 3 insertions(+) create mode 100644 Samples/screen_5_2_2.png diff --git a/README.md b/README.md index 6245b51..6719bdc 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,9 @@ Make a network diagram with the following features: *Static network graph with interactive matplotlib panel* ![Network graph](Samples/screen5_1_2.png) +*Static network graph — natural layout with auto-fit zoom* +![Network graph v5.2](Samples/screen_5_2_2.png) + --- ## Demo diff --git a/Samples/screen_5_2_2.png b/Samples/screen_5_2_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d7830cceca22b284eddb6d8751e22341dbdcefa9 GIT binary patch literal 437078 zcma%j1yo#H(ryw6E&-C@9w4~8dvJGmcN*6~aCg_>?(WdIyIZiv-Qo3}nScJd_s)AS ztkbJ^pL1$U$yc>&*CJR}S`-lu3+~OEH;7{2gyi46fkt}s27(0!3Vi3Zx&Zmjo434X zf`YPQf`SCH_BO_5mPT*hV8nYyaZ3p3VFXn8CCDOv+Wcr|3iB?sx^S?|pC_xUbl-pz zPYR+g(Lq|sUBa8-`%MBCgv#Ul_x$_{H5MB&_HJvnwa9K8o9&J3sfmHuVa<7pgfJf^ zGGf)$=^C7!MrGp(h!IeAm#Vcs$&jj$bQgGKE)fUJ1;RehpWb>Gki`P5CYz56%W#kp z6xdvUk&lYI3`FPp%P{Swc$BlR{yK~t5uqT|L^)}=R2I3@W{WvFbHLT4!dWWAzPk2Y zoZ4+RZ8)NX%^8s(^ENToNQU^>&vq0`92qF4i6iV=dIm>gNg50znjDipz4~%gdYoR) zes6{-+JW^2dw(3W8!{;BN&3dm|%j2U8oz_zg~Pa98tYimHyPQj#17 zHdZuxhBo>}G%i-Qe~`T4a^V0st&AM?2wbcztsOXAxQYJp1_!wP$8B07f`7c?Xu(aS zDkV!GXk%|gz(PYuLr25|M?gTpWp8NAAulBIFLLlNZX#1hM_UeBT4!fx8fQit8+#L4 zdUkepS~><=1_o;I8`KW2){c5E)YcBf|Lo*{`Vlg6Ft9hXbu_cFCitUYJ$)O1BR3Jz z9|QgS@1OHDaxwegk*pp5wJh)gY5#aaOHV^b`|rNNq+Ea8<&ZUVF|t$>GP44+2RsH3 z8v_H^Ki>b_lm8v@KPXlImy({1j^#f||KrhLNtGOo>;-MCz+*b{{I6*KMf{%+|3%0} z`^VD%gBAbe^FQu_8O;O7Mf-1|@xbltL$$nl!}mr^h+om=?NK_k&qv|8{#VA-1ub2@ zL3R^JNPc@+K0Xro05nDr=HzA1ksgNw)YTYcT2iNvzL0R=8-0Nf!ru+Q1d>pt8n@pT z=NlV4oAi{zm!8os9Gn!ZRA@gJ=NGi-sKlEn*0g)UzTw*K7(b2m#AaICJ}2nk^V4}5 zr122>Jb=Q^?w{{+r9(H0BNhT0!Bt!{jQM${xEdJ^Swb0?e^E@`AE&o%m6l+kbWl~Z zus`pzijo&?_=Q9T288AsD7o-9~v(U4VWl!aSg zk0*RwnpWkl_E_9?$KFOc%tPdE{$wV_%+551llql-8-$&J8rP6_P_VP9+L+>RqXb;a zb@%lo)6IQ%9{u=@&D$ijZWOQSDyx{QS!?nB*LTb#>2}A0ek6va!cCfUnX3}tzwtuyZRU&PXEk}m095{Rcn-Qtm zTEnQAu&csOw&~bdR?;+WCQ)5w-cdIvwpc%(E4!+xW?quMlNGmHa1xht!o;>PWIjF>mOe`2b z%0>KwySADIU8sqb%+{6Rv3HkOa5P0xQ*67Kns+L<@gQr){_vi!^Dt?kmWpJG+%d7L zeqaK67Ff9wT3F&~)F-5<6mUCTlp|2?#h19?R|~sK5)|z0d~!eb^egid`$%q)I=dOP zKX>!#7@wtMTi0Qsno3XuKe3#g5R=m6A$hF?!3^RN+t4}sCa({w5E6Uv!>Ctd)cwx^@8VYUKg+kAl)%qVYa#R z%i8irMcYQeI<)WhFdK+ZJDm9ee37?Jhgk`{-H6lp?~us?b*77MAcIr+Cs3g zHJ{^!MP^_1(!6=cdy|}nphMfWqXuo zl-I6Mt=G7R;PtoGh-J*|-agdk%w9 zRpDNsv3zsWEt%SUq{zLuYCUR#M)!SU8J+82%mPejQGM}?!>s1=PQFPT zx1X-BOek7wby~Qroh=jI�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 z%0D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 literal 0 HcmV?d00001 From 4fe09fbbce0e7acf3e0851caac8fc34c1a884dae Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Thu, 30 Apr 2026 23:54:21 -0700 Subject: [PATCH 25/27] Remove outdated matplotlib panel screenshot from README Co-Authored-By: Claude Sonnet 4.6 --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 6719bdc..e00bb8f 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,6 @@ Make a network diagram with the following features: *Main application panel* ![Main window](Samples/screen5_1_1.png) -*Static network graph with interactive matplotlib panel* -![Network graph](Samples/screen5_1_2.png) - *Static network graph — natural layout with auto-fit zoom* ![Network graph v5.2](Samples/screen_5_2_2.png) From c18c22af1cc2185757a4701e1c8cbd85716e7f8c Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Fri, 1 May 2026 00:07:45 -0700 Subject: [PATCH 26/27] Add code review standards to CLAUDE.md Documents the staff-level review checklist covering correctness (closure bugs, race conditions, thread safety, edge cases), resource safety (main-thread blocking, Tk/matplotlib leaks, memory), safety/PII (payload logging, output path isolation, SQL parameterisation, no credential logging), and architecture consistency (module boundaries, global state lifecycle, Pydantic conventions). Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index f394aba..1a2d04f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -176,6 +176,35 @@ Located at project root. Adds `Source/Module` to `sys.path` and exports `EXAMPLE --- +## Code Review Standards + +When reviewing or implementing any change, evaluate it as a staff-level engineer and architect. Every non-trivial PR should be assessed across these axes before merge: + +### Correctness and robustness +- **Closure / stale capture bugs** — closures in event handlers (Tkinter `bind`, matplotlib `mpl_connect`) must not capture mutable locals that change after registration. Promote to module-level or instance-level state instead. +- **Race conditions** — debounced `after()` callbacks can fire after the widget is destroyed. Always guard with `winfo_exists()` before touching Tk widgets inside a delayed callback. +- **Thread safety** — any `memory.*` mutation outside `_on_packet` (which holds `self._lock`) is a bug. Never read-modify-write shared containers from the Tk main thread without a lock. +- **Edge cases** — test mentally: empty PCAP (zero sessions), single node, live capture → Stop → Visualize!, re-running Visualize! with a cached PNG, closing the panel mid-refresh. + +### Performance and resource safety +- **Main-thread blocking** — `spring_layout`, graphviz render, DNS lookups, file I/O must not run on the Tk main thread. Use `_run_in_thread` + `_poll_thread`. Event bindings that trigger expensive ops (e.g., `` → layout) are a latent freeze. +- **Resource leaks** — every `StringVar.trace_add()` needs a matching `trace_remove()` on teardown. Every `plt.subplots()` needs `plt.close()`. Every `Toplevel` needs a `destroy()` path. Tk canvas image references must be kept alive on `self`. +- **Memory** — PIL images opened in resize callbacks must be cached, not re-opened per event. Debounce rapid `` events (120ms minimum). + +### Safety and PII +- **Payload display** — raw packet payload shown in the UI is expected (forensics tool), but never log payload content at INFO/WARNING level; use DEBUG only. +- **No data exfiltration** — the only outbound calls allowed are: DNS reverse-lookup (`gethostbyaddr`), whois/RDAP (`ipwhois`), OUI vendor lookup (`device_details_fetch`), Tor consensus (`stem`). Any new network call must be documented and opt-in. +- **Output path isolation** — all file writes (PNG, HTML, TXT, SQLite) go to the user-specified output directory only. Never write to `/tmp`, `~`, or relative paths. +- **No credentials in logs** — never log HTTP Authorization headers, cookie values, or TLS pre-master secrets even at DEBUG. +- **SQL safety** — all SQLite queries use parameterised statements (`?` placeholders). No f-string or `%`-formatted SQL. + +### Architecture consistency +- **Module boundaries** — `interactive_gui` reads `memory.*` but never writes it. `user_interface` drives analysis but delegates rendering to `plot_lan_network` and `interactive_gui`. Cross-module writes outside these contracts are bugs. +- **Global state in `interactive_gui`** — all panel state lives in module-level `_*` variables. Any new state variable needs a reset in `_close()` and a guard in every function that reads it (`if _ax is None: return`). +- **Pydantic models** — use attribute access, never dict-style. Use `.model_dump()` for serialisation. + +--- + ## CI (GitHub Actions) Workflow: `.github/workflows/test.yml` From 07e78248c3a6f547b15dda2c8b4b24588edb5d8b Mon Sep 17 00:00:00 2001 From: srinivas11789 Date: Fri, 1 May 2026 00:17:15 -0700 Subject: [PATCH 27/27] Safety hardening: gitignore, SQLite to Reports, stale closure fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - .gitignore: add lib/, memory/, *.db, *.log — prevents accidental commit of session databases, log files, and local tooling - SQLite session cache moves from ~/PcapXray_sessions.db to /Report/pcapxray_sessions.db via lazy _open_store(); the Report/ dir is already gitignored, so sessions are never committed - interactive_gui: fix stale _on_click closure — promote pos/G to _panel_G/_panel_pos module globals updated on every filter change; remove binding that triggered spring_layout on main thread on every canvas click (~300ms freeze) - main.py: chmod 0600 on log file; log only PCAP basename not full path 96 tests green. Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 8 ++++ Source/Module/interactive_gui.py | 66 +++++++++++++++++++------------- Source/Module/sqlite_store.py | 6 +-- Source/Module/user_interface.py | 24 +++++++++--- Source/main.py | 4 ++ 5 files changed, 72 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index f9511e0..9054244 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,11 @@ Test/.coverage # Runtime output (generated by the app during analysis) Database/ Source/Module/Report/ + +# Session databases and log files (generated at runtime, never commit) +*.db +*.log + +# Local tooling and Claude auto-memory +lib/ +memory/ diff --git a/Source/Module/interactive_gui.py b/Source/Module/interactive_gui.py index 7ef8216..917a239 100644 --- a/Source/Module/interactive_gui.py +++ b/Source/Module/interactive_gui.py @@ -28,6 +28,8 @@ _node_filter_var: tk.StringVar | None = None _live_mode: bool = False _base: tk.Tk | None = None +_panel_G = None +_panel_pos: dict | None = None def _build_graph_data(live: bool = False, filter_option: str = "All", node_filter: str = ""): @@ -195,11 +197,14 @@ def refresh_live() -> None: def _apply_panel_filter(*_) -> None: """Redraw the panel with the current traffic + node filter options.""" + global _panel_G, _panel_pos if _ax is None or _canvas_widget is None or _filter_var is None: return filt = _filter_var.get() nf = _node_filter_var.get() if _node_filter_var is not None else "" G, pos, node_colors, edge_colors = _build_graph_data(live=_live_mode, filter_option=filt, node_filter=nf) + _panel_G = G + _panel_pos = pos if G is None: _ax.cla() _ax.set_facecolor("#1e1e2e") @@ -227,9 +232,36 @@ def set_panel_title(title: str) -> None: _info_var.set(title) +def _on_click(event) -> None: + """Click-to-inspect handler — reads from current _panel_G/_panel_pos globals.""" + if _panel_G is None or _panel_pos is None or _ax is None: + return + if event.inaxes != _ax or event.xdata is None: + return + closest, min_dist = None, float("inf") + for node, (x, y) in _panel_pos.items(): + d = (event.xdata - x) ** 2 + (event.ydata - y) ** 2 + if d < min_dist: + min_dist, closest = d, node + if closest is None or min_dist > 0.25: + return + ip = _panel_G.nodes[closest].get("ip", "?") + sessions = [s for s in memory.packet_db if ip in s.split("/")[:2]] + dst_host = memory.destination_hosts.get(ip) + domain = dst_host.domain_name if dst_host and dst_host.domain_name else "—" + protos = sorted({_panel_G[u][v][k].get("proto", "") + for u, v, k in _panel_G.edges(keys=True) + if u == closest or v == closest}) + if _info_var is not None: + _info_var.set( + f"Node: {closest} | IP: {ip} | Domain: {domain} | " + f"Sessions: {len(sessions)} | Protocols: {', '.join(protos)}" + ) + + def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None: """Open (or close) the interactive graph panel.""" - global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base, _panel_G, _panel_pos if _container is not None and _container.winfo_exists(): _close() @@ -254,6 +286,8 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None if G is None and not live: log.info("Interactive graph: no sessions in memory, nothing to show") return + _panel_G = G + _panel_pos = pos # ── Figure ──────────────────────────────────────────────────────────────── fig, ax = plt.subplots(figsize=(9, 7)) @@ -303,7 +337,6 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None node_entry.pack(side=tk.RIGHT, padx=(2, 2), pady=2) ttk.Label(toolbar_row, text="Node:").pack(side=tk.RIGHT, padx=(8, 0), pady=2) node_entry.bind("", _apply_panel_filter) - node_entry.bind("", _apply_panel_filter) _node_filter_var = node_filter_var cw.get_tk_widget().grid(row=1, column=0, sticky="nsew") @@ -323,36 +356,13 @@ def gimmick_initialize(base: tk.Tk, _html_path: str, live: bool = False) -> None _canvas_widget = cw _info_var = info_var - # Click-to-inspect (only meaningful when G exists) - if G is not None: - def _on_click(event): - if event.inaxes != ax or event.xdata is None: - return - closest, min_dist = None, float("inf") - for node, (x, y) in pos.items(): - d = (event.xdata - x) ** 2 + (event.ydata - y) ** 2 - if d < min_dist: - min_dist, closest = d, node - if closest is None or min_dist > 0.25: - return - ip = G.nodes[closest].get("ip", "?") - sessions = [s for s in memory.packet_db if ip in s.split("/")[:2]] - dst_host = memory.destination_hosts.get(ip) - domain = dst_host.domain_name if dst_host and dst_host.domain_name else "—" - protos = sorted({G[u][v][k].get("proto", "") - for u, v, k in G.edges(keys=True) - if u == closest or v == closest}) - info_var.set( - f"Node: {closest} | IP: {ip} | Domain: {domain} | " - f"Sessions: {len(sessions)} | Protocols: {', '.join(protos)}" - ) - fig.canvas.mpl_connect("button_press_event", _on_click) + fig.canvas.mpl_connect("button_press_event", _on_click) base.after(250, lambda: (base.lift(), base.focus_force())) def _close() -> None: - global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base + global _container, _figure, _ax, _canvas_widget, _info_var, _filter_var, _node_filter_var, _live_mode, _base, _panel_G, _panel_pos import matplotlib.pyplot as plt if _figure is not None: plt.close(_figure) @@ -363,6 +373,8 @@ def _close() -> None: _filter_var = None _node_filter_var = None _live_mode = False + _panel_G = None + _panel_pos = None if _container is not None and _container.winfo_exists(): b = _container.winfo_toplevel() _container.destroy() diff --git a/Source/Module/sqlite_store.py b/Source/Module/sqlite_store.py index db89bb8..e844293 100644 --- a/Source/Module/sqlite_store.py +++ b/Source/Module/sqlite_store.py @@ -2,9 +2,9 @@ Module sqlite_store — SQLite session persistence for PcapXray. Saves the full analysis state (packet_db, lan_hosts, destination_hosts, -tor/malicious traffic lists) to ~/PcapXray_sessions.db, keyed by PCAP -filename. On re-analysis of the same file the GUI offers to reload from -the cache instead of re-parsing — making repeat runs near-instant. +tor/malicious traffic lists) to /Report/pcapxray_sessions.db, +keyed by PCAP filename. On re-analysis of the same file the GUI offers to +reload from the cache instead of re-parsing — making repeat runs near-instant. Original concept and prototype: Matt Bernardo (@mbernardo) / Technica Corporation — PR #70 (March 2022). Rewritten here for the Pydantic-based diff --git a/Source/Module/user_interface.py b/Source/Module/user_interface.py index 5f7a6ef..f6d35f0 100644 --- a/Source/Module/user_interface.py +++ b/Source/Module/user_interface.py @@ -132,7 +132,7 @@ def __init__(self, base): self.browser_button['state'] = 'disabled' self.img = "" - self._store = sqlite_store.SqliteStore() + self._store: sqlite_store.SqliteStore | None = None ## Filters self.from_ip = StringVar() @@ -337,7 +337,7 @@ def _stop_live(self) -> None: finally: self._spin_stop(f"✓ {len(memory.packet_db)} sessions captured") import time - self._store.save_session(f"live_{iface}_{int(time.time())}") + self._open_store().save_session(f"live_{iface}_{int(time.time())}") self.live_button.config(text="▶ Start Live") self._live_status.config(text="📡 Captured — click Visualize! for snapshot", fg="#81c784") @@ -388,6 +388,17 @@ def _force_focus(self) -> None: self.base.focus_force() self.base.after(200, lambda: self.base.attributes('-topmost', False)) + def _open_store(self) -> sqlite_store.SqliteStore: + """Return the session store, creating it under destination_report/Report/ if needed.""" + report_dir = os.path.join(self.destination_report.get(), "Report") + os.makedirs(report_dir, exist_ok=True) + db_path = os.path.join(report_dir, "pcapxray_sessions.db") + if self._store is None or self._store._db_path != db_path: + if self._store is not None: + self._store.close() + self._store = sqlite_store.SqliteStore(db_path) + return self._store + def _spin_start(self, text: str = "Working") -> None: if self._spin_job is not None: self.base.after_cancel(self._spin_job) @@ -445,7 +456,7 @@ def pcap_analyse(self): mb.showerror("Error", "Permission denied to create report! Run with higher privilege.") return - log.info("pcap_analyse: file=%s", self.pcap_file.get()) + log.info("pcap_analyse: file=%s", os.path.basename(self.pcap_file.get())) if not os.path.exists(self.pcap_file.get()): mb.showerror("Error", "File Not Found!") return @@ -462,13 +473,14 @@ def pcap_analyse(self): self.filename = os.path.basename(self.pcap_file.get()).replace(".pcap", "").replace(".pcapng", "") # Offer to reload from SQLite cache if this PCAP was analyzed before - if self.filename and self._store.has_session(self.filename): + store = self._open_store() + if self.filename and store.has_session(self.filename): if mb.askyesno("Reload Session", f"Cached analysis found for '{self.filename}'.\n" "Reload without re-parsing the PCAP?"): log.info("pcap_analyse: reloading session '%s' from cache", self.filename) self._spin_start("Loading cache") - self._store.load_session(self.filename) + store.load_session(self.filename) self._spin_stop(f"✓ {len(memory.packet_db)} sessions (cached)") self._populate_filter_menus() self._re_enable_controls() @@ -491,7 +503,7 @@ def pcap_analyse(self): threading.Thread(target=report_generator.ReportGenerator(self.destination_report.get(), self.filename).packetDetails, args=(), daemon=True).start() if self.filename: - self._store.save_session(self.filename) + self._open_store().save_session(self.filename) self._populate_filter_menus() self._re_enable_controls() diff --git a/Source/main.py b/Source/main.py index 1f1a218..2348102 100644 --- a/Source/main.py +++ b/Source/main.py @@ -12,6 +12,10 @@ logging.StreamHandler(), ], ) +try: + os.chmod(_log_file, 0o600) +except OSError: + pass log = logging.getLogger(__name__) log.info("PcapXray starting — log file: %s", _log_file)