Rekord NetFlow nie może pobrać oktetów (jnca)


169

Używam jnca bibliotekę zebrać rekordy NetFlow wysyłanych przez router. Wersja rekordu NetFlow wysłana przez router to wersja 9.

Kiedy pakiet NetFlow jest obserwowany z Wireshark, zestawy przepływów o identyfikatorze szablonu 263 zawierają dane o oktetach inicjatora i oktetach odpowiedzi, które mogą być użyte do określenia liczby bajtów związanych z przepływem. rekord wireshark

Problem w tym, że jcna nie może uzyskać tych wartości. Pokazuje zawsze zero dla oktetów.

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

To jest segment kodu, który jest używany do pobierania dOctets. Zwraca to zero nawet dla szablonu o identyfikatorze 263.

Ale kiedy jest obliczany w odniesieniu do identyfikatora szablonu NetFlow 263, podaje poprawne dane. (podaje oktety inicjatora i aby otrzymać odpowiedź, oktet 46 należy zastąpić 50, ponieważ długość danego rekordu wynosi 4 bajty)

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

46 to miejsce, w którym rekord oktetów inicjatora znajduje się w tym konkretnym pakiecie NetFlow. (Uzyskano przy użyciu rekordu Wireshark).

Czy to problem z jnca? Mam nadzieję, że ktoś, kto zna jcna, może mi w tym pomóc.



1
Czy sprawdziłeś, jakie wartości są zwracane z metody getTypeOffseti getTypeLen?
Lukino

Przesunięcia zwracane przez JNCA Template.getTypeOffset()wydają się być względne w stosunku do zestawu przepływów. Czy to działa z tym, co robisz? (Nie buf
pokazałeś

1
Rzeczywista specyfikacja NetFlow V9 też może pomóc: cisco.com/en/US/technologies/tk648/tk362/… : D
rakslice.

Ponadto wpisane ciągiem java.util.Propertiesw kodzie analizującym format niskiego poziomu? Nuke z orbity. Czy w momencie pisania tej biblioteki Java nie miała typów ogólnych?
rakslice

Odpowiedzi:


1

Pobieranie informacji o wykorzystaniu sieci z rekordów NetFlow w wersji 9

Netflow to funkcja, która została wprowadzona w routerach Cisco, która umożliwia zbieranie ruchu sieciowego IP w momencie wejścia do interfejsu lub wyjścia z niego. Analizując dane dostarczane przez Netflow, administrator sieci może określić takie rzeczy, jak źródło i miejsce docelowe ruchu, klasę usług i przyczynę przeciążenia. Netflow składa się z trzech komponentów: buforowania przepływu, kolektora przepływu i analizatora danych. W Netflow router przekazuje szczegóły użycia sieci w postaci pakietów UDP do określonego portu przeznaczenia.

Java NetFlow Collect-Analyzer

Więcej informacji


2
Jestem po prostu ciekawy, dlaczego oferujesz nagrodę?
Enzokie

2
@Enzokie Prawdopodobnie potrzebował odznaki Altruista;)
campovski
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.