最近项目上被吐槽登录和断线重连太卡。为什么王者荣耀和乱世王者的重连瞬间就好了?这需要抓包看看他们重连都经历了什么。

1.准备工作

首先去官网下载wireshark,地址:https://www.wireshark.org/download.html

安装完wireshark,同时PC上安装android模拟器,同时模拟器中安装好游戏。最好安装一个可以控制网络连接/断开的模拟器。我用的是夜神模拟器:系统设置》属性设置》网络连接 来设置。

2.如何定位和手游的连接

打开wireshark运行并开始捕获协议时,会发现我们PC上在联网状态下,即使你什么都不做也是每秒产生大量的通信。那么如何快速定位你想观察的那款游戏的收发包?

1.首先推测协议类型,一般手游是tcp/ip的,所以看tcp/ip部分的变化

2.通过连接和断开的握手协议来区分。我们点击关掉游戏,一定会产生TCP关闭的握手,然后再点击进入游戏,会产生建立连接的握手。

关闭应用时:客户端向服务器发送[FIN ACK]  》服务端相应[FIN ACK]  》 客户端相应[ACK]

建立连接时:客户端向服务器发送[SYN]  》服务端相应[SYN ACK]  》 客户端相应[ACK]

上图满足特征,所以判断出服务器的端口号是12258。

所以上方绿色地址栏中的过滤表达式可以写成:tcp port eq 12258,即可过滤出和游戏服务器所有的手法协议。

3.分析比对和总结

原先我一直认为我们游戏的登陆协议设计太重,接口多且数据量大。但是抓包发现那款优质的竞品游戏重连时数据量是略大于我们的。区别是它们是大量的[PUSH ACK]推送,我们是50多次的request和response。竞品整个重连过程大概耗时不到一秒,但我们时把50多条协议串成一个队列,每次收到响应才发送下一条。相当于把网络延时放大了50多倍。这一块改好了,重连的压力也就不大了。

同时,wireshark对我们日常开发因为有很大帮助,尤其项目初期刚刚搭建联调网络的时候,前后端的打点都不可信,唯一可信的就是它了。抓个包,前后端再也不争吵协议到底发没发,发的格式对不对了。

利用WireShark对手游的协议抓包相关推荐

  1. Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述

    Wireshark数据抓包分析(网络协议篇)第1章网络协议抓包概述 网络协议是用于不同计算机之间进行网络通信的.网络协议是网络上所有设备(如网络服务器.计算机.交换机.路由器等)之间通信规则的集合,它 ...

  2. ICMP协议抓包分析-wireshark

    ICMP协议抓包分析-wireshark ICMP- (Internet Control Message Protocol,网际报文协议)是Internet协议族的核心协议之一,也可称为是网际控制报文 ...

  3. HTTP协议版本介绍以及使用Wireshark工具针对HTTP进行抓包分析详解

    一.http协议版本介绍 http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于Web服务.通过计算机处理文本信息,格式为HT ...

  4. TCP协议抓包分析 -- wireshark

    TCP协议抓包分析 – wireshark TCP- (Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于IP的传输层协议.它的主要目的就是为数据 ...

  5. UDP协议抓包分析 -- wireshark

    UDP协议抓包分析 – wireshark UDP是User Datagram Protocol用户数据报协议的简称.他是OSI七层模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传送服务 ...

  6. ARP协议抓包分析 -- wireshark

    ARP协议抓包分析 – wireshark ARP- Address Resolution Protocol协议,即地址解析协议.该协议功能就是将IP地址解析成MAC地址. 在发送数据的时候,只知道目 ...

  7. Wireshark手机等移动设备抓包

    Wireshark手机等移动设备抓包 手机.pad在访问网络时会有数据交换,请求的数据从你的手机上的无线网卡发送出去,经过运营商的各种操作后把该请求数据送到了目的地址--请求数据所在服务器的网卡,服务 ...

  8. http抓包实战 pdf_网络协议HTTP 协议(抓包实战和网络分层)

    这篇文章主要介绍一下 Wireshark 抓包工具获取到的 HTTP协议 相关的数据,然后对这些数据进行简单的分析,主要目的是更深入的理解 HTTP协议,然后了解一下网络为什么要分层, OSI模型和T ...

  9. 使用wireshark对grpc的helloworld抓包分析

    使用wireshark对grpc的helloworld抓包分析 wireshark的抓包全貌图 主要帧头 主要帧头分析 grpc的code码 总结 参考链接 wireshark的抓包全貌图 [客户端] ...

最新文章

  1. FPGA的设计艺术(15)逻辑设计及仿真利器之各式各样的循环
  2. foxmail收件不及时_临近双11,多地快递网点却不送货、欠薪、倒闭?啥原因→
  3. java1234小峰推荐书籍_java1234 webservice 第2 课 cfx实现
  4. Calculation控制台
  5. 雾山五行专题高清壁纸,绝美动漫场景
  6. Linux下导入SQL文件
  7. 基于Linux操作系统的底层驱动技术
  8. java中普通变量、静态变量、静态代码块初始化的顺序辨析
  9. 马哥SRE第七周课程作业
  10. 青蒿素发现者与两外籍科学家共获诺奖
  11. html手机号显示错误,手机号码被错误标记有救了 联通开通了查询清除服务
  12. MacBook Air 2015换硬盘
  13. ubuntu 22.04右上角找不到wifi图标,有线网络也失效
  14. 快速接入 微信微博QQ钉钉 原生登录分享
  15. C语言【程序19】题目:两个乒乓球队进行比赛,各出三人。
  16. 电路方案分析(十)2 端口 USB 3.0 集线器参考方案设计
  17. EXCEL表格转化为XML格式文件
  18. 阿凯的第一个作品---自我介绍
  19. SCT52240STDR,SCT52240MTER,SCT52240QSTDR,SCT52240QMTER,栅极驱动器
  20. ubuntu无法添加PPA

热门文章

  1. 【JavaEE学习日记】----多线程基础(下)
  2. 华为荣耀v20是android10,华为荣耀v20适配安装EMUI10.0简约风格主题
  3. L3-025 那就别担心了 (30分)
  4. 网络规划.弱电CAD设计规范
  5. 【ROS2知识】SQLite数据库
  6. java/php/net/pythont电影票订票系统设计
  7. 二次调频,4机2区系统二次调频,用模型方法对四机两区系统进行了二次调频分析
  8. 线上自用防伪系统源码,可以商用,后端java,前端uni-app
  9. NGINX服务搭建详解
  10. 毕业论文关键字HTML5,毕业论文中关键词应该怎么定