SNMPWalk 모듈을 찾을 수 없습니다.

SNMPWalk 모듈을 찾을 수 없습니다.

현재 SNMPWalk에서 확장 출력을 얻으려고 합니다.

snmp-mibs 다운로더를 설치하고 download-mibs를 실행하고 있습니다.

다음 명령을 사용하고 있습니다.

snmpwalk -v2c -c public [ip] -m NET-SNMP-EXTEND-MIB::nsExtendObjects

다음과 같은 오류가 발생했습니다.

MIB search path:
/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/var/lib/mibs:/var/lib/mibs/ietf:/var/lib/mibs/iana
Cannot find module (nsExtendObjects): At line 1 in (none)

수동으로 확인한 것처럼 모듈이 올바른 위치에 있는지 확인할 수 있습니다.

모듈의 위치를 ​​지정하기 위해 -M을 사용해 보았습니다.

NET-SNMP 버전: 5.9를 사용합니다.

오류가 발생한 후에는 확장 모드를 사용하지 않을 때와 동일한 출력이 나타납니다.

또한 동일한 구성을 사용하는 다른 컴퓨터에서 확장된 출력을 얻을 수 있으므로 다른 출력이 있어야 함을 확인할 수 있습니다. "공개" 문자열이 정확합니다.

어떤 도움을 주셔서 감사합니다 :)

답변1

-m옵션은 콜론으로 구분된 목록이라는 하나의 인수를 사용합니다.MIB 모듈 이름, 개별 MIB 객체의 이름이 아닌.

결과는 -m NET-SNMP-EXTEND-MIB::nsExtendObjects세 가지 MIB 모듈 이름으로 구문 분석됩니다.

  • NET-SNMP-EXTEND-MIB유효한 MIB 모듈 이름입니다.
  • <null>이건 분명히 무시됐는데
  • nsExtendObjects실제로는 NET-SNMP-EXTEND-MIB 모듈에 있는 MIB 개체의 이름입니다.

순회를 시작하기 위해 OID를 지정하는 것은 실제로 선택 사항입니다 snmpwalk. 지정하지 않으면 기본값이 OID로 지정되므로 SNMPv2-SMI::mib-2잘못된 구문에 대한 오류 메시지가 표시되지 않습니다. 대신 명령은 이름이 지정된 MIB 모듈을 찾으려고 시도 nsExtendObjects하지만 찾지 못하는 것 같습니다.

어떤 이유로 이 옵션을 계속 사용하려는 경우 -m올바른 구문은 다음과 같습니다.

snmpwalk -v2c -c public [ip] -m NET-SNMP-EXTEND-MIB NET-SNMP-EXTEND-MIB::nsExtendObjects

즉, 첫 번째 NET-SNMP-EXTEND-MIB는 옵션에 대한 인수 -m이고 두 번째는 시작하려는 OID의 일부입니다.

하지만 이 경우 -m옵션을 완전히 생략할 수 있습니다.

snmpwalk -v2c -c public [ip] NET-SNMP-EXTEND-MIB::nsExtendObjects

두 형식 모두 동일한 결과를 생성해야 합니다.

download-mibs성공적으로 완료 되면 /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt시스템에 이름이 지정된 파일이 있어야 합니다.

$ sha256sum /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt
ad05abc5ec39107a140d46e4e62e3fc0cf38eb26c1abe634fd7e9a7c7715e64e  /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt

관련 정보