Vraag Hoe TX / RX bytes zonder ifconfig te krijgen?


Sinds ifconfig is blijkbaar verouderd in de grote Linux-distributies, ik dacht dat ik iets zou leren over de ip gereedschap dat zou moeten worden gebruikt in plaats van ifconfig.

En hier liep ik tegen een probleem aan: als het alleen draait, ifconfig toont het aantal ontvangen / verzonden bytes op elke interface naast andere informatie. Ik kon geen manier vinden om dit te krijgen ip. Is er geen functie in deze tool? Welke andere ingebouwde hulpmiddelen kan ik gebruiken om die statistieken te krijgen?


51
2017-08-24 19:28


oorsprong


Je kunt ook uitchecken netstat. linux.die.net/man/8/netstat - SunSparc


antwoorden:


Een andere optie is om het / proc-bestandssysteem te gebruiken. De / Proc / net / dev bestand bevat statistieken over de geconfigureerde netwerkinterfaces. Elke regel is gewijd aan één netwerkinterface en bevat statistieken voor ontvangen en verzenden. De statistieken bevatten metrics zoals het totale aantal ontvangen / verzonden bytes, pakketten, drops, fouten enzovoort.

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

Of je kunt het proberen netstat commando dat alle netwerkinterfaces en gerelateerde statistieken kan weergeven:

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

41
2017-08-24 20:57



/proc/net/dev heeft de schoonste indeling van alle oplossingen die IMO accepteert. - justinas
Statistieken getoond door cat /proc/net/dev zijn voor hoe lang? - lalebarde
Hoe krijg je tx / rx van /proc/net/dev ? - ppumkin
Probeer het 3. en 11. veld van de uitvoer te analyseren, iets als awk '/: / {print ($ 1, $ 3, $ 11)}' </ proc / net / dev - dsmsk80


De ip opdracht die deel uitmaakt van het iproute2-pakket is de nieuwe tool. De link subopdracht is voor het beheer van de apparaten / interfaces.

Als u de statistieken van een interface kunt gebruiken 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



Terwijl de proc antwoord is schoon en lichtgewicht, dit antwoord is waarschijnlijk het dichtst bij een "vervanging" voor de ifconfig hulpmiddel omdat het expliciet is ontworpen met vervanging van ifconfig in gedachten. - Moshe Katz
ip -s link show dev eth0 om alleen verkeer op eth0 te tonen - pim


Je kunt alle benodigde info krijgen 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

U kunt ook iptables gebruiken en de uitvoer analyseren.

Voor ontvangen pakketten 

# iptables -L INPUT -n -v

voor verzonden pakketten

# iptables -L OUTPUT -n -v 

Als server een gateway is, moet je ook parseren VOORUIT keten


39
2017-08-24 20:11





Je kunt het bestand lezen /sys/class/net/wlp3s0/statistics/rx_bytes en ontvang de rx_byes direct zonder een ander commando te bellen, vnstat is ook goed. Linux slaat alle informatie op in bestanden die ik ken, dus beter om die bestanden te vinden en informatie te krijgen. Het vinden van het relevante bestand is de uitdaging.


2
2018-03-25 17:06



Welkom bij de community! Goed gedaan, dat klopt, maar merk op dat sommige oude kernels deze bestanden niet leveren. Wens je geluk en succes! ;) - FarazX