抓包檢視MQTT協議資料格式

2021-10-16 13:15:21 字數 1089 閱讀 2407

在wireshark的編輯選單欄  有乙個首選項,其中有protocols,選擇協議型別mqtt(編輯--->首選項--->protocols),選擇你需要的埠號

每條mqtt命令訊息的訊息頭都包含乙個固定的報頭,有些訊息會攜帶乙個可變報文頭和乙個負荷。訊息格式如下:固定報文頭 | 可變報文頭 | 負荷

圖 1從下面這張圖2可以看出header flags:0x01,對應上面圖1  型別值  為1 代表connect---->客戶端到伺服器發起連線

圖二protocl name length 表示協議名稱長度為4;protocol name 表示該協議為mqtt協議;version 表示 mqtt版本為v3.1.1;keep alive 表示心跳為20s;

client id 等於pf8280c27ha0f40167(實際在使用得過程中,我發現clinet id  不能等於 dummy,如果使用這個client id的話,伺服器拒絕連線);

user name 等於smartcom;

password 等於nodepoint2020;

圖三

圖四publish message 表示 3 ,去查圖1,對應的是publish 是訂閱的意思發布訊息,這個訂閱可以是伺服器發給客戶端的,也可以是客戶端發給伺服器的,這裡是伺服器發給客戶端訊息。

msg len 是60,其中toic length是18個位元組,message的訊息內容,有42個位元組(60-18),這裡的message是加密的,具體內容看伺服器如何給資料。

MQTT系列 資料格式

要解析或組合mqtt的資料報,必須了解mqtt的資料格式,本章我們先來了解下mqtt的基本資料格式。雙位元組整型為16bit無符號數,大端模式 高位元組在前,低位元組在後 msb在前,lsb在後。四位元組整型為 32 bit 無符號整型,大端模式 高位元組在前,低位元組在後 msb在前。utf 8控...

USB 協議資料格式

前面已經轉了一篇類似的文章,這篇和那篇其實很相似,只是按我的習慣編寫而成。內容和圖表基本 於www.usb.org。lsb bit first 1.域 fields sync 所有包開始都必須有的,1位元組在 low full speed,4 位元組在high speed pid packet id...

TCP協議資料格式

tcp協議間交換的資料單元稱為 tcp段 包括兩部分 首部和資料。標準首部長20位元組,帶有選項的首部會更長。1.源埠和目的埠 各佔2位元組,埠號加上ip位址,共同構成socket。互相通訊的程序使用一對socket,包括協議 源ip 源埠 目的ip 目的埠,這五個元素唯一確定乙個tcp連線。2.序...