使用 Wireshark 进行 HTTP、MQTT、WebSocket 抓包的详细教程
文章目录
- HTTP抓包
- MQTT抓包
- WebSocket抓包
使用Wireshark进行HTTP、MQTT、WebSocket抓包的详细教程如下:
HTTP抓包
- 捕获过滤器设置:在Wireshark的捕获过滤器输入框中输入
tcp port 80 or tcp port 443
,只抓取HTTP和HTTPS的流量。 - 开始抓包:选择正确的网卡后,点击左上角的蓝色播放按钮或按下
Ctrl+E
开始抓包。 - 触发HTTP请求:打开浏览器访问目标网站,或者在其他应用程序中执行相关的HTTP操作,以生成HTTP流量。
- 显示过滤器筛选:抓包完成后,在显示过滤器输入框中输入
http
,过滤出所有HTTP协议的数据包。 - 查看请求/响应:右键点击HTTP包,选择
Follow
→TCP Stream
或Follow
→HTTP Stream
,查看一条会话的请求和响应明文。在HTTP包的Detail区可展开Hypertext Transfer Protocol
节点查看header与body字段。 - 导出HTTP对象:如果需要导出网页上的静态资源等,可以通过菜单
File
→Export Objects
→HTTP
进行操作。
MQTT抓包
- 捕获过滤器设置:若设备使用明文MQTT,在捕获过滤器中输入
port 1883
;若使用TLS加密的MQTT,需先进行TLS解密等操作,再设置捕获过滤器为port 8883
。 - 开始抓包:选择网卡后点击开始抓包按钮。
- 显示过滤器筛选:在显示过滤器输入框中输入
mqtt
,显示所有MQTT协议的数据包。 - 查看PUBLISH payload:找到PUBLISH类型的MQTT数据包,在数据包详细信息区域中展开
MQTT
节点,查看Payload
字段,即可看到发布的消息内容。
WebSocket抓包
- 捕获过滤器设置:可以使用
tcp port <WebSocket端口>
(如果知道具体端口)作为捕获过滤器,若不清楚端口,可先不设置捕获过滤器,后期通过显示过滤器筛选。 - 开始抓包:选择网卡后启动抓包。
- 显示过滤器筛选:在显示过滤器输入框中输入
websocket
,过滤出WebSocket协议的数据包。 - 查看WebSocket消息:右键点击WebSocket包,选择
Follow
→WebSocket Stream
,可以查看WebSocket会话中的消息内容。在数据包详细信息区域中展开WebSocket
节点,可以查看更详细的协议字段信息。