使用wireshark分析MQTT協議


  網絡上搜索到兩種用wireshark工具分析MQTT協議的方法,都是使用wireshark插件,一種是Wireshark Generic Dissector;另一種是使用lua腳本插件(推薦使用這種方式)。

  一、Wireshark Generic Dissector

    1、下載generic.so,注意版本要嚴格匹配,放到wireshark的插件目錄(Global Plugins folder or Personal Plugins folder,可以通過wireshark的 Help / About Wireshark / Folders菜單查看目錄);

    2、編輯.wsgd和.fdesc文件(這應該就是協議的規則文件了,有人寫好了,網上可以搜到);

    3、設置WIRESHARK_GENERIC_DISSECTOR_DIR環境變量,為.wsgd和.fdesc文件的目錄。

    注:我使用了這種方案后,發現協議分析不完備,有些消息不能被正確識別,估計是.wsgd和.fdesc這兩個規則文件編寫有問題,我的目的是分析MQTT協議,這里就不相信研究這兩個文件的編寫規則了,后面閑了可以玩玩。

  二、使用lua腳本:

    1、安裝lua腳本解釋器:sudo apt-get install lua5.2;

    2、使用的時候會提示require("bit")錯誤,其實就是還需要為lua解釋器安裝位運算庫:sudo apt-get install lua-bitop;

    3、下載腳本:https://github.com/menudoproblema/Wireshark-MQTT,將mqtt.lua放到插件目錄;

      或者點擊下載:http://files.cnblogs.com/files/bingblogs/Wireshark-MQTT-master.zip

    4、The plugins directory can be found in Wireshark app:help/about wireshark menu.

    運行情況如圖:

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM