89 votes

Comment obtenir les octets TX/RX sans ifconfig ?

Depuis ifconfig est apparemment déprécié dans les principales distributions Linux, j'ai pensé que je pourrais apprendre quelque chose sur l'option ip qui est censé être utilisé au lieu de ifconfig .

Et là, j'ai rencontré un problème : quand il est exécuté seul, ifconfig montre le nombre d'octets reçus/transmis sur chaque interface ainsi que d'autres informations. Je n'ai pas trouvé de moyen d'obtenir cela à partir de ip . Cette fonction n'existe-t-elle pas dans cet outil ? Quels autres outils intégrés pourrais-je utiliser pour obtenir ces statistiques ?

85voto

jammus Points 1796

Le site ip qui fait partie du paquetage iproute2 est le nouvel outil. Le site link permet de gérer les périphériques/interfaces.

Si vous pouvez obtenir les statistiques d'une interface en utilisant 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

74voto

dsmsk80 Points 5707

Une autre option consiste à utiliser le système de fichiers /proc. Le site /proc/net/dev contient des statistiques sur les interfaces réseau configurées. Chaque ligne est dédiée à une interface réseau et contient des statistiques pour la réception et la transmission. Les statistiques comprennent des mesures telles que le nombre total d'octets reçus/transmis, de paquets, d'abandons, d'erreurs, etc.

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

Ou vous pouvez essayer le netstat qui permet d'afficher toutes les interfaces réseau et les statistiques associées :

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

63voto

ALex_hha Points 6885

Vous pouvez obtenir toutes les informations nécessaires via 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

Vous pouvez également utiliser iptables et analyser la sortie.

Pour les paquets reçus

# iptables -L INPUT -n -v

pour les paquets transmis

# iptables -L OUTPUT -n -v 

Si le serveur est une passerelle, vous devez également analyser les données suivantes FORWARD chaîne

1voto

Dinuka Salwathura Points 111

Vous pouvez lire le fichier /sys/class/net/wlp3s0/statistics/rx_bytes et obtenir directement les rx_byes sans appeler une autre commande, vnstat est également bon. Linux stocke toutes les informations dans des fichiers comme je le sais, donc il vaut mieux trouver ces fichiers et obtenir des informations. Trouver le fichier pertinent est le défi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X