SNMP PDU報文格式解析

2021-05-24 02:51:51 字數 2080 閱讀 1243

snmp規定了5種協議資料單元pdu(也就是snmp報文),用來在管理程序和**之間的交換。

ø       get-request操作:從**程序處提取乙個或多個引數值(網管系統傳送)

ø       get-next-request操作:從**程序處提取緊跟當前引數值的下乙個引數值(網管系統傳送)

ø       set-request操作:設定**程序的乙個或多個引數值(網管系統傳送)

ø       get-response操作:返回的乙個或多個引數值。這個操作是由**程序發出的,它是前面三種操作的響應操作(**傳送)

ø       trap操作:**程序主動發出的報文,通知管理程序有某些事情發生(**傳送)

前面的3種操作是由管理程序向**程序發出的,後面的2個操作是**程序發給管理程序的,為了簡化起見,前面3個操作叫做get、get-next和set操作。下圖描述了snmp的這5種報文操作。請注意,在**程序端是用熟知埠161倆接收get或set報文,而在管理程序端是用熟知埠162來接收trap報文。

乙個snmp報文共有三個部分組成,即公共snmp首部、get/set首部或trap首部、變數繫結。下圖是封裝成udp資料報文的5種操作的snmp報文格式。

寫入版本欄位的是版本號減1,對於snmp(即snmpv1)則應寫入0。

共同體就是乙個字串,作為管理程序和**程序之間的明文口令,常用的是6個字元「public」。

根據pdu的型別,填入0~4中的乙個數字,其對應關係下表所示意圖。

pdu型別

pdu型別名稱0

get-request 1

get-next-request 2

get-response 3

set-request 4

trap

這是由管理程序設定的乙個整數值。**程序在傳送get-response報文時也要返回此請求識別符號。管理程序可同時向許多**發出get報文,這些報文都使用udp傳送,先傳送的有可能後到達。設定了請求識別符號可使管理程序能夠識別返回的響應報文對於哪乙個請求報文。

由**程序回答時填入0~5中的乙個數字,見下表的描述。

差錯狀態描述

差錯狀態

名字說明0

noerror

一切正常1

toobig

**無法將回答裝入到乙個snmp報文之中2

nosuchname

操作指明了乙個不存在的變數3

badvalue

乙個set操作指明了乙個無效值或無效語法4

readonly

管理程序試圖修改乙個唯讀變數5

generr

某些其他的差錯

當出現nosuchname、badvalue或readonly的差錯時,由**程序在回答時設定的乙個整數,它指明有差錯的變數在變數列表中的偏移。

填入trap報文的網路裝置的物件識別符號。此物件識別符號肯定是在圖3的物件命名樹上的enterprise結點下面的一棵子樹上。

此欄位正式的名稱是generic-trap,共分為表4中的7種。

trap型別描述

trap型別

名字說明0

coldstart

**進行了初始化1

warmstart

**進行了重新初始化2

linkdown

乙個介面從工作狀態變為故障狀態3

linkup

乙個介面從故障狀態變為工作狀態4

authenticationfailure

從snmp管理程序接收到具有乙個無效共同體的報文5

egpneighborloss

乙個egp相鄰路由器變為故障狀態6

enterprisespecific

**自定義的事件,需要用後面的「特定**」來指明

當使用上述型別2、3、5時,在報文後面變數部分的第乙個變數應標識響應的介面。

指明**自定義的時間(若trap型別為6),否則為0。

指明自**程序初始化到trap報告的事件發生所經歷的時間,單位為10ms。例如時間戳為1908表明在**初始化後1908ms發生了該時間。

指明乙個或多個變數的名和對應的值。在get或get-next報文中,變數的值應忽略。

mysql報文格式 Mysql 報文格式

mysql client和server端之間的的資料根據不同的協議規則的進行組織傳送。每包資料在傳送的時候都要新增上協議頭。mysql原始碼採用5.7.10版本 協議頭 每個協議頭共4個位元組 包資料長度 前三個位元組表示資料部分的長度 不包括協議頭 三位元組能表示的最大長度是16m 1 2 24 ...

mysql報文格式 Mysql 報文格式

mysql client和server端之間的的資料根據不同的協議規則的進行組織傳送。每包資料在傳送的時候都要新增上協議頭。mysql原始碼採用5.7.10版本 協議頭 每個協議頭共4個位元組 包資料長度 前三個位元組表示資料部分的長度 不包括協議頭 三位元組能表示的最大長度是16m 1 2 24 ...

HTTP的報文格式解析

http報文是面向文字的,報文中每乙個欄位都是一些ascii碼串,各個欄位的長度是不確定的。http有兩類報文 請求報文 響應報文 乙個http請求報文由 四部分組成 a 請求行 請求行由請求方法字段 url欄位和http協議版本字段,組成,它們用空格分隔,例如 get index.html htt...