MQTT协议分析—Wireshark使用基础

举报
樊心昊 发表于 2020/08/26 00:40:06 2020/08/26
【摘要】 Wireshark背景介绍Wireshark是世界上最广泛使用的网络协议分析器。它使您可以从微观角度查看网络上发生的事情,并且是许多商业和非营利企业,政府机构和教育机构的事实上(通常是法律上)的标准。由于全球网络专家的自愿贡献,Wireshark的发展蒸蒸日上,并且是Gerald Combs在1998年启动的项目的延续。 之后的章节中,我将带领大家使用该软件抓取本地客户端基于MQTT协议进行...

Wireshark背景介绍

image.png

Wireshark是世界上最广泛使用的网络协议分析器。它使您可以从微观角度查看网络上发生的事情,并且是许多商业和非营利企业,政府机构和教育机构的事实上(通常是法律上)的标准。由于全球网络专家的自愿贡献,Wireshark的发展蒸蒸日上,并且是Gerald Combs在1998年启动的项目的延续。

 

之后的章节中,我将带领大家使用该软件抓取本地客户端基于MQTT协议进行通信时的网络数据包,带领大家分析一个MQTT数据包是如何基于TCP/IP协议构建出来的,甚至自己组装一系列的包,通过TCP/IP协议发出,进行MQTT通信。

 

下载地址:https://www.wireshark.org/#download

安装步骤

打开上面的下载链接,根据你的操作系统环境选择合适版本进行下载,这里以Win10为例,双击安装包,如下图。

image.png

在弹出“用户账户控制”中选择“是”,允许其对我们的电脑进行更改,如下图。

image.png

之后一直点击Next->I Agree-> Next->“选择安装路径” ->Next->Install,即可完成安装,以下图片是我配置的选项均为默认配置。

image.png

 

image.png

 

image.png

 

image.png

 

image.png

Wireshark基本使用

打开Wireshark后会得到如下界面,提示你选择一个网卡或设备(USB、蓝牙等)进行数据捕获,这里读取到了我有多张网卡,你可能也有多张网卡,有的是虚拟机的虚拟网卡,我们需要找到MQTT.fx使用的网卡,这里教大家一个最简单的办法,每张网卡边上都有一条线,产生波动的网卡就是你正在使用的,双击它即可,我这里选择“以太网”网卡。

image.png

下图中有三个框:

    :常用工具栏,第一个按钮是“启动捕获”,第二个按钮是“停止捕获”,目前你只需要知道这两个按钮的作用即可,例如我们使用MQTT.fx软件发送MQTT消息之前“启动捕获”,发送完毕“停止捕获”。

    :过滤器,这里可以使用一些表达式来过滤特定的包,如果不过滤你将会在③号框处看到“启动捕获”至“停止捕获”这个区间类捕获的所有网络包,影响我们的分析,常用表达式为:

只看特定ip的包: ip.addr == ip,假如我的MQTT服务器的IP地址为114.15.24.65,我只想看MQTT.fx和这个服务器通信的包,我就可以输入 ip.addr == 114.15.24.65,即可将其余的包过滤掉。

只想看特定端口的包:ip.port = 端口,例如我使用服务器的1883端口进行MQTT通信,这时我可以输入tcp.port == 1883规则,将端口不是1883和协议不是TCP的包全部给过滤掉,能极大提高分析效率。

大家暂时只要知道这一点对我们后面的分析足够了。

    :捕获的数据包:

第一项No是指包的序列号

第二项Time是指某个包相对于第一个包的时间,捕获到的第一个包时间为0,这项可以自己设置是采用相对时间还是绝对时间。

第三项Source是指发出该数据包的设备的IP。

第四项Destination是指接收该数据包的设备的IP。

第五项Protocol是指该数据包属于什么协议,例如TCP/UDP/MQTT等

第六项Length是指该数据包的长度。

第七项Info是wireshark软件读取数据包内容并分析后总结的一些关键信息,例如TCP的握手信息等

image.png

你可以点击任意一个“捕获的数据包”,将出现如下图所示的解析结果(②框)和包的原始数据(③框)。

image.png

我们可以根据这些数据对任意网络协议进行分析,从而得知其内部的机制以及数据的组织方式和格式,真正做到从底层出发研究一个协议,随后的文章我将带领大家使用该软件对MQTT数据包进行分析。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。