Поскольку ifconfig
в основных дистрибутивах Linux это явно устарело, я решил кое-что узнать об ip
инструменте, который предполагается использовать вместо ifconfig
.
И тут я столкнулся с проблемой: когда запускается сам по себе, ifconfig
показывает количество байтов, полученных / переданных на каждом интерфейсе, помимо другой информации. Я не мог найти способ получить это от ip
. Нет ли такой функции в этом инструменте? Какие еще встроенные инструменты я могу использовать для получения этой статистики?
linux
networking
ifconfig
Justinas
источник
источник
netstat
. linux.die.net/man/8/netstatОтветы:
Другой вариант - использовать файловую систему / proc. Proc / нетто / / DEV файл содержит статистические данные о сконфигурированных сетевых интерфейсах. Каждая строка предназначена для одного сетевого интерфейса и содержит статистику для приема и передачи. Статистика включает в себя метрики, такие как общее количество принятых / переданных байтов, пакетов, отбрасываний, ошибок и так далее.
Или вы можете попробовать команду netstat, которая может отображать все сетевые интерфейсы и связанную статистику:
источник
/proc/net/dev
имеет самый чистый формат из всех решений IMO, принимающих.cat /proc/net/dev
как долго?/proc/net/dev
?Команда,
ip
которая является частью пакета iproute2, является новым инструментом.link
Субкоманда для управления устройствами / интерфейсами.Если вы можете получить статистику интерфейса, используя
ip -s link
источник
proc
ответ прост и легок, этот ответ, вероятно, наиболее близок к «замене»ifconfig
инструмента, поскольку он был явно разработан с учетом необходимости заменыifconfig
.ip -s link show dev eth0
показывать только трафик на eth0-h
флаг. Так , например,ip -h -s link
.Вы можете получить всю необходимую информацию через proc
Также вы можете использовать iptables и разобрать вывод.
Для полученных пакетов
для передаваемых пакетов
Если сервер является шлюзом, то вам также следует проанализировать цепочку FORWARD
источник
Вы можете прочитать файл
/sys/class/net/wlp3s0/statistics/rx_bytes
и получить rx_byes напрямую, без вызова другой команды,vnstat
это тоже хорошо. Linux хранит всю информацию в файлах, как я знаю, поэтому лучше найти эти файлы и получить информацию. Поиск соответствующего файла является проблемой.источник