萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

SNMP 簡單網路管理協議深度解析:架構、四大操作、Community、MIB 樹狀結構、表格行操作實現

SNMP 簡介:事實標準的網管協議

SNMP (Simple Network Management Protocol) 起源於 SGMP (Simple Gateway Monitoring Protocol),引入 SMI (Structure of Management Information) 與 MIB (Management Information Base) 架構,成為 RFC 1157 (v1)、RFC 1901-1908 (v2c)、RFC 3411-3418 (v3) 標準。v2c 社群字串明文、v3 支援認證/加密 (USM) + 存取控制 (VACM),現代環境強制建議 v3。

四大核心操作 (PDU 類型)

操作方向用途類比
GetRequestManager → Agent讀取單一/多個標量物件查詢 CPU 使用率
GetNextRequestManager → Agent依詞典序遍歷 MIB 樹,發現未知物件列印介面表、路由表
GetBulkRequest (v2c+)Manager → Agent高效批量獲取大量表格資料 (非重複 GetNext)大表格輪詢
SetRequestManager → Agent寫入/修改可寫物件 (需寫權限)關閉介面、修改 VLAN、設定陷阱目標
Trap/Inform (v2c+)Agent → Manager主動通報事件 (Link Down/CPU 過溫/配置變更)告警推送
ResponseAgent → Manager回應 Get/Set,攜帶資料或錯誤碼應答

管理架構:Manager、Agent、Community、MIB

  • Manager (NMS):網管工作站,發起請求、接收 Trap、呈現拓撲/效能/告警。
  • Agent:裝置端常駐程式,維護本地 MIB、回應請求、發送 Trap。
  • Community (社群):v1/v2c 的輕量級存取控制,字串如密碼 (public/private)。
    同一 Community 成員共享存取權限 (Read-only / Read-Write)。
    v3 改用 User-based Security Model (USM) + View-based Access Control Model (VACM),更細粒度。
  • MIB:管理資訊庫,樹狀命名空間 (OID 物件識別碼),如 1.3.6.1.2.1 (mib-2 標準)、1.3.6.1.4.1 (企業私有)。

MIB 樹狀結構與 GetNext 遍歷機制

每個物件實例 = 物件類 OID + 索引後綴。
例:ifDescr (介面描述) OID 1.3.6.1.2.1.2.2.1.2,介面 1 實例 .1,介面 2 實例 .2。
GetNext 從指定 OID 找「詞典序下一個」實例,依序走訪整棵樹/子樹/表格。

SNMP樹形表格結構示意圖

表格操作:增刪列的 Set 實現

增加一列 (Row Creation)

單次 SetRequest 攜帶該列所有欄位 (Column) 的 OID+值,包含索引欄位。
例:8 欄表格 → 8 個變數綁定。
RowStatus 物件 (RFC 2579) 控制列狀態:createAndGo(4)、createAndWait(5)、destroy(6)。

刪除一列

SetRequest 將該列任一欄位 (通常是 RowStatus) 設為 destroy(6) 或 invalid。
特例:Address Translation Table (舊式) 無 RowStatus,設索引鍵為空字串視為刪除。

注意:Agent 實作決定列是否物理移除或標記失效,Manager 須能辨識「非法/已刪除」資料。

SNMPv3 安全模型 (必知)

  • USM:用戶名 + 認證協議 (MD5/SHA/ SHA-2) + 加密協議 (DES/AES/3DES/AES-192/256) + 引擎 ID + 引擎時間/Boots 防重放。
  • VACM:群組 → 視圖 (View) → 權限 (Read/Write/Notify) 綁定 OID 子樹。
  • 部署建議:棄用 v1/v2c、強制 v3 AuthPriv、定期輪換金鑰、限制管理來源 IP。

實務工具鏈

  • 命令列:snmpget, snmpwalk, snmptable, snmpset, snmptrapd (Net-SNMP)。
  • 圖形化:MIB Browser (iReasoning、Muonics)、PRTG/Zabbix/LibreNMS/Observium (整合監控)。
  • 模擬測試:snmpsim、pySNMP 建立模擬 Agent 開發測試。

掌握 SNMP 架構與操作,讓網管從「看圖說故事」進化為「資料驅動自動化運維」!

copyright © 萬盛學電腦網 all rights reserved