El registro de Netflow no puede obtener octetos (jnca)

3 minutos de lectura

avatar de usuario
Asiri Liyana Aracchi

Estoy usando jnca biblioteca para recopilar registros de NetFlow enviados por un enrutador. La versión del registro NetFlow enviado por el enrutador es la versión 9.

Cuando se observa el paquete NetFlow desde Wireshark, los conjuntos de flujo con el ID de plantilla 263 contienen los datos sobre los octetos del iniciador y los octetos del respondedor que se pueden usar para determinar la cantidad de bytes asociados con un flujo.
registro de tiburón de alambre

Pero el problema es que jcna no puede obtener estos valores. Muestra siempre cero para los octetos.

currOffset = t.getTypeOffset(FieldDefinition.InBYTES_32);
currLen = t.getTypeLen(FieldDefinition.InBYTES_32);
if (currOffset >= 0 && currLen > 0) {
    dOctets = Util.to_number(buf, off + currOffset, currLen) * t.getSamplingRate();
}

Este es el segmento de código que se usa para obtener los dOctets. Esto devuelve cero incluso para la plantilla ID 263.

Pero cuando se calcula con respecto a la plantilla de NetFlow id 263 da los datos correctos. (da los octetos de iniciador y para obtener el octeto de respuesta 46 debe reemplazarse con 50 ya que la longitud del registro en particular es de 4 bytes)

dOctets = Util.to_number(buf, off + 46, 4)

46 es donde se encuentra el registro de octetos de iniciador en ese paquete de NetFlow en particular (obtenido usando el registro de Wireshark).

¿Es un problema con jnca? Con suerte, alguien que esté familiarizado con jcna puede ayudarme con esto.

  • Este enlace podría ayudar: cdwijayarathna.blogspot.in/2014/03/…

    – Mandar Pandit

    26 de junio de 2014 a las 9:55

  • ¿Comprobó qué valores se devuelven del método? getTypeOffset y getTypeLen ?

    – Lukino

    27/04/2015 a las 16:30

  • Las compensaciones devueltas por de JNCA’s Template.getTypeOffset() parece ser relativo al conjunto de flujo. ¿Funciona esto con lo que estás haciendo? (No mostraste suficiente código para saber; ¿qué es buf?)

    – rebanada de rak

    24 de julio de 2017 a las 10:13


  • La especificación real de NetFlow V9 también podría ayudar: cisco.com/en/US/technologies/tk648/tk362/… 😀

    – rebanada de rak

    24 de julio de 2017 a las 10:14

  • Además, de tipo de cadena java.util.Properties en código analizando un formato de bajo nivel? Bomba nuclear desde la órbita. ¿Java no tenía genéricos en el momento en que se escribió esta biblioteca?

    – rebanada de rak

    24 de julio de 2017 a las 10:19

Recuperación de información de uso de la red de los registros de la versión 9 de NetFlow

Netflow es una función que se introdujo en los enrutadores de Cisco que brinda la capacidad de recopilar el tráfico de la red IP a medida que ingresa o sale de una interfaz. Al analizar los datos proporcionados por Netflow, un administrador de red puede determinar cosas como el origen y el destino del tráfico, la clase de servicio y la causa de la congestión. Netflow consta de tres componentes: almacenamiento en caché de flujo, recopilador de flujo y analizador de datos. En Netflow, el enrutador reenvía los detalles del uso de la red como paquetes UDP a un puerto específico de un destino.

Analizador de recopilación Java NetFlow

Más información

  • Solo tengo curiosidad por qué ofreces una recompensa.

    – Enzokie

    30 de agosto de 2017 a las 10:54

  • @Enzokie Probablemente necesitaba una insignia de altruista;)

    – campovski

    6 de septiembre de 2017 a las 9:13


¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad