Solución 1:
El ip
El comando que forma parte del paquete iproute2 es la nueva herramienta. El link
el subcomando es para administrar los dispositivos/interfaces.
Si puede obtener las estadísticas de una interfaz 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
Solución 2:
Otra opción es usar el sistema de archivos /proc. El /proc/net/dev El archivo contiene estadísticas sobre las interfaces de red configuradas. Cada línea está dedicada a una interfaz de red y contiene estadísticas para recibir y transmitir. Las estadísticas incluyen métricas como el número total de bytes recibidos/transmitidos, paquetes, caídas, errores, 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
O puedes probar el netstat comando que puede mostrar todas las interfaces de red y estadísticas relacionadas:
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
Solución 3:
Puede obtener toda la información necesaria a través de 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
También puede usar iptables y analizar la salida.
Para paquetes recibidos
# iptables -L INPUT -n -v
para paquetes transmitidos
# iptables -L OUTPUT -n -v
Si el servidor es una puerta de enlace, también debe analizar FORWARD cadena