logo资料库

利用Wireshark软件对微信协议的分析.pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
利用 Wireshark 软件对微信协议的分析 ——QPIC 贾冰杰 1120101251 全然 1120101259 王浩峰 1120101261 (组长) 谢青梅 1120101262 闫郡 1120101263
数据通信基础 小组:qpic 目录 一.实验规划 ——03 二.实验内容 步骤 1. 配置虚拟 AP: ——04 步骤 2. 分析微信的登陆认证过程 ——05 步骤 3. 分析微信的普通聊天过程 ——06 步骤 4. 微信-附近的人 ——07 三. 实验结论:关于微信协议 1.微信通过内置浏览器和服务器交互数据。 ——09 2.微信的数据传输未加密 ——09 3.微信不同功能有独立的服务器 ——10 4.关于”微信与运营商大战”的思考 ——11 参考文献 ——12 2
数据通信基础 小组:qpic 一.实验规划: 1.接入手机,通过 wireshark 抓取微信数据包。 2.分析微信的登陆认证过程 3.分析微信的普通聊天过程 3.分析微信的典型应用——附近的人 4.总结:微信的协议 3
数据通信基础 小组:qpic 二.实验内容: 步骤 1、配置虚拟 AP: 由于微信的 pc 网页版本不容易操作,针对本次分析,我们使用 Android 手 机系统下的微信客户端进行操作。通过手机连接至 pc 虚拟的无线网络进行微信 的连接,这样通过 wireshark 软件进行抓包。 win7 系统下可以很容易将无线网卡设置为虚拟 AP,供其他无线设备接入。 配置脚本如下: #Vitual_Wifi_setup.bat netsh wlan set hostednetwork mode=allow ssid="HappyBoy" key=****** #在 GUI 界面下,将正在使用的某个网络连接共享给该虚拟 AP. netsh wlan start hostednetwork netsh wlan show hostednetwork 将手机接入后,可以看到: Number of clients 为 1. 打开 wireshark,能看到在接口列表中已经有虚拟 AP 了(如图)。手机接入 后,打开微信 app,点击开始抓包,就能抓到微信数据包了。 4
数据通信基础 小组:qpic 步骤 2. 分析微信的登陆认证过程: 打开微信客户端,微信开始登录,可以看到手机分配到的 IP 为 192.168.137.87, AP 站点的 IP 为 192.168.137.1 第一包数据 是一个域名查询,微信客户端向网络查询微信服务器,域名为 long.weixin.qq.com 的 IP 地址; 第二包数据 是 ARP 地址解析,AP 站点向全网广播,询问 192.168.137.87 对 应的 MAC 地址; 第三包数据 是 ARP 应答,手机告诉 AP 站点自己的 MAC 地址; 第四包数据 是第一包 DNS 查询的应答,将该包数据展开,可以看到: 可以看到,查询到微信域名 long.weixin.qq.com 的多个服务器 IP。 接下来 TCP 的通信过程表明,微信客户端选择了 IP 为 120.204.201.154 的主机进行数据 传送。 5
数据通信基础 小组:qpic 步骤 3. 分析微信的普通聊天过程 先是建立 TCP 连接:第 5 到第 7 包数据是 TCP 的三次握手 首先客户端向服务器发送标志为 SYN 的连接请求,数据包标号 Seq=0; 收到请求后,服务器向客户端发送了带有 SYN 和 ACK 的确认应答,发送序 号 Seq=0,确认序号 ACK=1;接下来,客户端向服务器发送确认应答,Seq=1, ACK=1. 连接建立完成。 第 8 到第 19 包数据是客户端和服务器之前用 HTTP 协议相互传送了一些数 据。 第 18 包是 HTTP 数据包,它的大小为 314 字节,其中有用数据长度为 248 字节,数据最后一行为空行,表明数据已经传送完毕,如下图所示: 第 20 和 21 包数据是关闭连接。传送完数据后,主机发出带 FIN 的 TCP 报文, 要求关闭连接,客户端发出确认(第 21 包数据),连接关闭。 6
数据通信基础 小组:qpic 超时会重传: 第 39 包:未收到第 38 包数据的确认应答,超时后,开始重传; 第 42 包:第 38 包数据仍未收到应答,又超时,重传一次; 第 43 包:终于收到了第 38 包数据的应答。 步骤 4. 微信-附近的人 用 wireshark 抓包得到如下数据 首先是 DNS 解析,展开第二包数据,可以看到 7
数据通信基础 小组:qpic DNS 应答返回了域名 mapi.mapabc.com 的 IP:211.151.71.89 mapabc.com 是北京图盟科技有限公司的网站,是一家致力于互联网地图、 手机地图和相关位置服务的互联网软件技术服务公司,它是高德成员企业。(有 个高德地图的 app) 随后的几包数据,是客户端和该服务器之间相互交换信息。 查询该 IP.发现服务器位于北京。 可以看到,微信客户端的地点信息被收集起来存储在服务器中,当客户端发 送附近的人请求时,服务器调用地图信息,通过计算,得到位于附近的用户数据, 将它们传给该客户端。 附近的人---用户头像下载过程 第 134 包: HTTP 的 GET 请求,展开该包: 将请求的地址输入到浏览器,会看到一个用户头像; 第 135 包 是服务器端的 TCP 协议将该头像分段成两段(第 135 包和 136 包), 传送给客户端; 第 136 包 标为 HTTP 包,表示头像传送出去了。 第 137 和 138 包 客户端收到 HTTP 传来的头像后,向服务器发 TCP 确认, 传送完成。 8
分享到:
收藏