Two side-by-side tables fed from snapshot.scan_firehose: Top Ports (port + 24h hits) and Top Sources (IP + CC + hits). Below them a one-line muted mono summary "Xk records · Yk sources · Z targets — last 24h." Tables, not bar charts — operator wants to read the port number 22 / 3389, not stare at a horizontal bar. Port and IP and hit counts are mono with tabular-nums (digit alignment matters). Country code stays sans (text label, not a number). Hover row background var(--bg-row-hover) — subtle, no transform / no transition / no theatre. Defensive empty-state — when snapshot has no scan_firehose yet, tables render as empty (per ethos: no "no data" message). PORT_ROW_LIMIT / SOURCE_ROW_LIMIT / THOUSAND / MILLION constants at module scope (no inline magic). Renders in the right column as the bottom panel per spec §11.1 column ordering. |
||
|---|---|---|
| .. | ||
| advanced | ||
| beginner | ||
| intermediate | ||