Top source IPs (24 h) Frequent IPs ↗
No data yet.
| IP | Connections | |
|---|---|---|
= h($row['src_ip']) ?> |
= number_format($row['cnt']) ?> |
Top targeted ports (24 h)
No data yet.
| Port | Connections | |
|---|---|---|
= (int)$row['dst_port'] ?> |
= number_format($row['cnt']) ?> |
Recent connections = $filter_node ? '(filtered)' : '' ?> JSON API ↗
No connections ingested yet. Make sure at least one node is configured and the fetch cron is running.
| Time (UTC) | Node | Source IP | Src port | Dst port | Banner len | Banner preview |
|---|---|---|---|---|---|---|
| = h(substr($c['occurred_at'], 0, 19)) ?> | = h($c['node_name']) ?> | = h($c['src_ip']) ?> |
= (int)$c['src_port'] ?> | = (int)$c['dst_port'] ?> |
= (int)$c['banner_len'] ?> |
= h(mb_substr(banner_text($c['banner_hex']), 0, 40)) ?>
|
Node status
No nodes configured. Add one.
| Name | API URL | Enabled | Last fetched |
|---|---|---|---|
| = h($n['name']) ?> | = h($n['api_url']) ?> |
= $n['enabled'] ? 'yes' : 'no' ?> | = $n['last_fetched_at'] ? h($n['last_fetched_at']) : 'never' ?> |
Auto-refreshes every 30 s · = date('Y-m-d H:i:s') ?> server time