智能终端定制开发 ad
MTK/瑞芯微/高通-Android,智能模块/智能终端方案商

深度定制各类智能终端和智能硬件产品,提供硬件选型咨询、参考设计、元器件推荐、驱动开发、行业模块集成、操作系统定制与算法集成等软硬件定制服务。
contact.aspx

Android核心板产品覆盖2G、3G、4G通讯,双核、四核、八核CPU,可选的平台有MTK6580、MTK6737、MTK6750等,Android版本有5.1 6.0 7.0等。
contact.aspx

可广泛应用于低端智能POS、安防监控、车载设备、低端智能机器人、智能家居、智能硬件、工业智能手持设备、低端智能对讲设备、低端警务或执法设备、智能穿戴、贩卖机、物流柜、智能门禁系统等行业和设备。
contact.aspx

可提供以太网转串口透传,WIFI转串口透传,蓝牙转串口透传,CAN总线模拟量控制输出模块等。
contact.aspx

带3G或4G通讯功能,运行android系统,有多个串口,可以外挂各种模块:条码扫描、RFID、指纹识别、身份证识别、磁条卡、ID卡、GPS/北斗模块等。
contact.aspx

具有4G通讯功能,多个RS232或RS485接口,以太网接口,USB接口,CAN接口,多个AD输入。基于Android系统智能平台,方便APP应用开发。器件严格选型,运行稳定,质量可靠。
contact.aspx

使用SNMP编辑(添加/删除/修改)ARP表
[VC 编程] 2008-04-03



作者:Usama El-Mokadem
翻译:VCKBASE.PowerCPP

下载源代码



介绍


这个工具像Windows命令行工具arp.exe一样显示和修改IP/物理地址转表(ARP表).
该工具将做两件事情:
1)显示ARP表
2)添加、删除、修改ARP表
这两项工作通过SNMP(简单网络管理协议)扩展库来完成。

通过SNMP处理IP和MAC地址

