浙江大学城市学院
计算机网络实验
使用 wireshark 抓包软件分析微信协议
一、 实验目的:
1. 通过使用 wireshark 分析网络协议。
2. 了解微信认证、聊天协议。
二、 实验内容原理实验结果与分析
1. 选择微信使用模式(微信 App 或者网页微信),合理配置网络环境。
【实验步骤】
使用 mac 进行 wireshark 抓包,并选择使用客户端微信,同时将机
器置于手机热点 wifi 之下
可以看到当前实验机器获得的 ip 为 172.20.10.2
所以当前连接的 AP 站点 ip 为 172.20.10.1
【实验结果与分析】
配置当前的 ip 以及微信所在的实验环境,如上图所示
2. 分析微信登录认证方式。
浙江大学城市学院
【实验步骤】
计算机网络实验
- 因为不必要的 ipv6 的信息传输干扰,所以先屏蔽了一些 ipv6 的信息
- 从上图可以看出,我的电脑获得的 ip 是 172.20.10.2,并且网关是
172.20.10.1
- 此时,我的电脑正在发出 dns,域名查询的包,之所以是 8.8.8.8,是
因为我对电脑做了一些配置,如下图所示,我的电脑会默认向一下两个 dns 服务
器发出请求,(10.61.10.10 是学校的 dns 服务器之一 emm)。
浙江大学城市学院
计算机网络实验
- 当 我们 拆开 去 解读 消息 的时 候 会发 现他 的 query 是 去查 询这 个 域名
szshort.weixin.qq.com。并且在之后 dns 返回了查询到的 IP
- 当我打开完客户端,扫了二维码之后但还没在手机按下确认键的时候,我
的 wireshark 抓到了这些包,看样子是在获取二维码和一些相关的信息。
- 点击确认之后,从抓取的包里面也可以看出,双方在不停的发包并进行 ssl
加密传输,和一些相关的认证信息。
浙江大学城市学院
计算机网络实验
- 建立连接,并且获取一些好友队列的信息
发送 post 请求进行 data 验证并且获取消息。
浙江大学城市学院
计算机网络实验
【实验结果与分析】
成功与服务器进行了连接,并且认证成功
3. 分析微信好友聊天过程。
【实验步骤】
作为测试,发送了四条消息:
- 做完实验后,又去查了以下相关资料,原来抓包软件可以进行设置
成 ip 显示成域名,下图是对之后实验的 ip 更直观的一种显示
浙江大学城市学院
计算机网络实验
握手协议,也是一次认证
- 一共抓到了以下这些包,经过分析,可以确定此次信息传输是与之
前 dns 查询中查到一个服务器 121.51.140.144 进行了交互
浙江大学城市学院
计算机网络实验
- 进行以下筛选,172.20.10.2 是我电脑的 ip 地址
- 可以看到信息数据干净了许多,继续进行分析
- 前三个包是在进行 tcp 三步握手认证,由我的电脑向服务器发送 syn
请求,服务器收到后发送 syn 和 ack 进行确定,最后从客户端向服务
浙江大学城市学院
计算机网络实验
器发送 ack 完成认证。
- 之后从第 20 个包开始,便一直在进行交互,不断的进行连接,传
送完消息之后客户端的 Fin 断开连接请求,和之后恢复连接的 ack,
(在发送 fin 之后,一定时间内,如果客户端和服务端还有数据交互,
两者可以恢复连接而不需要再进行三步握手认证)