Чтение RX и TX через iproute

Вопрос или проблема

Я помню, что могу видеть RX и TX с помощью ifconfig.
Например:

root@debian:~# ifconfig enp0s31f6
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.1.106  netmask 255.255.255.255  broadcast 192.168.1.106
        ether 54:e1:ad:62:7f:b6  txqueuelen 1000  (Ethernet)
        RX packets 87  bytes 11064 (10.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 103  bytes 12049 (11.7 KiB)
        TX errors 0  dropped 525 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xec200000-ec220000  

Как я могу сделать это с помощью iproute?

Вы должны сделать это следующим образом:
ip stats show dev YOUR_INTERFACE
#например:
root@debian:~# ip stats show dev wlp58s0
3: wlp58s0: group afstats subgroup mpls
3: wlp58s0: group link
RX: bytes packets errors dropped missed mcast
229598541 331613 0 1 0 0
TX: bytes packets errors dropped carrier collsns
53767557 259805 0 38 0 0
3: wlp58s0: group offload subgroup l3_stats off used off
3: wlp58s0: group offload subgroup hw_stats_info
l3_stats off used off
3: wlp58s0: group offload subgroup cpu_hit

3: wlp58s0: group xstats_slave subgroup bond suite 802.3ad
3: wlp58s0: group xstats subgroup bond suite 802.3ad
3: wlp58s0: group xstats_slave subgroup bridge suite mcast
3: wlp58s0: group xstats_slave subgroup bridge suite stp
3: wlp58s0: group xstats subgroup bridge suite mcast
3: wlp58s0: group xstats subgroup bridge suite stp

Ответ или решение

Функционирование сетевого интерфейса в компьютере включает в себя два основных процесса — прием (RX) и передачу (TX) данных. Для управления и мониторинга этих процессов используется набор инструментов и утилит, среди которых выделяется ifconfig. Тем не менее, последнее время все большее признание получает утилита ip из пакета iproute2, заменяющая устаревший ifconfig. Рассмотрим детально, как с помощью iproute2 можно просматривать статистику RX и TX, опираясь на теорию, примеры и области для применения.

Теория

Команда ifconfig — это устаревшая утилита для конфигурации сетевых интерфейсов. Она отображает информацию о сетевых интерфейсах, включая число полученных и отправленных пакетов (RX и TX), а также статистику по ошибкам и пропущенным пакетам. Пример использования ifconfig выглядит следующим образом:

root@debian:~# ifconfig enp0s31f6
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.1.106  netmask 255.255.255.255  broadcast 192.168.1.106
        ether 54:e1:ad:62:7f:b6  txqueuelen 1000  (Ethernet)
        RX packets 87  bytes 11064 (10.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 103  bytes 12049 (11.7 KiB)
        TX errors 0  dropped 525 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xec200000-ec220000  

Тем не менее, в современном мире наиболее актуальной альтернативой является использование iproute2, предлагающей более широкие и гибкие возможности управления сетевыми интерфейсами.

Пример

Команда ip из пакета iproute2 предоставляет более мощные инструменты для работы с сетевыми интерфейсами. Чтобы получить статистику RX и TX, можно воспользоваться командой ip -s link, которая покажет данные о сетевых интерфейсах, включая количество переданных и полученных байт и пакетов, ошибки и другие связанные метрики.

Пример использования ip для получения статистики:

root@debian:~# ip -s link show enp0s31f6
3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 54:e1:ad:62:7f:b6 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    229598541  331613   0       1      0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    53767557   259805   0       38     0       0       

Применение

Переход на использование iproute2 вместо ifconfig предоставляет не только более углубленный и современный подход к управлению сетевыми интерфейсами, но также облегчает интеграцию с более сложными сетевыми структурами и протоколами. Существует несколько практических причин использовать iproute2:

  1. Современность: Инструменты пакета iproute2 более актуальны и продолжают активно развиваться, в отличие от ifconfig, который был признан устаревшим.

  2. Гибкость: iproute2 предлагает более детализированную информацию о сетевых интерфейсах, включая возможность работы с несколькими интерфейсами одновременно, что делает его более удобным для сложных сетей.

  3. Совместимость: Многие современные системы и инструменты автоматизации сетевого управления, такие как Ansible и Puppet, чаще всего используют iproute2 для выполнения задач по управлению сетями.

  4. Масштабирование и управление сложными конфигурациями: Если ваша инфраструктура требует управления множеством сетевых интерфейсов, использования политик маршрутизации, настройки сетевых пространств имен или настройки VPN, использование iproute2 значительно облегчит эти задачи.

Заключение

Переход от ifconfig к iproute2 не только логичен в рамках современного подхода к управлению сетями, но и необходим для всех, кто хочет оставаться актуальным в мире стремительно развивающихся сетевых технологий. Используя ip -s link, вы откроете для себя новый уровень контроля и точности в мониторинге и настройке сетевых интерфейсов, что жизненно важно для поддержания надежной и эффективной работы сетевой инфраструктуры.

Оцените материал
Добавить комментарий

Капча загружается...