Snmp Mib2 カーネルのSNMPが管理しているMIBの構成を示します。 RFC1213で定義されているMIB−Uの内、以下を実装しています。
SNMPMIB情報取得ファンクションでSYSTEMグループを指定した場合、上記構造体に情報が設定されます。この時SetReqの値は意味を持ちません。 SNMPMIB情報設定ファンクションを使用する場合、SetReq(設定要求フラグ配列)の対応する位置に1を設定することで設定MIBを指定します。複数1を設定することが可能です。 SNMPMIB情報取得ファンクションでINTERFACEグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでATEグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでIPグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでICMPグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでTCPグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでUDPグループを指定した場合、上記構造体に情報が設定されます。 SNMPMIB情報取得ファンクションでSNMPグループを指定した場合、上記構造体に情報が設定されます。
MIBの詳細(意味、タイプ、アクセス属性など)につきましてはRFCを参照して下さい。
0
system
:: = { mib-2 1 }
_MIB2TBL_SYS
1
interface
:: = { mib-2 2 }
_MIB2TBL_IF
2
at
:: = { mib-2 3 }
_MIB2TBL_AT
3
ip
:: = { mib-2 4 }
_MIB2TBL_IP
4
icmp
:: = { mib-2 5 }
_MIB2TBL_ICMP
5
tcp
:: = { mib-2 6 }
_MIB2TBL_TCP
6
udp
:: = { mib-2 7 }
_MIB2TBL_UDP
7
snmp
:: = { mib-2 11 }
_MIB2TBL_SNMP
typedef struct {
Byte
SetReq[8];
設定要求フラグ
Byte
Descr[64];
Dword
ObjectIDlen;
ObjectIDの長さ
Byte
ObjectID[16];
Dword
UpTime;
10ms単位のカウンタ
Byte
Contact[64];
Byte
Name[64];
Byte
Location[64];
Dword
Service;
} _MIB2TBL_SYS
sizeof(_MIB2TBL_SYS) = 292
SetReqの配列とパラメータの対応は以下のとおりです。
SetReq[0] Descr
SetReq[1] ObjectID
SetReq[2] UpTime
SetReq[3] Contact
SetReq[4] Name
SetReq[5] Location
SetReq[6] Service
SetReq[7] (Reserve)
typedef struct {
Dword
IfIndex;
Byte
Descr[64];
Dword
Type;
Dword
Mtu;
Dword
Speed;
Byte
PhysAddress[6];
(注意 *1)
Dword
AdminStatus;
Dword
OperStatus;
Dword
LastChange;
Dword
InOctets;
Dword
InUcastPkts;
Dword
InNUcastPkts;
Dword
InDiscards;
Dword
InErrors;
Dword
InUnknownProts;
Dword
OutOctets;
Dword
OutUcastPkts;
Dword
OutNUcastPkts;
Dword
OutDiscards;
Dword
OutErrors;
Dword
OutQLen;
Byte
Specific[4];
} _IFTBL;
sizeof(_IFTBL) = 152
typedef struct {
Dword
Number;
_IFTBL
Table;
} _MIB2TBL_IF;
sizeof(_MIB2TBL_IF) = 156
typedef struct {
Dword
IfIndex;
Byte
PhysAddress[6];
(注意 *1)
Dword
NetAddress;
} _ATTBL;
sizeof(_ATTBL) = 16
typedef struct {
Dword
Table_Count;
Table 有効数 最大64
_ATTBL
Table[64];
} _MIB2TBL_AT;
Type;
sizeof(_MIB2TBL_AT) = 1028
typedef struct {
Dword
AdEntAddr;
Dword
AdEntAddrIdx;
Dword
AdEntMask;
Dword
AdEntBcastAddr;
Dword
AdEntReasmMaxSize;
} _IPADDRTBL;
sizeof(_IPADDRTBL) = 20
typedef struct {
Dword
RouteDest;
Dword
RouteIfIndex;
Dword
RouteMetric1;
Dword
RouteMetric2;
Dword
RouteMetric3;
Dword
RouteMetric4;
Dword
RouteNextHop;
Dword
RouteType;
Dword
RouteProto;
Dword
RouteAge;
Dword
RouteMask;
Dword
RouteMetric5;
Byte
RouteInfo[4];
_IPROUTETBL
Table[64];
sizeof(_IPROUTETBL) = 52
typedef struct {
Dword
NetToMediaIfIndex;
Byte
NetToMediaPhysAddress[6];
(注意 *1)
Dword
NetToMediaNetAddress;
Dword
NetToMediaType;
} _IPNTMTBL;
sizeof(_IPNTMTBL) = 20
typedef struct {
Dword
Fowarding;
Dword
DefaultTTL;
Dword
InReceives;
Dword
InHdrErrors;
Dword
InAddrErrors;
Dword
ForwDatagrams;
Dword
InUnkownProtos;
Dword
InDiscards;
Dword
InDelivers;
Dword
OutRequests;
Dword
OutDiscards;
Dword
OutNoRoutes;
Dword
ReasmTimeout;
Dword
ReasmReqds;
Dword
ReasmOKs;
Dword
ReasmFailes;
Dword
FlagOKs;
Dword
FlagFailes;
Dword
FlagCreates;
_IPADDRTBL
AddrTable;
_IPROUTETBL
RouteTable[2];
Dword
Table_Count;
NTMTable 有効数 最大64
_IPNTMTBL
NTMTable[64];
} _MIB2TBL_IP;
sizeof(_MIB2TBL_IP) = 1488
typedef struct {
Dword
InMsgs;
Dword
InErrors;
Dword
InDestUnreachs;
Dword
InTimeExcds;
Dword
InParmProbs;
Dword
InSrcQuenchs;
Dword
InReDirects;
Dword
InEchos;
Dword
InEchoReps;
Dword
InTimestamps;
Dword
InTimestampReps;
Dword
InAddrMasks;
Dword
InAddrMaskReps;
Dword
OutMsgs;
Dword
OutErrors;
Dword
OutDestUnreachs;
Dword
OutTimeExcds;
Dword
OutParmProbs;
Dword
OutSrcQuenchs;
Dword
OutReDirects;
Dword
OutEchos;
Dword
OutEchoReps;
Dword
OutTimestamps;
Dword
OutTimestampReps;
Dword
OutAddrMasks;
Dword
OutAddrMaskReps;
} _MIB2TBL_ICMP;
sizeof(_MIB2TBL_ICMP) = 104
typedef struct {
Dword
ConnState;
Dword
ConnLocalAddress;
Dword
ConnLocalPort;
Dword
ConnRemAddress;
Dword
ConnRemPort;
} _TCPTBL;
sizeof(_TCPTBL) = 20
typedef struct {
Dword
RtoAlgorithm;
Dword
RtoMin;
Dword
RtoMax;
Dword
MaxConn;
Dword
ActiveOpens;
Dword
PassiveOpens;
Dword
AttemptFailes;
Dword
EstabResets;
Dword
CurrEstab;
Dword
InSegs;
Dword
OutSegs;
Dword
RetransSegs;
Dword
Table_Count;
ConnTable 有効数 最大48
_TCPTBL
ConnTable[48];
Dword
InErrs;
Dword
OutRsts;
} _MIB2TBL_TCP;
sizeof(_MIB2TBL_TCP) = 1020
typedef struct {
Dword
LocalAddress;
Dword
LocalPort;
} _UDPTBL;
sizeof(_UDPTBL) = 8
typedef struct {
Dword
InDatagrams;
Dword
NoPorts;
Dword
InErrors;
Dword
OutDatagrams;
Dword
Table_Count;
Table 有効数 最大48
_UDPTBL
Table[48];
} _MIB2TBL_UDP;
sizeof(_MIB2TBL_UDP) = 404
typedef struct {
Dword
InPkts;
Dword
OutPkts;
Dword
InBadVersion;
Dword
InBadCommunityNames;
Dword
InBadCommunityUses;
Dword
InASNParseErrs;
Dword
InTooBigs;
Dword
InNoSuchNames;
Dword
InBadValues;
Dword
InReadOnlys;
Dword
InGenErrs;
Dword
InTotalReqVars;
Dword
InTotalSetVars;
Dword
InGetRequests;
Dword
InGetNexts;
Dword
InSetRequests;
Dword
InGetResponses;
Dword
InTraps;
Dword
OutTooBigs;
Dword
OutNoSuchNames;
Dword
OutBadValues;
Dword
OutReadOnlys;
Dword
OutGenErrs;
Dword
OutGetRequests;
Dword
OutGetNexts;
Dword
OutSetRequests;
Dword
OutGetResponses;
Dword
OutTraps;
Dword
EnableAuthenTraps;
} _MIB2TBL_SNMP;
sizeof(_MIB2TBL_SNMP) = 116