RustNet: мониторинг сетевых соединений по процессам

источник ↗ ·

RustNet — кросс-платформенный TUI-инструмент для реального времени мониторинга TCP/UDP/QUIC-соединений с атрибуцией по процессам, DPI и песочницей без root/tcpdump.

AI Summary

🌐 Общий обзор (1–2 абзаца): RustNet — мощный терминальный инструмент для мониторинга сетевых соединений (TCP, UDP, QUIC) с атрибуцией по процессам, глубоким анализом пакетов (DPI) и встроенной песочницей. Работает на Linux (eBPF/PKTAP), macOS, Windows, FreeBSD без tcpdump/Wireshark/root. Показывает владельца соединения, протоколы (HTTP/S, DNS, SSH, QUIC и др.), геолокацию (GeoIP), retransmissions, lifecycle с цветовой индикацией. TUI с vim/fzf-фильтрами (port:, sni:, process:), SSH-friendly, экспорт PCAP с PID. Заполняет пробел между netstat/ss и Wireshark: фокус на соединениях, не пакетах. Статистика интерфейсов (RX/TX, ошибки, drops) каждые 2с. Установка: brew/choco/apt/dnf. eBPF по умолчанию (fallback на procfs), низкий overhead.

🔥 Ключевые тезисы/выводы:Per-process атрибуция: eBPF (Linux, comm≤16симв.), PKTAP (macOS), native APIs (Win/FreeBSD) — видит PID/процесс, Wireshark/netstat не могут. • DPI без dissectors: Распознаёт HTTP/SNI, DNS, SSH, QUIC, NTP, DHCP+; GeoIP (MaxMind локально, без сети). • Безопасность: Landlock/Seatbelt/priv-drop сразу после libpcap; sandboxed by default (SECURITY.md). • Аналитика: Retransmits, OOO, fast-retransmit; lifecycle (white→yellow→red); toggle 't' для истории. • Интерфейсы: RX/TX bytes/pkts, errors/drops/collisions; tab 'i' для деталей (sysfs/getifaddrs/GetIfTable2). • Установка/launch: sudo rustnet (cap_net_raw для Linux без sudo); Npcap для Win; brew/apt/dnf/choco.

Мои мысли

graph

Карта связей