/proc/net/dev — файл, который характеризует трафик в Linux — количество информации и пакеты уходящие с интерфейса сервера во внешнюю сеть и поступающие извне.
/proc/net/dev на Linux сервере
В Linux (в Debian подобных дистрибутивах) объем трафика можно оценить просмотрев файл /proc/net/dev
cat /proc/net/dev
В него пишется количество байт с последнего старта системы. Как и всё содержимое директории /proc файл с сетевой статистикой существует пока работает система. При следующей загрузке сервера в нём будет содержимое характеризующее следующий сеанс работы .
Пример для серверной системы с операционной системой Ubuntu:
Удобно пользоваться онлайн калькулятором для перевода байт в мегабайты или гигабайты.
В файле две основные колонки — характеризующие входящий и исходящий трафик. Строки обозначают интерфейсы, по которым есть информация.
На сервере три интерфейса: lo — loopback, псеводинтерфейс сервера, ens3 — внешний интерфейс сервера, docker0 — интерфейс, используемый системой контейнеризации Docker.
Внешним интерфейсом для серверов является как правило eth0 или eth1. В следующем примере для десктоп системы внешний интерфейс имеет имя wlp6s0b1
Пример перевода в Мегабайты для рабочей станции с Linux
Просматриваем файл, из вывода выбираем первую строку и из неё берём данные по интересующему нас интерфейсу.
cat /proc/net/dev | head -n 1 ; cat /proc/net/dev | grep wlp6s0b1
Inter-| Receive | Transmit
wlp6s0b1: 126469709 105683 0 1 0 0 0 0 10305695 60742 0 0 0 0 0 0
Без выборки просто посмотрев файл можно увидеть имена столбцов.
Исходящий трафик в примере 10305695. Переведя 10305695 байт в мегабайты получаем ~ 103 Мб. Это исходящий трафик с последнего старта системы.
Значения из /proc/net/dev можно использовать скриптах мониторинга и для построения графиков. Значение может считывать такая система визуализации как netdata
Читайте также про туннели ip-ip и про то как измерить пропускную способность канала между двумя хостами с помощью утилиты iperf