Мониторинг сетевой карты С++ linux

Необходимо мониторить суммарный объем данных проходящих через сетевую карту, как такое делать на в linux используя c++ ??


Ответы (2 шт):

Автор решения: eri

Например http://man7.org/linux/man-pages/man3/getifaddrs.3.html или http://man7.org/linux/man-pages/man7/netdevice.7.html через ioctl.

Или надергать из sysfs через файлы

cat /sys/class/net/eth0/statistics/rx_bytes
cat /sys/class/net/eth0/statistics/rx_packets

cat /sys/class/net/eth0/statistics/tx_packets
cat /sys/class/net/eth0/statistics/tx_bytes
→ Ссылка
Автор решения: xverizex

Установите qtchooser. потом запустите qdbusviewer. перейдите во вкладку system bus. найдите org.freedesktop.NetworkManager. найдите то что на скриншоте. подключитесь к шине, к сигналу. и на каждой смене скорости получайте значения. dbus

→ Ссылка