2017-10-08 14 views
0

모두. 나는 snmp를 처음 사용하고 다음과 같은 문제에 직면했다. 에이전트에 snmp 테이블이 있습니다. 플래그 -Cb (getnext 명령으로 새 행을 요청하십시오)와 함 2 작동합니다. net-snmp int 우분투를 사용할 때, 나는이 테이블을 얻고있다. 이 자바 snmp4j에서하고있어 어떻게 SNMP 에이전트 가져 오기 테이블에 실패 (getnext가 증가하지 않음)

enter image description here

: 은이 GETNEXT 요청을 전송하여 모든 행을 받고 단계별로 수행됩니다. 하지만 OID 테이블을 가리키는 대신, 나는 원하는 컬럼의 OID를 가리킨다. getnext 다음 요청에 포함될 결과 및 다음 증가 OID를 반환합니다. 조사한 결과, snmpgetnext 쿼리에서 증분 값을 얻지 못했습니다. "GETNEXT 또는 GETBULK에서 반환 된 OID는 요청 된 것보다 작거나 같습니다 (SNMP에서 허용되지 않음)". 그래서 나는 그것을 얻을 수 없다. net-snmp는이 오류가 발생할 때 내부적으로 증분을 수행하여이 오류를 방지한다고 가정합니다.

나는 또한 snmptable 대신 우분투에서 net-snmp를 통해 수동으로 getied를 시도했지만 일부 열은 내가 처음으로 incrementmeted 된 값을 얻었고 일부는 전혀 증가하지 않는다.

그러나 증가 된 수치에 지원 snmpget이

enter image description here

작품은 SNMP 에이전트에 버그인가? 그래서 snmp 테이블을 가져올 때 net-snmp가 증가합니까?

+0

데이터를 스크린 샷으로 게시하지 마십시오. 대신 질문을 수정하십시오. 터미널의 텍스트를 복사하여 붙여넣고 질문에 텍스트로 게시하십시오. 외부 사이트에서 스크린 샷을 사용할 때 해당 외부 사이트가 다운되면 질문을 이해할 수 없게됩니다. – Jolta

답변

0

실은 그것은 내가 당신에게 버그가있는 SNMP 에이전트를 가지고있는 것처럼 보입니다. 이 사실을 에이전트 공급 업체에보고해야합니다. 첫 번째 스크린 샷의 데이터는 버그 보고서로 사용하기에 충분한 증거가됩니다.

올바른 동작은 SNMPv1에 대해 RFC 1157 section 4.1.3으로 지정되며 이후 SNMP 버전에 대해서는 몇 가지 다른 RFC가 지정됩니다. 그러나 그것의 요지는 v2와 v3에서 동일하게 유지됩니다.

나는,하지만 당신이 말하는 것처럼 후속 OID를 추측하려고 할 수도 있지만 가능성 snmptable 백그라운드에서 SNMP GetBulkRequest-PDUs를 사용하고, getBulk를의 에이전트의 구현이보다 더 나은 방법 snmptable 명령이 작동 잘 모르겠어요 그 GetNext. 나는. 테이블 통과 버그는 전체 테이블을 제공하는 GetBulk를 처리하는 코드에 나타나지 않습니다.

snmpwalk을 사용하여 테이블을 탐색 해보십시오. 이는 GetNext 작업 만 사용하는 것 같습니다. 내 생각 엔 snmpgetnext 명령처럼 snmpwalk이 중단되거나 반복됩니다.