你可以通过SNMP读取或修改ARP表,通过SNMP得到或设置对象信息。SNMP命令的请求与响应是依靠MIB(管理信息库)来完成的。
MIB为树装结构,MIB拥有所有为我们所用的可管理对象,更多的信息可以参考RFC1213(http://www.ietf.org/rfc/rfc1213.txt),
也可以查看文件:%SystemRoot%\system32\*.mib,您可以用notepad.exe打开并查看%SystemRoot%\system32\mib_ii.mib中的所有条目。

下面是MIB ipNetToMediaEntry条目

ipNetToMediaEntry OBJECT-TYPE SYNTAX IpNetToMediaEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Each entry contains one IpAddress to ~physical~ address equivalence." INDEX { ipNetToMediaIfIndex, ipNetToMediaNetAddress } ::= { ipNetToMediaTable 1 }

MIB通过OID(对象标识)数字来存取对象,每个对象拥有一个数字,子对象拥有父对象的数字和自己的数字,
数字之间用"."来分割。例如:父对象数字为"1",子对象数字为"3",则子对象OID为"1.3",子对象的子对象可以
是"1.3.6",..."1.3.6.1.2.1"等等...

下面是对象树的简单框图:



类的初始化
我们使用SnmpExtensionQuery函数来发送SNMP请求,使用之前我们必须调用SnmpExtensionInit来初始化SNMP扩展代理DLL。
这两个函数包含于Microsoft的inetmib1.dll中.

因此我们在类的构造函数中加载动态库并得到函数的地址,然后调用SnmpExtensionInit初始化SNMP扩展代理DLL。

下面是CARP类的构造函数

////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CARP::CARP() { // Load dynamic library: inetmib1.dll hMIBLibrary = LoadLibrary(TEXT("inetmib1.dll")); // If library loaded, get addresses of (SnmpExtensionInit, pfnSnmpExtensionQuery) functions if (hMIBLibrary) { pfnSnmpExtensionInit = (PFNSNMPEXTENSIONINIT) GetProcAddress(hMIBLibrary, "SnmpExtensionInit"); pfnSnmpExtensionQuery = (PFNSNMPEXTENSIONQUERY) GetProcAddress(hMIBLibrary, "SnmpExtensionQuery"); // If success get addresses and initialize SNMP, bInitialized = true if (pfnSnmpExtensionInit && pfnSnmpExtensionQuery) { HANDLE hPollForTrapEvent; AsnObjectIdentifier aoiSupportedView; bInitialized = pfnSnmpExtensionInit(0, &hPollForTrapEvent, &aoiSupportedView); } } else { // If fail to get addresses, bInitialized = false bInitialized = FALSE; AfxMessageBox(_T("Load library fail")); } }
得到ARP条目

函数GetEntries类似arp.exe -a,可以得到ARP条目,函数有三个参数:
PTable指针指向arpTable结构数组,用于填充IP和MAC地址。
TableLength是数组长度
AdapterIndex是NIC适配器的编号。
我使用3个OID来得到ARP表条目:
OID[0] = "1.3.6.1.2.1.4.22.1.1" ,得到接口索引号。
然后和OID[1] = "1.3.6.1.2.1.4.22.1.2"比较,得到IP和MAC地址
OID[2] = "1.3.6.1.2.1.4.22.1.4", 得到条目类型(静态或动态)
//----------------------------------------------------------------------- // Function: GetEntries: Read ARP table for specific NIC interface. // // Parameters: // pTable Pointer to array of arpTable struct // TableLength Length of the array // AdapterIndex NIC Adapter index number // // Returns: // Number of read ARP entries //----------------------------------------------------------------------- int CARP::GetEntries(arpTable* pTable, int TableLength, int AdapterIndex) { // Be sure initialize SNMP true if (!bInitialized) return 0; SnmpVarBindList SVBList[3]; SnmpVarBind SVBVars[3]; UINT OID[3][10]; AsnInteger32 aiErrorStatus[3], aiErrorIndex[3]; AsnObjectIdentifier AsnOID0 = {sizeof(OID[0])/sizeof(UINT), OID[0]}; AsnObjectIdentifier AsnOID1 = {sizeof(OID[1])/sizeof(UINT), OID[1]}; AsnObjectIdentifier AsnOID2 = {sizeof(OID[2])/sizeof(UINT), OID[2]}; unsigned long pIPAddress; unsigned long pMACAddress; int iEntries; //----------------------------------------------------------------------- // Fill array of 3 OIDs // // OID[0] : "1.3.6.1.2.1.4.22.1.1", ipNetToMediaIfIndex // The interface on which this entry~s equivalence is effective // // OID[1] : "1.3.6.1.2.1.4.22.1.2", ipNetToMediaPhysAddress // The media-dependent ~physical~ address // // OID[2] : "1.3.6.1.2.1.4.22.1.4", ipNetToMediaType // Entry type: 1:Other, 2:Invalid(Remove), 3:Dynamic, 4:Static // for (int count=0; count<3; count++) { OID[count][0] = 1; OID[count][1] = 3; OID[count][2] = 6; OID[count][3] = 1; OID[count][4] = 2; OID[count][5] = 1; OID[count][6] = 4; OID[count][7] = 22; OID[count][8] = 1; switch(count) { case 0: // Adapter interface OID[count][9] = 1; break; case 1: // MAC address OID[count][9] = 2; break; case 2: // Entry Type OID[count][9] = 4; break; } } ZeroMemory(pTable, sizeof(arpTable)*TableLength); SVBList[0].len = 1; SVBList[0].list = &SVBVars[0]; SnmpUtilOidCpy(&SVBVars[0].name, &AsnOID0); SVBList[1].len = 1; SVBList[1].list = &SVBVars[1]; SnmpUtilOidCpy(&SVBVars[1].name, &AsnOID1); SVBList[2].len = 1; SVBList[2].list = &SVBVars[2]; SnmpUtilOidCpy(&SVBVars[2].name, &AsnOID2); iEntries = 0; do { aiErrorStatus[0] = 0; aiErrorIndex[0] = 0; aiErrorStatus[1] = 0; aiErrorIndex[1] = 0; aiErrorStatus[2] = 0; aiErrorIndex[2] = 0; // Query information of 3 OIDs if (pfnSnmpExtensionQuery(SNMP_PDU_GETNEXT, &SVBList[0], &aiErrorStatus[0], &aiErrorIndex[0])) if (pfnSnmpExtensionQuery(SNMP_PDU_GETNEXT, &SVBList[1], &aiErrorStatus[1], &aiErrorIndex[1])) if (pfnSnmpExtensionQuery(SNMP_PDU_GETNEXT, &SVBList[2], &aiErrorStatus[2], &aiErrorIndex[2])) if (aiErrorStatus[0] == SNMP_ERRORSTATUS_NOERROR && aiErrorStatus[1] == SNMP_ERRORSTATUS_NOERROR && aiErrorStatus[2] == SNMP_ERRORSTATUS_NOERROR) // Check for error { //----------------------------------------------------------------------- // From MSDN Help: http://msdn2.microsoft.com/en-us/library/aa378021.aspx // // If the extension agent cannot resolve the variable bindings on a Get Next request, // it must change the name field of the SnmpVarBind structure to the value of the object // identifier immediately following that of the currently supported MIB subtree view. // For example, if the extension agent supports view ".1.3.6.1.4.1.77.1", a Get Next // request on ".1.3.6.1.4.1.77.1.5.1" would result in a modified name field of ".1.3.6.1.4.1.77.2". // This signals the SNMP service to continue the attempt to resolve the variable bindings // with other extension agents //----------------------------------------------------------------------- if(SnmpUtilOidNCmp(&SVBVars[0].name, &AsnOID0, AsnOID0.idLength)) break; if(SnmpUtilOidNCmp(&SVBVars[1].name, &AsnOID1, AsnOID1.idLength)) break; if(SnmpUtilOidNCmp(&SVBVars[2].name, &AsnOID2, AsnOID2.idLength)) break; // Verify selected Adapter interface if (AdapterIndex == SVBList[0].list->value.asnValue.number) { // pIPAddress get pointer ro IP Address pIPAddress = (unsigned long)SVBList[1].list->name.ids; pTable[iEntries].IPAddress[0] = *(unsigned char *)(pIPAddress + 44); pTable[iEntries].IPAddress[1] = *(unsigned char *)(pIPAddress + 48); pTable[iEntries].IPAddress[2] = *(unsigned char *)(pIPAddress + 52); pTable[iEntries].IPAddress[3] = *(unsigned char *)(pIPAddress + 56); // pIPAddress get pointer ro MAC Address pMACAddress = (unsigned long)SVBList[1].list->value.asnValue.string.stream; if (pMACAddress) { pTable[iEntries].MACAddress[0] = *(unsigned char *)(pMACAddress + 0); pTable[iEntries].MACAddress[1] = *(unsigned char *)(pMACAddress + 1); pTable[iEntries].MACAddress[2] = *(unsigned char *)(pMACAddress + 2); pTable[iEntries].MACAddress[3] = *(unsigned char *)(pMACAddress + 3); pTable[iEntries].MACAddress[4] = *(unsigned char *)(pMACAddress + 4); pTable[iEntries].MACAddress[5] = *(unsigned char *)(pMACAddress + 5); } // Entry Type pTable[iEntries].Type = (unsigned long)SVBList[2].list->value.asnValue.number; // Type must be one of (1, 2, 3, 4) if (pTable[iEntries].Type>=1 && pTable[iEntries].Type<=4) iEntries++; // Move to next array position } } else break; // If error exit do-while } while(iEntries < TableLength); // Frees the memory allocated for the specified object identifiers SnmpUtilOidFree(&SVBVars[2].name); SnmpUtilOidFree(&SVBVars[1].name); SnmpUtilOidFree(&SVBVars[0].name); return iEntries; // Return number of Entries }

编辑ARP表条目

EditEntry函数可以添加、修改、删除ARP条目。
添加动态条目,就像:arp.exe 1.2.3.4 11-22-33-44-55-66
添加静态条目,就像:arp.exe –s 1.2.3.4 11-22-33-44-55-66
删除条目,就像:arp.exe –d 1.2.3.4
添加新条目,如果IP地址在ARP表中不存在则添加进去,如果已经存在则被更新。
删除条目,只需要提供NIC接口中的IP地址,MAC地址不需要提供。
函数有四个参数:4字节的IPAddress,6字节的MACAddress,条目类型(2:删除,
3:动态,4:静态)
AdapterIndex:NIC适配器编号
我使用4个OID设置ARP表条目:
OID[0] = "1.3.6.1.2.1.4.22.1.1", 设置接口编号
OID[1] = "1.3.6.1.2.1.4.22.1.2", 设置MAC地址
OID[3] = "1.3.6.1.2.1.4.22.1.3", 设置IP地址
OID[2] = "1.3.6.1.2.1.4.22.1.4", 设置条目类型 (静态或动态), 或删除

//----------------------------------------------------------------------- // Function: EditEntry: Add/Modify/Remove ARP entry for specific NIC interface. // // Parameters: // IPAddress Array of 4 BYTES, 4 octs of IP Address // MACAddress Array of 4 BYTES, 6 octs of MAC Address // Type Entry type (2:Remove, 3:Dynamic, 4:Static) // AdapterIndex NIC Adapter index number // // Returns: // TRUE if set successfully, FALSE otherwise. //----------------------------------------------------------------------- BOOL CARP::EditEntry(unsigned char IPAddress[4], unsigned char MACAddress[6], unsigned long Type, int AdapterIndex) { if (!bInitialized) return 0; SnmpVarBindList SVBList; SnmpVarBind SVBVars[4]; UINT OID[4][10]; AsnInteger32 aiErrorStatus, aiErrorIndex; BOOL bReturn = FALSE; //----------------------------------------------------------------------- // Fill array of 4 OIDs // // OID[0] : "1.3.6.1.2.1.4.22.1.1", ipNetToMediaIfIndex // The interface on which this entry~s equivalence is effective // // OID[1] : "1.3.6.1.2.1.4.22.1.2", ipNetToMediaPhysAddress // The media-dependent ~physical~ address // // OID[2] : "1.3.6.1.2.1.4.22.1.3", ipNetToMediaNetAddress // The IpAddress corresponding to the media-dependent ~physical~ address // // OID[3] : "1.3.6.1.2.1.4.22.1.4", ipNetToMediaType // Entry type: 1:Other, 2:Invalid(Remove), 3:Dynamic, 4:Static //----------------------------------------------------------------------- for (int count=0; count<4; count++) { OID[count][0] = 1; OID[count][1] = 3; OID[count][2] = 6; OID[count][3] = 1; OID[count][4] = 2; OID[count][5] = 1; OID[count][6] = 4; OID[count][7] = 22; OID[count][8] = 1; OID[count][9] = 1 + count; switch(count) { case 0: // OID[0] : "1.3.6.1.2.1.4.22.1.1", ipNetToMediaIfIndex // The interface on which this entry~s equivalence is effective SVBVars[count].value.asnType = ASN_INTEGER; SVBVars[count].value.asnValue.number = AdapterIndex; break; case 1: // OID[1] : "1.3.6.1.2.1.4.22.1.2", ipNetToMediaPhysAddress // The media-dependent ~physical~ address SVBVars[count].value.asnType = ASN_OCTETSTRING; SVBVars[count].value.asnValue.string.stream = MACAddress; SVBVars[count].value.asnValue.string.length = 6; // MAC Address length SVBVars[count].value.asnValue.string.dynamic= FALSE; break; case 2: // OID[2] : "1.3.6.1.2.1.4.22.1.3", ipNetToMediaNetAddress // The IpAddress corresponding to the media-dependent ~physical~ address SVBVars[count].value.asnType = ASN_IPADDRESS; SVBVars[count].value.asnValue.string.stream = IPAddress; SVBVars[count].value.asnValue.string.length = 4; // IP Address length SVBVars[count].value.asnValue.string.dynamic= FALSE; break; case 3: // OID[3] : "1.3.6.1.2.1.4.22.1.4", ipNetToMediaType // Entry type: 2:Remove, 3:Dynamic, 4:Static SVBVars[count].value.asnType = ASN_INTEGER; SVBVars[count].value.asnValue.number = Type; break; } AsnObjectIdentifier AsnOID = {sizeof(OID[count])/sizeof(UINT), OID[count]}; SnmpUtilOidCpy(&SVBVars[count].name, &AsnOID); } SVBList.len = 4; SVBList.list = SVBVars; aiErrorStatus = 0; aiErrorIndex = 0; // Set information of entry (4 OIDs) if (pfnSnmpExtensionQuery(SNMP_PDU_SET, &SVBList, &aiErrorStatus, &aiErrorIndex)) if (aiErrorStatus == SNMP_ERRORSTATUS_NOERROR) bReturn = TRUE; // If success set bReturn = true // Frees the memory allocated for the specified object identifiers SnmpUtilOidFree(&SVBVars[3].name); SnmpUtilOidFree(&SVBVars[2].name); SnmpUtilOidFree(&SVBVars[1].name); SnmpUtilOidFree(&SVBVars[0].name); return bReturn; // TRUE if set successfully, FALSE otherwise. }
你也可以用同样的方法采用合适的OID,添加、修改、删除路由表信息,具体参考RFC1213。
mib-2 node 1.3.6.1.2.1 system node 1.3.6.1.2.1.1 sysDescr scalar 1.3.6.1.2.1.1.1 sysObjectID scalar 1.3.6.1.2.1.1.2 sysUpTime scalar 1.3.6.1.2.1.1.3 sysContact scalar 1.3.6.1.2.1.1.4 sysName scalar 1.3.6.1.2.1.1.5 sysLocation scalar 1.3.6.1.2.1.1.6 sysServices scalar 1.3.6.1.2.1.1.7 interfaces node 1.3.6.1.2.1.2 ifNumber scalar 1.3.6.1.2.1.2.1 ifTable table 1.3.6.1.2.1.2.2 ifEntry row 1.3.6.1.2.1.2.2.1 ifIndex column 1.3.6.1.2.1.2.2.1.1 ifDescr column 1.3.6.1.2.1.2.2.1.2 ifType column 1.3.6.1.2.1.2.2.1.3 ifMtu column 1.3.6.1.2.1.2.2.1.4 ifSpeed column 1.3.6.1.2.1.2.2.1.5 ifPhysAddress column 1.3.6.1.2.1.2.2.1.6 ifAdminStatus column 1.3.6.1.2.1.2.2.1.7 ifOperStatus column 1.3.6.1.2.1.2.2.1.8 ifLastChange column 1.3.6.1.2.1.2.2.1.9 ifInOctets column 1.3.6.1.2.1.2.2.1.10 ifInUcastPkts column 1.3.6.1.2.1.2.2.1.11 ifInNUcastPkts column 1.3.6.1.2.1.2.2.1.12 ifInDiscards column 1.3.6.1.2.1.2.2.1.13 ifInErrors column 1.3.6.1.2.1.2.2.1.14 ifInUnknownProtos column 1.3.6.1.2.1.2.2.1.15 ifOutOctets column 1.3.6.1.2.1.2.2.1.16 ifOutUcastPkts column 1.3.6.1.2.1.2.2.1.17 ifOutNUcastPkts column 1.3.6.1.2.1.2.2.1.18 ifOutDiscards column 1.3.6.1.2.1.2.2.1.19 ifOutErrors column 1.3.6.1.2.1.2.2.1.20 ifOutQLen column 1.3.6.1.2.1.2.2.1.21 ifSpecific column 1.3.6.1.2.1.2.2.1.22 at node 1.3.6.1.2.1.3 atTable table 1.3.6.1.2.1.3.1 atEntry row 1.3.6.1.2.1.3.1.1 atIfIndex column 1.3.6.1.2.1.3.1.1.1 atPhysAddress column 1.3.6.1.2.1.3.1.1.2 atNetAddress column 1.3.6.1.2.1.3.1.1.3 ip node 1.3.6.1.2.1.4 ipForwarding scalar 1.3.6.1.2.1.4.1 ipDefaultTTL scalar 1.3.6.1.2.1.4.2 ipInReceives scalar 1.3.6.1.2.1.4.3 ipInHdrErrors scalar 1.3.6.1.2.1.4.4 ipInAddrErrors scalar 1.3.6.1.2.1.4.5 ipForwDatagrams scalar 1.3.6.1.2.1.4.6 ipInUnknownProtos scalar 1.3.6.1.2.1.4.7 ipInDiscards scalar 1.3.6.1.2.1.4.8 ipInDelivers scalar 1.3.6.1.2.1.4.9 ipOutRequests scalar 1.3.6.1.2.1.4.10 ipOutDiscards scalar 1.3.6.1.2.1.4.11 ipOutNoRoutes scalar 1.3.6.1.2.1.4.12 ipReasmTimeout scalar 1.3.6.1.2.1.4.13 ipReasmReqds scalar 1.3.6.1.2.1.4.14 ipReasmOKs scalar 1.3.6.1.2.1.4.15 ipReasmFails scalar 1.3.6.1.2.1.4.16 ipFragOKs scalar 1.3.6.1.2.1.4.17 ipFragFails scalar 1.3.6.1.2.1.4.18 ipFragCreates scalar 1.3.6.1.2.1.4.19 ipAddrTable table 1.3.6.1.2.1.4.20 ipAddrEntry row 1.3.6.1.2.1.4.20.1 ipAdEntAddr column 1.3.6.1.2.1.4.20.1.1 ipAdEntIfIndex column 1.3.6.1.2.1.4.20.1.2 ipAdEntNetMask column 1.3.6.1.2.1.4.20.1.3 ipAdEntBcastAddr column 1.3.6.1.2.1.4.20.1.4 ipAdEntReasmMaxSize column 1.3.6.1.2.1.4.20.1.5 ipRouteTable table 1.3.6.1.2.1.4.21 ipRouteEntry row 1.3.6.1.2.1.4.21.1 ipRouteDest column 1.3.6.1.2.1.4.21.1.1 ipRouteIfIndex column 1.3.6.1.2.1.4.21.1.2 ipRouteMetric1 column 1.3.6.1.2.1.4.21.1.3 ipRouteMetric2 column 1.3.6.1.2.1.4.21.1.4 ipRouteMetric3 column 1.3.6.1.2.1.4.21.1.5 ipRouteMetric4 column 1.3.6.1.2.1.4.21.1.6 ipRouteNextHop column 1.3.6.1.2.1.4.21.1.7 ipRouteType column 1.3.6.1.2.1.4.21.1.8 ipRouteProto column 1.3.6.1.2.1.4.21.1.9 ipRouteAge column 1.3.6.1.2.1.4.21.1.10 ipRouteMask column 1.3.6.1.2.1.4.21.1.11 ipRouteMetric5 column 1.3.6.1.2.1.4.21.1.12 ipRouteInfo column 1.3.6.1.2.1.4.21.1.13 ipNetToMediaTable table 1.3.6.1.2.1.4.22 ipNetToMediaEntry row 1.3.6.1.2.1.4.22.1 ipNetToMediaIfIndex column 1.3.6.1.2.1.4.22.1.1 ipNetToMediaPhysAddress column 1.3.6.1.2.1.4.22.1.2 ipNetToMediaNetAddress column 1.3.6.1.2.1.4.22.1.3 ipNetToMediaType column 1.3.6.1.2.1.4.22.1.4 ipRoutingDiscards scalar 1.3.6.1.2.1.4.23 icmp node 1.3.6.1.2.1.5 icmpInMsgs scalar 1.3.6.1.2.1.5.1 icmpInErrors scalar 1.3.6.1.2.1.5.2 icmpInDestUnreachs scalar 1.3.6.1.2.1.5.3 icmpInTimeExcds scalar 1.3.6.1.2.1.5.4 icmpInParmProbs scalar 1.3.6.1.2.1.5.5 icmpInSrcQuenchs scalar 1.3.6.1.2.1.5.6 icmpInRedirects scalar 1.3.6.1.2.1.5.7 icmpInEchos scalar 1.3.6.1.2.1.5.8 icmpInEchoReps scalar 1.3.6.1.2.1.5.9 icmpInTimestamps scalar 1.3.6.1.2.1.5.10 icmpInTimestampReps scalar 1.3.6.1.2.1.5.11 icmpInAddrMasks scalar 1.3.6.1.2.1.5.12 icmpInAddrMaskReps scalar 1.3.6.1.2.1.5.13 icmpOutMsgs scalar 1.3.6.1.2.1.5.14 icmpOutErrors scalar 1.3.6.1.2.1.5.15 icmpOutDestUnreachs scalar 1.3.6.1.2.1.5.16 icmpOutTimeExcds scalar 1.3.6.1.2.1.5.17 icmpOutParmProbs scalar 1.3.6.1.2.1.5.18 icmpOutSrcQuenchs scalar 1.3.6.1.2.1.5.19 icmpOutRedirects scalar 1.3.6.1.2.1.5.20 icmpOutEchos scalar 1.3.6.1.2.1.5.21 icmpOutEchoReps scalar 1.3.6.1.2.1.5.22 icmpOutTimestamps scalar 1.3.6.1.2.1.5.23 icmpOutTimestampReps scalar 1.3.6.1.2.1.5.24 icmpOutAddrMasks scalar 1.3.6.1.2.1.5.25 icmpOutAddrMaskReps scalar 1.3.6.1.2.1.5.26 tcp node 1.3.6.1.2.1.6 tcpRtoAlgorithm scalar 1.3.6.1.2.1.6.1 tcpRtoMin scalar 1.3.6.1.2.1.6.2 tcpRtoMax scalar 1.3.6.1.2.1.6.3 tcpMaxConn scalar 1.3.6.1.2.1.6.4 tcpActiveOpens scalar 1.3.6.1.2.1.6.5 tcpPassiveOpens scalar 1.3.6.1.2.1.6.6 tcpAttemptFails scalar 1.3.6.1.2.1.6.7 tcpEstabResets scalar 1.3.6.1.2.1.6.8 tcpCurrEstab scalar 1.3.6.1.2.1.6.9 tcpInSegs scalar 1.3.6.1.2.1.6.10 tcpOutSegs scalar 1.3.6.1.2.1.6.11 tcpRetransSegs scalar 1.3.6.1.2.1.6.12 tcpConnTable table 1.3.6.1.2.1.6.13 tcpConnEntry row 1.3.6.1.2.1.6.13.1 tcpConnState column 1.3.6.1.2.1.6.13.1.1 tcpConnLocalAddress column 1.3.6.1.2.1.6.13.1.2 tcpConnLocalPort column 1.3.6.1.2.1.6.13.1.3 tcpConnRemAddress column 1.3.6.1.2.1.6.13.1.4 tcpConnRemPort column 1.3.6.1.2.1.6.13.1.5 tcpInErrs scalar 1.3.6.1.2.1.6.14 tcpOutRsts scalar 1.3.6.1.2.1.6.15 udp node 1.3.6.1.2.1.7 udpInDatagrams scalar 1.3.6.1.2.1.7.1 udpNoPorts scalar 1.3.6.1.2.1.7.2 udpInErrors scalar 1.3.6.1.2.1.7.3 udpOutDatagrams scalar 1.3.6.1.2.1.7.4 udpTable table 1.3.6.1.2.1.7.5 udpEntry row 1.3.6.1.2.1.7.5.1 udpLocalAddress column 1.3.6.1.2.1.7.5.1.1 udpLocalPort column 1.3.6.1.2.1.7.5.1.2 egp node 1.3.6.1.2.1.8 egpInMsgs scalar 1.3.6.1.2.1.8.1 egpInErrors scalar 1.3.6.1.2.1.8.2 egpOutMsgs scalar 1.3.6.1.2.1.8.3 egpOutErrors scalar 1.3.6.1.2.1.8.4 egpNeighTable table 1.3.6.1.2.1.8.5 egpNeighEntry row 1.3.6.1.2.1.8.5.1 egpNeighState column 1.3.6.1.2.1.8.5.1.1 egpNeighAddr column 1.3.6.1.2.1.8.5.1.2 egpNeighAs column 1.3.6.1.2.1.8.5.1.3 egpNeighInMsgs column 1.3.6.1.2.1.8.5.1.4 egpNeighInErrs column 1.3.6.1.2.1.8.5.1.5 egpNeighOutMsgs column 1.3.6.1.2.1.8.5.1.6 egpNeighOutErrs column 1.3.6.1.2.1.8.5.1.7 egpNeighInErrMsgs column 1.3.6.1.2.1.8.5.1.8 egpNeighOutErrMsgs column 1.3.6.1.2.1.8.5.1.9 egpNeighStateUps column 1.3.6.1.2.1.8.5.1.10 egpNeighStateDowns column 1.3.6.1.2.1.8.5.1.11 egpNeighIntervalHello column 1.3.6.1.2.1.8.5.1.12 egpNeighIntervalPoll column 1.3.6.1.2.1.8.5.1.13 egpNeighMode column 1.3.6.1.2.1.8.5.1.14 egpNeighEventTrigger column 1.3.6.1.2.1.8.5.1.15 egpAs scalar 1.3.6.1.2.1.8.6 transmission node 1.3.6.1.2.1.10 snmp node 1.3.6.1.2.1.11 snmpInPkts scalar 1.3.6.1.2.1.11.1 snmpOutPkts scalar 1.3.6.1.2.1.11.2 snmpInBadVersions scalar 1.3.6.1.2.1.11.3 snmpInBadCommunityNames scalar 1.3.6.1.2.1.11.4 snmpInBadCommunityUses scalar 1.3.6.1.2.1.11.5 snmpInASNParseErrs scalar 1.3.6.1.2.1.11.6 snmpInTooBigs scalar 1.3.6.1.2.1.11.8 snmpInNoSuchNames scalar 1.3.6.1.2.1.11.9 snmpInBadValues scalar 1.3.6.1.2.1.11.10 snmpInReadOnlys scalar 1.3.6.1.2.1.11.11 snmpInGenErrs scalar 1.3.6.1.2.1.11.12 snmpInTotalReqVars scalar 1.3.6.1.2.1.11.13 snmpInTotalSetVars scalar 1.3.6.1.2.1.11.14 snmpInGetRequests scalar 1.3.6.1.2.1.11.15 snmpInGetNexts scalar 1.3.6.1.2.1.11.16 snmpInSetRequests scalar 1.3.6.1.2.1.11.17 snmpInGetResponses scalar 1.3.6.1.2.1.11.18 snmpInTraps scalar 1.3.6.1.2.1.11.19 snmpOutTooBigs scalar 1.3.6.1.2.1.11.20 snmpOutNoSuchNames scalar 1.3.6.1.2.1.11.21 snmpOutBadValues scalar 1.3.6.1.2.1.11.22 snmpOutGenErrs scalar 1.3.6.1.2.1.11.24 snmpOutGetRequests scalar 1.3.6.1.2.1.11.25 snmpOutGetNexts scalar 1.3.6.1.2.1.11.26 snmpOutSetRequests scalar 1.3.6.1.2.1.11.27 snmpOutGetResponses scalar 1.3.6.1.2.1.11.28 snmpOutTraps scalar 1.3.6.1.2.1.11.29 snmpEnableAuthenTraps scalar 1.3.6.1.2.1.11.30
(全文完)
[VC 编程添加评论 | 评论/阅读(0/421)
评论
昵称
主页
内容
递交


Copyright @ 我的开发笔记     2008 - 2017         粤ICP备19155526号-1