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.