使用Wireshark分析MQTT协议

发表于:2018-7-19 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阏男秀    来源:简书

  概述
  由于wireshark抓MQTT协议的包只能显示到TCP层次,要分析MQTT协议,就要添加wireshark插件——Wireshark Generic Dissector。
  下载和配置
  首先第一步下载generic.dll(Windows)或generic.so(Linux),并放到Wireshark的插件目录(Global Plugins folder或者Personal Plugins folder,可以通过菜单栏Help -> About Wireshark -> Folders查看)。
  注意对应好
  Global Plugins folder一般是在Wireshark主目录下的plugins\1.12.4(...\Wireshark\plugins\1.12.4)。
  然后添加MQTT规则文件,有两个:.wsgd和.fdesc。
  添加环境变量
  最后添加系统环境变量:WIRESHARK_GENERIC_DISSECTOR_DIR,指定为上面两个规则文件的目录。
  或者把上面两个文件放到下面其中一个目录下:
  wireshark profiles directory (e.g. C:\Users<user>\AppData\Roaming\Wireshark\profiles)
  wireshark data directory (e.g. C:\Users<user>\Documents)
  wireshark plugin directory (e.g. C:\Program Files\Wireshark1.0.3\plugins\1.0.3)
  wireshark main directory (e.g. C:\Program Files\Wireshark1.0.3)
  运行
  运行Wireshark,在过滤器输入mqttv31或对应的ip地址,就可以看到Protocol有显示MQTTv3.1协议了。
  最终效果图
  
  注意事项
  如果是使用Apache-Apollo作为MQTT服务器,由于使用的端口不同,所以还需要修改过滤文件的端口(原本是1883)。使用编辑器打开mqtt3.1.wsgd文件。把PARENT_SUBFIELD_VALUES修改成61613,保存。
   
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号