rtmp協議資料報分析(2)

2021-08-03 02:22:00 字數 1055 閱讀 3422

此前已經分析過報頭,接下類分析資料部分。

rtmp包預設的最大長度為128位元組,(或通過chunksize改變rtmp包最大長度), 當amf資料超過128byte的時候就可能有多個rtmp包組成,如果需要解碼的rtmp包太長則被tcp協議分割成多個tcp包.那麼解碼的時候需要先將包含rtmp包的tcp封包合併, 再把合併的資料解碼,解碼後可得到amf格式的資料,將這些amf資料取出來就可以對amf資料解碼了.

amf資料由2部分組成: objtype 加上 objvalue

。objtype的大小為乙個位元組。objvalue的大小不固定,和objtype相關。 常用的objtype型別和對應的objvalue大小整理如下,詳細的objtype的資料在本文的最下面列出:

型別說明(objtype)

資料 datasize

core_string

0x02   

2位元組 (2位元組的資料紀錄了string的實際長度)

core_object 

0x03 

0位元組(開始巢狀0x00000009表示巢狀結束)

null  

0x05 

0位元組 空位元組無意義

core_number

0x00  

8位元組core_map

0x08     

4位元組(開始巢狀)

core_boolean

0x01    

1位元組

objvalue不一定是乙個固定的大小,他可以包含另外乙個amf資料,這另外乙個amf資料裡面又有objtype 加上 objvalue,也就是amf資料的巢狀關係

amf0資料的巢狀關係如下:

object=

core_boolean=

core_number=

core_string=

core_date=

core_array=

core_map=

core_object=

詳細的objtype資料型別如下:,參考red5

enum amf

;

Linux網路資料報分析

在linux下分析網路情況一般使用tcpdump命令。tcpdump命令後面一些常用引數 i eth0 這是網絡卡 w 檔名 將資料報儲存到檔案 c 100 只抓100個包 host 主機ip 只抓指定主機與本機的資料報 舉例 tcpdump c 2000 w home dg01.cap tcpdu...

Wireshark UDP資料報分析 廣播

udp協議 使用者資料報協議 udp協議是乙個簡單的面向資料報的傳輸層協議 程序的每個輸出操作都正好產生乙個 u d p資料報,並組裝成乙份待傳送的 i p資料報。udp協議的特點 udp是乙個無連線的協議 udp使用最大努力交付,不提供可靠性 udp頭部只有8個位元組 下面是udp資料報在ip資料...

IP 資料報分析上

學習tcp ip協議就必須的學會怎麼學分析資料報,下面為乙個簡單的例項來說明怎麼去分析乙個ip資料報 1 乙太網 rfc 894 幀的格式 其中的源位址和目的位址是指網絡卡的硬體位址 也叫mac位址 長度是48位,是在網絡卡出廠時固化的。用ifconfig命令看一下,hwaddr 00 15 f2 ...