mib.snmp
来自「ftam等标准协议服务器和客户端的源代码。」· SNMP 代码 · 共 224 行
SNMP
224 行
function p_name(f) { if (f in peers) return peers[f]; return (f);}function p_type(f) { if (f in ptypes) return ptypes[f]; return (f ? f : "unknown");}function p_status(f) { if (f in pstatus) return pstatus[f]; return (f ? f : "unknown");}function do_stats() { didone = 0; for (i in snmpInPkts) { didone = 1; printf "%9s packets received\n", snmpInPkts; printf "%9s packets with bad version\n", snmpInBadVersions; printf "%9s packets with bad community\n", snmpInBadCommunityNames; printf "%9s packets with authentication failures\n", snmpInBadCommunityUses; printf "%9s packets with BER parse errors\n", snmpInASNParseErrs; printf "%9s packets with tooBigs\n", snmpInTooBigs; printf "%9s packets with noSuchNames\n", snmpInNoSuchNames; printf "%9s packets with badValues\n", snmpInBadValues; printf "%9s packets with readOnlys\n", snmpInReadOnlys; printf "%9s packets with genErrs\n", snmpInGenErrs; printf "%9s variables read\n", snmpInTotalReqVars; printf "%9s variables written\n", snmpInTotalSetVars; printf "%9s getRequests received\n", snmpInGetRequests; printf "%9s getNexts received\n", snmpInGetNexts; printf "%9s setRequests received\n", snmpInSetRequests; printf "%9s getResponses received\n", snmpInGetResponses; printf "%9s traps received\n", snmpInTraps; printf "\n"; printf "%9s packets generated\n", snmpOutPkts; printf "%9s packets with tooBigs\n", snmpOutTooBigs; printf "%9s packets with noSuchNames\n", snmpOutNoSuchNames; printf "%9s packets with badValues\n", snmpOutBadValues; printf "%9s packets with genErrs\n", snmpOutGenErrs; printf "%9s getRequests generated\n", snmpOutGetRequests; printf "%9s getNexts generated\n", snmpOutGetNexts; printf "%9s setRequests generated\n", snmpOutSetRequests; printf "%9s getResponses generated\n", snmpOutGetResponses; printf "%9s traps generated\n", snmpOutTraps; printf "%9s authorization traps\n", snmpEnableAuthenTraps == 1 ? "enabled" : "disabled"; } if (!didone && DIAGNOSTIC) printf "snmp statistics: %s\n", DIAGNOSTIC;}BEGIN { if (sflag) { do_stats(); exit(0); } INVALID = 2; CONNECTING = 3; ptypes[1] = "valid"; ptypes[2] = "invalid"; ptypes[3] = "connecting"; pstatus[0] = "noError"; pstatus[1] = "divide"; pstatus[2] = "overflow"; pstatus[3] = "underflow"; pstatus[4] = "noSuchName"; pstatus[5] = "notAnInteger"; pstatus[6] = "other"; didone = 0; for (i in viewPrimName) { if (!didone) { printf "Primitive views:\n"; printf "%-20s %-20s %-15s %-15s\n", "View", "Transport", "Address", "User"; didone = 1; } if (viewPrimType == INVALID) continue; printf "%-20s %-20s %-15s %-15s\n", viewPrimName, viewPrimTDomain, viewPrimTaddr, viewPrimUser; } if (!didone && DIAGNOSTIC) printf "primitive views: %s\n", DIAGNOSTIC; didone = 0; for (i in viewAclView) { if (!didone) { printf "Access policy:\n"; printf "%-5s %-20s %-30s %s\n", "Priv.", "View", "Community", "User"; didone = 1; } if (viewAclType == INVALID) continue; printf "%5d %-20s %-30s %s\n", viewAclPrivileges, viewAclView, viewAclCommunity, viewAclUser; } if (!didone && DIAGNOSTIC) printf "access policies: %s\n", DIAGNOSTIC; didone = 0; for (i in viewTrapView) { if (!didone) { printf "Trap Destinations:\n"; printf "%-20s %-8s %s\n", "View", "Generics", "Specifics"; didone = 1; } if (viewTrapView == INVALID) continue; printf "%-20s %-8s %s\n", viewTrapView, viewTrapGenerics, viewTrapSpecifics; } if (!didone && DIAGNOSTIC) printf "traps destinations: %s\n", DIAGNOSTIC; didone = 0; for (i in smuxPindex) { if (!didone) { printf "SMUX peers:\n"; printf "%-5s %-25s %s\n", "Index", "Identity", "Description"; didone = 1; } if (smuxPstatus == INVALID) continue; printf "%5d%s %-25s %s\n", smuxPindex, smuxPstatus == CONNECTING ? "*" : " ", smuxPidentity, smuxPdescription; peers[smuxPindex] = smuxPindex " (" smuxPdescription ")"; } if (!didone && DIAGNOSTIC) printf "smux peers: %s\n", DIAGNOSTIC; didone = 0; for (i in smuxTsubtree) { if (!didone) { printf "SMUX subtrees:\n"; printf "%-5s %-25s %s\n", "Prio.", "Subtree", "Peer"; didone = 1; } if (smuxTstatus == INVALID) continue; printf "%5d %-25s %s\n", smuxTpriority, smuxTsubtree, p_name(smuxTindex); } if (!didone && DIAGNOSTIC) printf "smux peers: %s\n", DIAGNOSTIC; if ((j = exprNumber) == 0) exit (0); printf "EVAL expressions: %d\n", j; didone = 0; for (i in exprIndex) { if (!didone) { printf "%-3s %-10s %-12s %s\n", "No.", "Evaluation", "Status", "Hints"; didone = 1; } printf "%-3s %-10s %-12s %s\n", exprIndex, exprEval, p_status(exprStatus), exprHints; printf " %s\n", exprExpr; } if (!didone && DIAGNOSTIC) printf "expressions: %s\n", DIAGNOSTIC; }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?