현재 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