tl; dr Использование полосы пропускания, записанное nload ( домашняя страница ), выше, чем то, что обеспечивается tcpdump ( home page ).
Кажется, есть разница в использовании полосы пропускания при запуске tcpdump -e -w - | pv -a> / dev / null
в отличие от запуска nload
.
Например, Я видел использование полосы пропускания 150 кбит / с с использованием nload
, но только 30 кбит / с с использованием tcpdump
. Чтобы исключить pv
, я сделал следующее:
# open a tmux session where tcpdump dumps all traffic into a file for 60 seconds
$ tmux new-session -d -s tcpdump_60secs 'tcpdump -e -w tempfile' && sleep 60 && tmux kill-server
$ wc -c tempfile
# divide by 60, resulting in bytes per second
Любые указатели на то, как nload
получает статистику пропускной способности, будут оценены.
Реплицируется в чистой установке Ubuntu 18.04 на контейнере LXC proxmox, протестированном с nload build с использованием commit 8f92dc0.
Я просмотрел исходный код, и оказалось, что данные в основном приходят из / proc / net / dev
Ссылка на GitHub
Чтобы посмотреть дальше, данные поступают из ядра, а не из прямых источников, и будут включать в себя тяжелое погружение в это дерево исходных текстов для полного понимания процесса.