이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 mib2c입니다.
프로그램:
이름
mib2c -- 에이전트 확장을 위한 템플릿 코드 생성
개요
mib2c [-h] -c CONFIGFILE [-I 경로] [-f OUTNAME] [-i][-s][-q][-S VAR=VAL] MIBNODE
기술
mib2c 도구는 MIB 트리의 일부를 사용하도록 설계되었습니다(MIB 파일에 의해 정의됨).
관련 관리 개체를 구현하는 데 필요한 템플릿 C 코드를 생성합니다.
그 안에.
새 MIB 모듈을 구현하려면 세 개의 파일이 필요합니다.
- MIB 정의 파일
- C 헤더 파일
- C 구현 파일.
mib2c 도구는 MIB 정의 파일을 사용하여 두 개의 C 코드 파일을 생성합니다. 따라서 mib2c
에서 정보를 얻는 데 필요한 논리를 추가하기 위해 편집할 수 있는 템플릿을 생성합니다.
운영 체제 또는 응용 프로그램이 모듈을 완성합니다.
MIBNODE는 코드를 생성하려는 최상위 수준 mib 노드입니다. mib2c a를 주어야 합니다.
mib 파일이 아니라 명령줄에 있는 mib 노드(예: ifTable). 이것이 가장 싱글이다.
흔한 실수.
mib2c 도구는 SMIv1 및 SMIv2 MIB를 모두 허용합니다.
mib2c는 C 코드를 생성하기 위해 MIB 파일을 찾고 로드할 수 있어야 합니다.
MIB. mib2c가 MIB 파일을 찾을 수 있도록 하려면 다음을 포함하도록 MIBS 환경 변수를 설정하십시오.
사용 중인 MIB 파일. 이 환경 변수를 설정하는 예는 다음과 같습니다.
MIBS=+NET-SNMP-튜토리얼-MIB
or
MIBS=전체
첫 번째 예는 mib2c가 NET-SNMP-TUTORIAL-MIB mib를 찾는지 확인합니다.
기본 MIB 모듈. MIB 모듈의 기본 목록은 제품군이 처음일 때 설정됩니다.
구성 및 구축되었으며 기본적으로 에이전트가
지원합니다. 두 번째 예는 mib2c가 검색 위치에서 모든 MIB를 찾는지 확인합니다.
MIB 파일. MIB 파일의 기본 검색 위치는 /usr/share/snmp/mibs입니다. 이 검색
위치는 MIBDIRS 환경 변수로 수정할 수 있습니다.
로드할 MIB 파일과 MIB 파일 검색 위치 모두에서 구성할 수도 있습니다.
snmp.conf 파일. 봐주세요 snmp.conf(5) 자세한 내용은.
생성된 *.c 및 *.h 파일은 현재 작업 디렉토리에 생성됩니다.
옵션
-h 도움말 메시지를 표시합니다.
-c 구성
코드를 생성할 때 CONFIGFILE을 사용하십시오. 이 파일은 다음에서 가장 먼저 검색됩니다.
현재 디렉토리에서 는 / usr / 주 디렉토리(기본값
mib2c 구성 파일을 찾을 수 있습니다). -c CONFIGFILE 없이 mib2c 실행
옵션은 CONFIGFILE의 유효한 값에 대한 설명을 표시합니다. 즉,
사용자가 작성할 수 있는 새 구성 파일을 포함하여 사용 가능한 구성 파일.
예를 들어,
% mib2c ifTable
CONFIGFILE에 대해 현재 사용 가능한 값에 대한 설명이 표시됩니다.
CONFIGFILE에 대해 다음 값이 지원됩니다.
mib2c.mfd.conf
mib2c.scalar.conf
mib2c.int_watch.conf
mib2c.iterate.conf
mib2c.create-dataset.conf
mib2c.array-user.conf
mib2c.column_defines.conf
mib2c.column_enums.conf
스칼라 객체에 대한 코드 생성:
일부 스칼라에 대한 코드를 작성하는 경우 다음을 실행합니다.
mib2c -c mib2c.scalar.conf MIBNODE
정수 변수를 정수 스칼라에 마술처럼 "연결"하려면 다음을 사용하십시오.
mib2c -c mib2c.int_watch.conf MIBNODE
테이블에 대한 코드 생성:
테이블에 권장되는 구성 파일은 MIB for Dummies 또는 MFD입니다.
구성 파일. 가능한 한 많은 SNMP 세부 정보를 숨기고 생성합니다.
작고 이해하기 쉬운 기능. 또한 가장 유연하고 잘
문서화된 구성 파일. agent/mibgroup/if-mib/ifTable/ifTable*.c 참조
예를 들어 파일:
mib2c -c mib2c.mfd.conf MIBNODE
테이블 데이터가 다른 곳에 보관되어 있는 경우(예: 커널에 있고
에이전트 자체의 메모리) 올바른 것을 찾기 위해 "반복"해야 합니다.
액세스 중인 SNMP 행에 대한 데이터입니다. agent/mibgroup/mibII/vacm_context.c 참조
예를 들어 파일:
mib2c -c mib2c.iterate.conf MIBNODE
테이블 데이터가 에이전트에 보관되어 있는 경우(즉, 외부
소스)이며 순전히 데이터 기반입니다(즉,
세트 발생). 예제는 agent/mibgroup/examples/data_set.c 파일을 참조하십시오.
그러한 테이블:
mib2c -c mib2c.create-dataset.conf MIBNODE
테이블 데이터가 에이전트에 보관되어 있는 경우(즉, 외부
소스), 테이블 인덱스에 따라 정렬된 데이터를 유지할 수 있지만 다음을 수행해야 합니다.
세트가 발생할 때 작업을 수행:
mib2c -c mib2c.array-user.conf MIBNODE
헤더 파일 정의 생성
테이블의 각 열 번호에 대한 정의가 있는 헤더만 생성하려면:
mib2c -c mib2c.column_defines.conf MIBNODE
다음을 포함하는 모든 열에 대한 각 열거형에 대한 정의가 있는 헤더만 생성하려면
열거형:
mib2c -c mib2c.column_enums.conf MIBNODE
4.X 코드 라인에 대한 코드 생성(이전 API)
mib2c -c mib2c.old-api.conf MIBNODE
-IPATH PATH에서 구성 파일을 검색합니다. 다음을 사용하여 여러 경로를 지정할 수 있습니다.
다중 -I 스위치 또는 쉼표로 구분된 경로 목록이 있는 스위치를 사용합니다.
-f 이름
출력 코드를 OUTNAME.c 및 OUTNAME.h에 배치합니다. 일반적으로 mib2c는
코드를 생성하는 테이블 이름에 해당하는 파일로 코드 출력
그것은 아마도 당신이 어쨌든 원하는 것입니다.
-i 결과 코드에서 들여쓰기를 실행하지 마십시오.
-s MIBNODE.sed를 찾지 말고 결과 코드에서 sed를 실행하십시오. 이것은 유용하다
코드에서 긴 mib 변수 이름을 줄이십시오.
-q mib2c가 생성하는 상태 메시지를 최소화하는 "자동" 모드에서 실행합니다.
-SVAR=발
mib2c.*.conf 파일에서 변수 VAR을 값 VAL로 사전 설정합니다. 어느 것도
기존 mib2c 구성 파일(mib2c.*.conf)은 현재 이것을 사용합니다.
그러나 이 옵션은 향후에만 사용할 수 있는 것으로 간주되어야 합니다.
사용합니다.
사용 예
다음은 헤더 및 구현 파일에 대한 C 템플릿 코드를 생성합니다.
UCD-DEMO-MIB::ucdDemoPublic을 구현합니다.
% mib2c -c mib2c.scalar.conf ucdDemoPublic
ucdDemoPublic.h에 쓰기
ucdDemoPublic.c에 쓰기
ucdDemoPublic.h에서 들여쓰기 실행
ucdDemoPublic.c에서 들여쓰기 실행
결과 ucdDemoPublic.c 및 ucdDemoPublic.h 파일은 현재 작업 중인 파일로 생성됩니다.
디렉토리.
다음은 헤더 및 구현 파일에 대한 C 템플릿 코드를 생성합니다.
TCP-MIB::tcpConnTable을 구현하는 모듈.
% mib2c -c mib2c.iterate.conf tcpConnTable
tcpConnTable.h에 쓰기
tcpConnTable.c에 쓰기
tcpConnTable.h에서 들여쓰기 실행
tcpConnTable.c에서 들여쓰기 실행
결과 tcpConnTable.c 및 tcpConnTable.h 파일은 현재 작업에서 생성됩니다.
디렉토리.
onworks.net 서비스를 사용하여 온라인으로 mib2c 사용