Linux usa scripts de shell para contar el tráfico de red de alta velocidad. Paso

  

En las operaciones del sistema Linux, las herramientas se pueden usar para monitorear el tráfico de red, pero existen ciertas limitaciones para el monitoreo de red de alta velocidad. Para el monitoreo de tráfico de red de alta velocidad, se pueden usar scripts de shell. La siguiente pequeña serie lo introducirá en Linux usando scripts de shell para monitorear el tráfico de red de alta velocidad.

En este artículo se describe un simple script de shell que puede monitorizar el tráfico de red y no se basa en la biblioteca libpcap lento. Estos scripts admiten interfaces de red de alta velocidad del tamaño por encima de Gb. Si está interesado en el tráfico de red del "tipo de agregación", puede contar el tráfico en cada interfaz de red.

Los scripts se basan principalmente en el sistema de archivos virtual sysfs, un mecanismo utilizado por el kernel para enviar la información relacionada con el dispositivo o el controlador al espacio del usuario. Los datos de análisis relevantes de la interfaz de red se enviarán a través de " /sys /class /net /"ethX" /statistics ".

Por ejemplo, el informe de análisis del puerto de red eth0 se enviará a estos archivos:

/sys /class /net /eth0 /statistics /rx_packets: paquete de datos recibidos

/sys /class /net /eth0 /statistics /tx_packets: Número de paquetes transmitidos

/sys /class /net /eth0 /statistics /rx_bytes: Número de bytes recibidos

/sys /class /net /eth0 /statistics /tx_bytes: Número de bytes transferidos

/sys /class /net /eth0 /statistics /rx_dropped: La cantidad de datos descartados cuando se recibe un paquete < Br>

/sys /class /net /eth0 /statistics /tx_dropped: La cantidad de datos eliminados por el paquete de transporte

Estos datos se actualizan automáticamente cuando cambian los datos del núcleo. Por lo tanto, puede escribir una serie de scripts para analizar y calcular estadísticas de tráfico. Aquí está el guión como este (gracias a joemiller). La primera secuencia de comandos es contar la cantidad de datos por segundo, incluido recibir (RX) o enviar (TX). El último es una descripción del ancho de banda de transmisión (RX) de recepción (RX) en la transmisión de red. No se requieren herramientas para la instalación en estos scripts.

Medición de datos de puerto de red por segundo:

#! /bin /bash

INTERVAL = " 1 " # intervalo de actualización en segundos

si [-z " $ 1 "]; luego

echo

echo use: $ 0 [network-interface]

echo

echo p. ej. $ 0 eth0

echo

echo muestra paquetes por segundo

salir de

fi

IF = $ 1

while true

do

R1 = `cat /sys /class /net /$ 1 /statistics /rx_packets`

T1 = `cat /sys /class /net /$ 1 /statistics /tx_packets`

sleep $ INTERVAL

R2 =` Cat /sys /class /net /$ 1 /statistics /rx_packets`

T2 = `cat /sys /class /net /$ 1 /statistics /tx_packets`

TXPPS =` expr $ T2 - $ T1`

RXPPS = `expr $ R2 - $ R1`

echo " TX $ 1: $ TXPPS pkts /s RX $ 1: $ RXPPS pkts /s "

hecho
Anterior12Siguiente Total 2 Páginas

Copyright © Conocimiento de Windows All Rights Reserved