接上,某網關團隊提供瞭如下圖,堅持說他們網關遵循集團規範:
繼續分析,拿出論據,不是自己的鍋我們不背^_^:
1.下面引用網關方提供的截圖(紅色字體是爲進一步闡述加了些批註):
2.下面從DHCP相關的RFC3925官方規範着手,分析的option125報文格式:
上面這張圖是一張宏觀上的總概括圖,規範裏面總體的格式是如下:
---Option125
l
--Option len
l
----Enterprise Number
l
---Data len
l
----Option data
到這裏,除了綠色的選項數據格式和內容還不清楚怎麼組織,其它格式都已經明確下來了,需要知道選項數據內容,再根據提示需要往下看,繼續往下看到的內容:
到這裏所有的數據格式都明確了,option的數據就是上圖中所說到的子選項,如下:
完整報文的格式如下:
---Option125
l
--Option len
l
----Enterprise Number
l
---Data len
l
----suboption1 code
l
---suboption1 len
l
----Suboption1 data
……
----Suboption_n code
l
---Suboption_n len
l
----Suboption_n data
3.下面將抓包的數據和規範定義的格式結合起來分析:
上圖左邊的爲標準定義的報文格式,藍色的爲網關的報文,綠色的是標準的DHCP125的報文
由以上的分析可知:
網關端DHCP125報文數據段存在的問題:
a.子選項沒有按照C-L-V這種格式來組織數據,
b.一個小的選項帶一個數據,看網關的報文放了多個數據,並且子選項數據項裏面又放子選項(沒有這種定義方式),子選項與子選項之間應該是平行的關係。
c.選項字段的長度計算也不正確,
d.第二個enterprise沒帶數據,如果添加類似如下表格的數據,應該都放到子選項去處理纔對