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