Il record Netflow non può ottenere ottetti (jnca)


169

Sto usando la libreria jnca per raccogliere i record NetFlow inviati da un router. La versione del record NetFlow inviata dal router è la versione 9.

Quando il pacchetto NetFlow viene osservato da Wireshark, il flusso si imposta con l'ID modello 263 contiene i dati sugli ottetti dell'iniziatore e sugli ottetti del risponditore che possono essere utilizzati per determinare il numero di byte associati a un flusso. record di filo metallico

Ma il problema è che questi valori non possono essere ottenuti dal jcna. Mostra sempre zero per gli ottetti.

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

Questo è il segmento di codice che viene utilizzato per ottenere i dOctet. Questo restituisce zero anche per l'ID modello 263.

Ma quando viene calcolato rispetto all'ID modello NetFlow 263, fornisce i dati corretti. (indica gli ottetti iniziatore e per ottenere l'ottetto risponditore 46 deve essere sostituito con 50 poiché la lunghezza del record particolare è di 4 byte)

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

46 è dove si trova il record di Octiator Octets in quel particolare pacchetto NetFlow (ottenuto usando il record di Wireshark).

È un problema con jnca? Spero che qualcuno che abbia familiarità con JCNA possa darmi un aiuto.


6
Questo link potrebbe essere d'aiuto: cdwijayarathna.blogspot.in/2014/03/…
Mandar Pandit,

1
Hai controllato quali valori vengono restituiti dal metodo getTypeOffsete getTypeLen?
Lukino,

Gli offset restituiti dai JNCA Template.getTypeOffset()sembrano essere relativi al flowset. Funziona con quello che stai facendo? (Non hai mostrato abbastanza codice per dirlo; cos'è buf?)
rakslice,

1
Anche le specifiche effettive di NetFlow V9 potrebbero essere d'aiuto: cisco.com/en/US/technologies/tk648/tk362/… : D
rakslice

Inoltre, digitato java.util.Propertiesin modo stringente nel codice che analizza un formato di basso livello? Nuke dall'orbita. Java non aveva generici al momento della stesura di questa biblioteca?
rakslice,

Risposte:


1

Recupero delle informazioni sull'utilizzo della rete dai record della versione 9 di NetFlow

Netflow è una funzionalità introdotta sui router Cisco che consente di raccogliere il traffico di rete IP quando entra o esce da un'interfaccia. Analizzando i dati forniti da Netflow, un amministratore di rete può determinare cose come l'origine e la destinazione del traffico, la classe di servizio e la causa della congestione. Netflow è costituito da tre componenti: flusso nella cache, Flow Collector e Data Analyzer. In Netflow, il router inoltra i dettagli dell'utilizzo della rete come pacchetti UDP a una porta specificata di una destinazione.

Analizzatore di raccolta Java NetFlow

Ulteriori informazioni


2
Sono solo curioso di sapere perché offri una taglia?
Enzokie,

2
@Enzokie Probabilmente aveva bisogno di un badge Altruist;)
campovski,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.