【正文】
下面為 PPPOE 用戶 Radius 認證的 Sniffer 捕獲的報文。可以 看出在 Radius 認證過程中, BAS 設備將 Challenge 屬性和用戶加密后的密碼發(fā)給 Radius進行驗證。通過比較可以方便看出 BAS 發(fā)出的 Challenge 值為“ 26fe8768341de68a72a1276771e1c1ca”與 PPPOE 中 CHAP 認證過程中 BAS 發(fā)給 PPPOE 用戶的 Challenge值是一致的。 Radius報文是承載在 UPD協(xié) 議之上的,這里我沒不關注上層報文的結構。 從中可以看出對于報文請求和響應是通過 IP 地址 +Radius 協(xié)議域中 ID 號進行配對識別的。 報文 5: BAS 計費結束報文。 報文 3: BAS 計費請求報文。 報文 1: BAS 請求 Radius Server 認證報文。 響應驗證字= MD5(Code+ID+Length+請求驗證字 +Attributes+Key) Attributes:屬性 圖 10 屬性格式 屬性域是 TLV結構編碼。 該驗證字分為兩種: 請求驗證字 Request Authenticator 用在請求報文中 ,必須為全局唯一的隨機值。 Length: 包長度; 2 字節(jié);整個包中所有域的長度。 數(shù)據(jù)報文解碼詳解 59 P P P O E 會話階段P P P O E 協(xié)議頭 6 b y t e sPPP 協(xié)議頭2 b y t e s承載的 IP 協(xié)議報文P P P O ES e s s io n ID 號會話階段協(xié)議頭協(xié)議頭承載的 協(xié)議報文號 Radius協(xié)議 Radius 報文簡介 標準 Radius 協(xié)議包結構 圖 9 Radius 包格式 Code:包類型; 1 字節(jié);指示 RADIUS 包的類型。 PPPOE 發(fā)現(xiàn)階段, PADI報文, Sniffer 解碼結構如下所示。 PPPOE 用戶 Radius 報文交互過程分析如下。在 PPPOE的發(fā)現(xiàn)階段時,該域內會填充一些 Tag(標記);而在 PPPOE 的會話階段,該域則攜帶的是 PPP 的報文。 ? 長度域為 2 個字節(jié),用來指示 PPPOE數(shù)據(jù)報文中凈載荷的長度。 ? 代碼域占用 1個字節(jié),對于 PPPOE 的不同階段這個域內的內容也是不一樣的。下圖為 PPPOE 的報文的格式: 數(shù)據(jù)報文解碼詳解 57 ? 數(shù)據(jù)報文最開始的 4 位為版本域,協(xié)議中給出了明確的規(guī)定,這個域的內容填充 0x01。 上面為通過 Sniffer解碼的 ARP 請求和應答報文的結構。這是一個可變長度字段,用來定義目標的邏輯地址(例如, IP 地址)的長度。對 于 ARP 請求報文,這個字段是全 0,因為發(fā)送站不知道目標的物理地址。這是一個可變長度字段,用來定義目標的物理地址的長度。對于 IP 協(xié)議,這個字段是 4 字節(jié)長。 SPA(發(fā)送站協(xié)議地址) 。這是一個可變長度字段,用來定義發(fā)送站的物理地址的長度。已定義了兩種類型: ARP 請求( 1), ARP 回答( 2)。 OPER(操作) 。這是一個 8比特字段,用來定義以字節(jié)為單位的邏輯地址的長 度。例如,對以太網這個值是 6。 HLEN(硬件長度) 。例如,對 IPv4 協(xié)議,這個字段的值是 0800。 PTYPE(協(xié)議類型) 。例如,以太網是類型 1。這是一個 16 比特字段,用來定義運行 ARP 的網絡的類型。其他字段的解碼含義可以與此類似,只要對協(xié)議理解的比較清楚對解碼內容的理解將會變的很容易。t Fragment) 數(shù)據(jù)報文解碼詳解 54 DF=1,不允許分片 DF=0,允許分片 段偏移:分片后的分組在原分組中的相對位置,總共 13 比特,單位為 8 字節(jié) 壽命: TTL( Time To Live)丟棄 TTL=0 的報文 協(xié)議:攜帶的是何種協(xié)議報文 1 : ICMP 6 : TCP 17: UDP 89: OSPF 頭部檢驗和:對 IP 協(xié)議首部的校驗 和 源 IP 地址: IP 報文的源地址 目的 IP 地址: IP 報文的目的地址 上圖為 Sniffer 對 IP 協(xié)議首部的解碼分析結構,和 IP 首部各個字段相對應,并給出了各個字段值所表示含義的英文解釋。這里給出了 IP協(xié)議頭部的一個結構。并多了 LLC子層。 IP 網絡來說 Ethertype 字段承載的時上層協(xié)議的類型主要包括 0x800 為 IP協(xié)議, 0x806 為 ARP 協(xié)議。 源目的 MAC 地址在解碼框中可以將前 3 字節(jié)代表廠商的字段翻譯出來,方便定位問題,例如網絡上 2 臺設備 IP 地址設置沖突,可以通過解碼翻譯出廠商信息方便的將故障設備找到,如 00e0fc 為華為, 010042 為 Cisco等等。 以太 報文 結構 EtherII以太網幀結構 數(shù)據(jù)報文解碼詳解 52 Et he r ne t _ I ID MA C S M A C T y p e D A TA /P A D F C S Ether_II以太網幀類型報文結構為:目的 MAC 地址( 6bytes)+源 MAC地址+( 6bytes)上層協(xié)議類型( 2bytes)+數(shù)據(jù)字段( 461500bytes)+校驗( 4bytes)。 Sniffer 可以針對眾多協(xié)議進行詳細結構化解碼分析。 應用層傳輸層網絡層鏈路層T e ln e t FT P 和 e m a il 等T C P 和 U D PI P I C M P I G M P設備 驅動程序及接口卡應用層傳輸層網絡層鏈路層和 等和設備 驅動程序及接口卡 如上圖所示在 Sniffer的解碼表中分別對每一個層次協(xié)議進行解碼分析。 數(shù)據(jù)報文分層 如下圖所示,對于四層網絡結