GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere byte TX/RX senza ifconfig?

Soluzione 1:

Il ip comando che fa parte del pacchetto iproute2 è il nuovo strumento. Il link il sottocomando è per la gestione dei dispositivi/interfacce.

Se puoi ottenere le statistiche di un'interfaccia usando 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

Soluzione 2:

Un'altra opzione è usare il filesystem /proc. Il file /proc/net/dev contiene statistiche sulle interfacce di rete configurate. Ogni riga è dedicata a un'interfaccia di rete e contiene statistiche per la ricezione e la trasmissione. Le statistiche includono metriche come il numero totale di byte ricevuti/trasmessi, pacchetti, cadute, errori e così via.

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

Oppure puoi provare netstat comando che può visualizzare tutte le interfacce di rete e le relative statistiche:

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

Soluzione 3:

Puoi ottenere tutte le informazioni necessarie tramite 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

Inoltre puoi usare iptables e analizzare l'output.

Per i pacchetti ricevuti

# iptables -L INPUT -n -v

per i pacchetti trasmessi

# iptables -L OUTPUT -n -v 

Se il server è un gateway, dovresti anche analizzare FORWARD catena


Linux
  1. Come ottenere la dimensione della directory in Linux

  2. Come ottenere l'ID processo del processo in background?

  3. Come rimuovere X byte dalla fine di un file di grandi dimensioni senza leggere l'intero file?

  4. Come ottenere un elenco di directory in una zip?

  5. tcpdump:come ottenere un output grepable?

Come ottenere il tuo indirizzo IP su Linux

Come ottenere un tipo di dati di variabili in Zsh?

Come far funzionare Uuencode?

Come installare ifconfig su Debian

Come rimuovere un file senza usare rm?

Come ottenere ldapsearch su Scientific Linux?