linux - configurar - ipv6 cmd
Linux: recupera los contadores de paquetes enviados/recibidos por interfaz(ethernet, ipv4, ipv6) (10)
En Linux, ¿cómo puedo (programáticamente) recuperar los siguientes contadores por interfaz ?
- Marcos de Ethernet enviados / recibidos,
- Enviados / recibidos paquetes IPv4,
- Enviados / recibidos paquetes IPv6.
O simplemente analiza la salida de netstat -i
. O strace netstat -i
, y strace netstat -i
para averiguar dónde busca la información.
ifconfig
te dice la cantidad de datos transferidos (bytes y paquetes).
Debería poder hacer esto usando las reglas de iptables
y los contadores de paquetes, por ejemplo
# input and output must be accounted for separately
# ipv4, eth0
iptables -I INPUT -i eth0
iptables -I OUTPUT -o eth0
# ipv6, eth0
ip6tables -I INPUT -i eth0
ip6tables -I OUTPUT -o eth0
Y para ver las estadísticas, analice el resultado de estas:
iptables -L -vxn
ip6tables -L -vxn
También debe buscar el indicador -Z
para cuando quiera restablecer los contadores.
Los siguientes comandos dan estadísticas IPv4 / IPv6 mantenidas en todo el sistema:
netstat --statistics
nstat -z
cat /proc/net/dev_snmp6/eth0 gives ipv6 stats per interface
Puede imprimir estadísticas completas de ethernet con ethtool : ethtool -S eth1
Puedes hacerlo fácilmente en C # en monodesarrollo:
using System.Net.NetworkInformation;
foreach (NetworkInterface ni in interfaces)
{
// perform your calculations
}
En mi sistema, hay archivos en /sys/class/net/eth0/statistics
, lo que da varias estadísticas sobre las interfaces de red.
Esto está asumiendo un Linux vagamente reciente que tiene /sys
(sysfs) montado.
Siempre puede analizar los diversos archivos de estado del kernel, creo que esto es lo que hacen las herramientas como netstat
.
La página man sugiere:
-
/proc/net/raw
- información del conector RAW -
/proc/net/tcp
- Información del socket TCP -
/proc/net/udp
- Información del socket UDP
Supongo que debería haber una forma de no hacerlo para hacerlo, tal vez en /sys
también. Eché un vistazo rápido pero no encontré nada.
cat /proc/net/dev
Debe contener contadores, estadísticas e información.