Вопрос: Как получить байты TX / RX без ifconfig?


поскольку ifconfig по-видимому, не рекомендуется в основных дистрибутивах Linux, я думал, что я кое-что узнаю о ip инструмент, который должен использоваться вместо ifconfig,

И здесь я столкнулся с проблемой: когда бега сама по себе, ifconfig показывает количество байтов, полученных / переданных по каждому интерфейсу, кроме другой информации. Я не мог найти способ получить это от ip, Нет ли такой функции в этом инструменте? Какие другие встроенные инструменты я мог использовать для получения этих характеристик?


50
2017-08-24 19:28


Источник


Вы также можете проверить netstat, linux.die.net/man/8/netstat - SunSparc


Ответы:


Другой вариант - использовать файловую систему / proc. / Proc / нетто / DEV файл содержит статистику о настроенных сетевых интерфейсах. Каждая строка посвящена одному сетевому интерфейсу и содержит статистику для приема и передачи. Статистика включает показатели, такие как общее количество принятых / переданных байтов, пакетов, капель, ошибок и т. Д.

cat /proc/net/dev

    Inter-|   Receive                                                |  Transmit
     face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

    lo:    29846937   129576     0    0    0     0          0       0 29846937   129576     0    0    0     0       0          0
 wlan0:    9467393340 8027251    0    0    0     0          0       0 2559312961 5896509    0    0    0     0       0          0

Или вы можете попробовать NetStat команда, которая может отображать все сетевые интерфейсы и соответствующую статистику:

netstat -i

Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
lo         65536   0   130435      0      0      0   130435      0      0      0 LRU
wlan0       1492   0  8028018      0      0      0  5897361      0      0      0 BMRU

40
2017-08-24 20:57



/proc/net/dev имеет самый чистый формат всех решений IMO, принимающих. - justinas
Статистика, показанная cat /proc/net/dev сколько времени? - lalebarde
Как вы получаете tx / rx из /proc/net/dev ? - ppumkin
Попробуйте разобрать 3 и 11. поле вывода, что-то вроде awk '/: / {print ($ 1, $ 3, $ 11)}' </ proc / net / dev - dsmsk80


ip команда, которая является частью пакета iproute2, является новым инструментом. link Подкоманда предназначена для управления устройствами / интерфейсами.

Если вы можете получить статистику интерфейса, используя ip -s link

root:~# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    50679705   529967   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    50679705   529967   0       0       0       0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:1d:7d:aa:e3:4e brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    187663757  308710386 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    4051284587 532435117 0       0       0       0

44
2017-08-24 21:00



В то время proc ответ чистый и легкий, этот ответ, вероятно, ближе всего к «замене» для ifconfig потому что он был явно разработан с заменой ifconfig в уме. - Moshe Katz
ip -s link show dev eth0 показывать только трафик на eth0 - pim


Вы можете получить всю необходимую информацию через proc

# 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

Также вы можете использовать iptables и синтаксический вывод.

Для принятых пакетов 

# iptables -L INPUT -n -v

для переданных пакетов

# iptables -L OUTPUT -n -v 

Если сервер является шлюзом, вы также должны разбирать ВПЕРЕД цепь


39
2017-08-24 20:11





Вы можете прочитать файл /sys/class/net/wlp3s0/statistics/rx_bytes и получить rx_byes напрямую, не вызывая другую команду, vnstat также хорошо. Linux хранит всю информацию в файлах, как я знаю, поэтому лучше найти эти файлы и получить информацию. Поиск соответствующего файла - вызов.


2
2018-03-25 17:06



Добро пожаловать в сообщество! Хорошо, это правильно, но обратите внимание, что некоторые старые ядра не предоставляют эти файлы. Желаю вам удачи и успехов! ;) - FarazX