Стриминговый счётчик статистики по пакетам (Ethernet/IP/TCP/UDP).
- Без полного обхода интерфейсов. Открываем
pcapнапрямую по имени (Capture::from_device("eth0")), не делаемDevice::list(). - Быстрее MAC-детект направления. Читаем MAC выбранного интерфейса из
/sys/class/net/<iface>/address(Linux); если не удалось — fallback наpktбез направления (вundefined). - Стриминг без буфера. Пакеты обрабатываются на лету, не копятся в
Vec<Vec<u8>>. - Читабельные таблицы. Красивый табличный вывод (
comfy-table), человекочитаемые единицы. - Код разбит на модули.
# по умолчанию: автоинтерфейс ОС
tstat
# конкретный интерфейс, BPF фильтр, 5 секунд
tstat -i eth0 -f "tcp or udp" -w 5
# только входящий трафик, JSON-вывод
tstat -i eth0 -d in -j
## Сборка
Потребуется установить либу:apt-get install libpcap-dev