넷 플로우 레코드가 8 진수를 얻을 수 없음 (jnca)


169

라우터에서 보낸 NetFlow 레코드를 수집하기 위해 jnca 라이브러리를 사용 하고 있습니다. 라우터가 전송 한 NetFlow 레코드 버전은 버전 9입니다.

Netshark 패킷이 Wireshark에서 관찰되면 템플리트 ID가 263 인 플로우 세트에는 플로우와 연관된 바이트 수를 판별하는 데 사용할 수있는 초 기자 옥텟 및 응답자 옥텟에 대한 데이터가 포함됩니다. Wireshark 레코드

그러나 문제는 jcna가 이러한 값을 얻을 수 없다는 것입니다. 옥텟의 경우 항상 0으로 표시됩니다.

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

이것은 dOctets를 얻는 데 사용되는 코드 세그먼트입니다. 템플릿 ID 263에서도 0을 반환합니다.

그러나 NetFlow 템플릿 ID 263과 관련하여 계산되면 올바른 데이터를 제공합니다. (이니시에이터 옥텟을 제공하고 응답자를 얻으려면 옥텟 46은 특정 레코드의 길이가 4 바이트이므로 50으로 대체되어야 함)

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

46은 Initiator Octets 레코드가 특정 NetFlow 패킷에있는 위치입니다 (Wireshark 레코드 사용).

jnca에 문제가 있습니까? jcna에 익숙한 누군가가 이것에 대해 도움을 줄 수 있기를 바랍니다.


6
이 링크가 도움이 될 수 있습니다 : cdwijayarathna.blogspot.in/2014/03/…
Mandar Pandit

1
당신은 값이 메서드에서 반환되는 것을 확인 했 getTypeOffsetgetTypeLen?
Lukino

JNCA에서 반환 된 오프셋은 플로우 셋과 Template.getTypeOffset()관련된 것으로 보입니다. 이것은 당신이하고있는 일과 함께 작동합니까? (당신은 말할 충분한 코드를 보여주지 않았다; 무엇 buf인가?)
rakslice

1
실제 NetFlow V9 사양도 도움이 될 수 있습니다. cisco.com/en/US/technologies/tk648/tk362/… : D
rakslice

또한 java.util.Properties낮은 수준의 형식을 구문 분석하는 코드에서 문자열 형식입니까? 궤도에서 핵무기. 이 라이브러리를 작성할 당시 Java에 제네릭이 없었습니까?
rakslice

답변:


1

NetFlow 버전 9 레코드에서 네트워크 사용 정보 검색

Netflow는 인터페이스에 들어 오거나 나갈 때 IP 네트워크 트래픽을 수집하는 기능을 제공하는 Cisco 라우터에 도입 된 기능입니다. 네트워크 관리자는 Netflow에서 제공하는 데이터를 분석하여 트래픽의 소스 및 대상, 서비스 클래스 및 혼잡 원인과 같은 사항을 파악할 수 있습니다. Netflow는 플로우 캐싱, 플로우 콜렉터 및 데이터 분석기의 세 가지 구성 요소로 구성됩니다. Netflow에서 라우터는 네트워크 사용 세부 정보를 UDP 패킷으로 대상의 지정된 포트로 전달합니다.

Java NetFlow 수집 분석기

더 많은 정보


2
현상금을 제공하는 이유가 궁금합니다.
Enzokie

2
@Enzokie 아마 이타 주의자 배지가 필요할 것입니다;)
campovski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.