L'enregistrement Netflow ne peut pas obtenir d'octets (jnca)


169

J'utilise jnca bibliothèque pour recueillir des enregistrements NetFlow envoyés par un routeur. La version de l'enregistrement NetFlow envoyé par le routeur est la version 9.

Lorsque le paquet NetFlow est observé à partir du Wireshark, les ensembles de flux avec l'ID de modèle 263 contiennent les données sur les octets d'initiateur et les octets de répondeur qui peuvent être utilisées pour déterminer le nombre d'octets associés à un flux. enregistrement de wirehark

Mais le problème est que ces valeurs ne peuvent pas être obtenues par le jcna. Il montre toujours zéro pour les octets.

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();
}

C'est le segment de code qui est utilisé pour obtenir les dOctets. Cela renvoie zéro même pour l'ID de modèle 263.

Mais quand il est calculé par rapport à l'ID de modèle NetFlow 263, il donne les données correctes. (donne les octets d'initiateur et pour obtenir l'octet de répondeur 46 doit être remplacé par 50 car la longueur de l'enregistrement particulier est de 4 octets)

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

46 est l'emplacement de l'enregistrement des octets d'initiateur dans ce paquet NetFlow particulier (obtenu à l'aide de l'enregistrement Wireshark).

Est-ce un problème avec jnca? J'espère que quelqu'un qui connaît jcna pourra m'aider à ce sujet.


6
Ce lien pourrait vous aider: cdwijayarathna.blogspot.in/2014/03/…
Mandar Pandit

1
Avez-vous vérifié les valeurs renvoyées par la méthode getTypeOffsetet getTypeLen?
Lukino

Les décalages renvoyés par les JNCA Template.getTypeOffset()semblent être relatifs au flux. Cela fonctionne-t-il avec ce que vous faites? (Vous n'avez pas montré assez de code pour le dire; qu'est-ce que c'est buf?)
rakslice

1
La spécification actuelle de NetFlow V9 pourrait également aider: cisco.com/en/US/technologies/tk648/tk362/… : D
rakslice

En outre, le code est-il tapé de manière stringente java.util.Propertiesdans un format de bas niveau? Nuke depuis l'orbite. Java n'avait-il pas de génériques au moment où cette bibliothèque a été écrite?
rakslice

Réponses:


1

Récupération des informations d'utilisation du réseau à partir des enregistrements NetFlow version 9

Netflow est une fonctionnalité introduite sur les routeurs Cisco qui permet de collecter le trafic réseau IP lorsqu'il entre ou sort d'une interface. En analysant les données fournies par Netflow, un administrateur réseau peut déterminer des éléments tels que la source et la destination du trafic, la classe de service et la cause de la congestion. Netflow se compose de trois composants: la mise en cache de flux, le collecteur de flux et l'analyseur de données. Dans Netflow, le routeur transmet les détails de l'utilisation du réseau sous forme de paquets UDP à un port spécifié d'une destination.

Analyseur de collecte Java NetFlow

Plus d'informations


2
Je suis juste curieux de savoir pourquoi vous offrez une prime?
Enzokie

2
@Enzokie avait probablement besoin d'un badge altruiste;)
campovski
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.