usar tutorial jperf gui descarga como linux networking bandwidth wireshark

linux - gui - jperf tutorial



Cómo automatizar la medición del uso del ancho de banda entre dos hosts (1)

Tengo una aplicación que tiene un cliente TCP y un servidor. Configuré el cliente y el servidor en máquinas separadas. Ahora quiero medir cuánto ancho de banda se está consumiendo (bytes enviados y recibidos durante una única ejecución de la aplicación). Descubrí que wireshark es una de esas herramientas que puede ayudarme a obtener esta estadística. Sin embargo, wireshark parece ser dependiente de GUI. Lo que quería era una forma de automatizar la medición y el informe de esta estadística. No me importa la información sobre los paquetes individuales capturados por wireshark. No necesito esa información. ¿Hay alguna forma de ejecutar wireshark para que todo lo que hace es escribir en un archivo, el total de bytes enviados y recibidos entre dos hosts mientras la aplicación se ejecutaba en ambos extremos?

Además, ¿hay una mejor manera de capturar esta estadística? A través de netstat o / proc / dev / net o cualquier otra herramienta?

Mis máquinas tienen ubuntu 10.04 o posterior ejecutándose en ellas.


Bro es una herramienta adecuada para medir estadísticas orientadas a la conexión. Puede registrar un rastro de la comunicación de su aplicación o analizarla en tiempo real:

bro -r <trace> bro -i <interface>

A continuación, eche un vistazo al registro de conexión ( conn.log ) en el mismo directorio para la cantidad de bytes enviados y recibidos por la aplicación. Específicamente, le interesa el tamaño de carga TCP, que conn.log expone a través de las columnas orig_bytes y resp_bytes . Aquí hay un ejemplo:

bro-cut id.orig_h id.resp_h conn_state orig_bytes resp_bytes < conn.log | head

que produce el siguiente resultado:

192.168.1.102 192.168.1.1 SF 301 300 192.168.1.103 192.168.1.255 S0 350 0 192.168.1.102 192.168.1.255 S0 350 0 192.168.1.103 192.168.1.255 S0 560 0 192.168.1.102 192.168.1.255 S0 348 0 192.168.1.104 192.168.1.255 S0 350 0 192.168.1.104 192.168.1.255 S0 549 0 192.168.1.103 192.168.1.1 SF 303 300 192.168.1.102 192.168.1.255 S0 - - 192.168.1.104 192.168.1.1 SF 311 300

Cada fila representa una sola conexión, los puertos de la capa de transporte se omiten. Las dos últimas columnas representan los bytes enviados por el originador (primera columna) y el respondedor (segunda columna). La columna conn_state representa el estado de la conexión. Consulte la documentación de todos los valores de campo posibles. Algunos valores importantes son:

  • S0 : intento de conexión visto, sin respuesta.
  • S1 : conexión establecida, no terminada.
  • SF : establecimiento y terminación normales. Tenga en cuenta que este es el mismo símbolo que para el estado S1. Puede distinguirlos porque para S1 no habrá conteos de bytes en el resumen, mientras que para SF lo habrá.
  • REJ : intento de conexión rechazado.