查看: 559|回复: 18

王者荣耀的域名和端口是多少?如何才能屏蔽

[复制链接]

1

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-11-27 16:34:19 | 显示全部楼层 |阅读模式
大家都知道可以通过路由器屏蔽游戏、视频、聊天等app,通常我们称之为家长控制或上网行为管理软件。 你知道路由器为什么可以屏蔽游戏吗?


以下我总结了粉丝给出的几种答案


这些答案虽然有些存在一定的可行性,但多少存在一些问题

  • 通过过滤ip
    游戏服务器都是分区域的,并且服务器ip非常多并且ip不断更新,不可能弄个服务一直检测服务器ip变化,这样影响整个系统性能,并且在设计上非常不合理。如果是一两款游戏还好,但是游戏增加到几百款会是什么样的数据量呢?
  • 通过过滤或者重定向游戏服务器域名
    域名可以解析出游戏服务器ip,但是很多游戏公司并不会用标准的dns解析,有的直接通过私有协议完成了游戏服务器ip的下发。即使通过dns做重定向,也就是很多人说的修改host,但是手机终端也是可以修改dns服务器的地址,修改后就不会生效了。
  • 通过过滤游戏端口号
    端口号可以算是过滤游戏的一种方式,但是越来越多的游戏采用了动态端口号,也就是不是每次连接游戏服务器都是固定端口,可能在某一段区间变化,这样增加了提取端口号的难度。
正确的过滤游戏方式
做过开发的同学都知道,app数据交互过程中都有着标准的协议,比如用的最多的http协议,http协议中有着标准的数据交互特征,有GET、POST、PUT请求等。


在游戏交互过程中一般不采用http协议,而是采用基于udp的私有协议,不管采用什么协议,都有着自定义的协议特征,我们就可以通过数据的特征进行识别,这样不管服务器ip或者端口如何变化,都可以进行识别过滤。游戏公司不可能轻易去修改协议的,因为修改协议引起各种兼容问题。


这里给大家分析王者荣耀的交互协议特征,让大家看看游戏到底是如何和服务器通信的。
准备工具和软件:

  • OpenWrt路由器(newifi3)




  • tcpdump ipk安装包 由于王者荣耀在手机端运行,我们不能通过wireshark直接抓包,手机抓包也不是特别方便,所以直接在路由器中通过tcpdump抓取手机app的报文。
root@OpenWrt:~# ls
libpcap1_1.9.1-2_mipsel_24kc.ipk  tcpdump_4.9.3-1_mipsel_24kc.ipk
root@OpenWrt:~# opkg install libpcap1_1.9.1-2_mipsel_24kc.ipk
Installing libpcap1 (1.9.1-2) to root...
Configuring libpcap1.
root@OpenWrt:~#
root@OpenWrt:~# opkg install tcpdump_4.9.3-1_mipsel_24kc.ipk
Installing tcpdump (4.9.3-1) to root...
Configuring tcpdump.
root@OpenWrt:~#

  • winscp、wireshark
  • 手机(运行王者荣耀)
路由器环境配置

  • ssh登录路由器后台
  • 安装tcpdump ipk
    安装tcpdump后,运行tcpdump命令进行抓包
tcpdump -i br-lan host 192.168.66.x -s0 -w wangzhe.pcap

参数说明:
-i: 接口名,我们要抓的是所有lan口报文,所以接口选择的是br-lan(包括无线和有线)
host: 手机的ip地址,比如192.168.66.100
-w: 抓包保存的文件名,生成的文件可以在windows中用wireshark打开


注意一次抓包时间不要太久,否则文件可能特别大

  • 开启应用过滤测试模式
    测试模式可以实时看到app访问了哪些域名,相比tcpdump更直观
echo 1 >/proc/sys/oaf/test_mode

  • 打开内核日志(有接串口的不用)
cat /proc/kmsg
欢迎界面数据报文分析


在打开游戏时,王者荣耀会发起很多https请求,主要是检测版本更新、获取第三方资源等,这一阶段并不会发起连接游戏服务器请求。
以下为抓取域名信息:
[78233.874622] -------------------https protocol-----------------------
[78233.881215] https server name:
[78233.881221] [lv-pc-api.ulikecam.com]
[78233.887934] --------------------------------------------------------
[78238.036470] -------------------https protocol-------------------------
[78238.043029] https server name:
[78238.043035] [down.anticheatexpert.com]
[78238.049908] --------------------------------------------------------
[78239.151021] -------------------https protocol------------------------
[78239.157586] https server name:
[78239.157591] [ip6.ssl.msdk.qq.com]
[78239.164022] --------------------------------------------------------
[78239.775239] -------------------https protocol------------------------
[78239.781794] https server name:
[78239.781799] [ip6.ssl.msdk.qq.com]
[78239.788230] --------------------------------------------------------
[78239.801451] -------------------https protocol-------------------------
[78239.807996] https server name:
[78239.808001] [ip6.ssl.msdk.qq.com]
[78239.814466] --------------------------------------------------------
[78239.871562] -------------------https protocol------------------------
[78239.878126] https server name:
[78239.878131] [flow.qq.com]
[78239.883859] --------------------------------------------------------

这里我也把所有的请求域名列了出来
请求域名:
cloud.tgpa.qq.com
ip6.ssl.msdk.qq.com
ios.bugly.qq.com
cloudctrl.gcloud.qq.com
guid.tpns.sh.tencent.com
vv.video.qq.com
stat.tpns.sh.tencent.com
mazu.m.qq.com
dlied5.qq.com
kohcloud.tgpa.qq.com
down.anticheatexpert.com
jiazhang.qq.com
cdn-go.cn
aegis.qq.com
jz.game.qq.com
ip6.ssl.msdk.qq.com
flow.qq.com
gateway.icloud.com.cn
dig.bdurl.net
pc-api.300624.com
lv-pc-api.ulikecam.com
inappcheck.itunes.apple.com
api.unipay.qq.com
priv.igame.qq.com
img.ssl.msdk.qq.com
wx.qlogo.cn
down.pandora.qq.com
idcconfig.gcloudsdk.com
app.ingame.qq.com
op.tga.qq.com
priv.igame.qq.com
szmg.qq.com
down.game.qq.com
sdk.xyapi.game.qq.com
游戏登录


一般我们过滤游戏都是过滤登录报文,并且这一阶段会连接到游戏服务器,需要开启tcpdump抓取完整的报文。
以下为抓包内容:


可以看到登录会发起一个指定端口的tcp连接(注意端口号每次登录可能不一样) 所以我们还要分析数据报文的协议内容,看有没有明显的头部特征
选择当前流-->右键-->追踪流-->追踪tcp流可以查看该连接的详细详细信息




可以发现每个数据报文头部都有着共同的特征,那我们就可以根据该特征对该登录连接进行过滤,报文头部为
第一个字节为0x33,第二个字节为0x66,第三个字节为0x00,第四个字节为0x0b,当然如果想更精准,可以加入更多的字节进行过滤。
停留在游戏首页


登录成功后会进入游戏首页,在该页面会定时检测网络状态,检测报文如下




可以看出检测网络状态协议为udp,端口为5010(也可能变化,范围基本在5000-5050之间),数据长度为22,只是为了防止报文占用带宽,为了更精准的测算网络延时。
游戏对战






对战数据采用udp协议,端口号也是变化的,但端口号一般都比较大,有一个范围,具体范围多少需要多次抓包测试。 通过上图中可以看出对战数据也是具有协议特征的
特征为
第一个字节0x00、第二个字节为0x01、第三个字节为0x00、第四个字节为0x00,当然后面还有些数据可以作为特征。
以上就是王者荣耀主要数据连接报文分析,大家可能有个疑问,如何才能分辨出该报文就是关键数据?
其实这都是熟能生巧,如果你分析多了,就一眼能看出哪些是关键数据,哪些是资源数据。
分析王者荣耀数据的作用
只有对某一款app的协议特征熟悉后,才能实现我们想要的功能,比如应用过滤、游戏管控插件,都是依赖有些的特征库的。
在应用过滤中需要知道王者荣耀的登录协议特征,而在游戏管控插件中需要知道游戏对战数据协议特征,这样才能精准的判断某台设备王者荣耀时长,甚至可以知道某台设备一天王者荣耀的对战次数。
我开发的软件简介
官网地址http://destan19.github.io (不能访问可以换数据网络访问)
可能有些粉丝还没有用过我的路由器固件,这里还是附上固件下载地址,大家可以下载体验。





  • 下载地址
    链接:https://pan.baidu.com/s/1qm1x_89Kz76y_R-ApY13IA
    提取码:fros
回复

使用道具 举报

0

主题

54

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2022-11-27 16:34:27 | 显示全部楼层
很好 所以如何才能屏蔽王者荣耀?
回复

使用道具 举报

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-11-27 16:35:05 | 显示全部楼层
很好 所以如何才能屏蔽王者荣耀
回复

使用道具 举报

3

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-11-27 16:35:13 | 显示全部楼层
https://blog.csdn.net/dxt1107/article/details/121101767文章一模一样
回复

使用道具 举报

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-11-27 16:35:45 | 显示全部楼层
想说明啥呢,不能都是我自己的吗
回复

使用道具 举报

4

主题

58

帖子

116

积分

注册会员

Rank: 2

积分
116
发表于 2022-11-27 16:36:21 | 显示全部楼层
因为知乎的发表时间靠前,我以为csdn那个是抄你的,所以想告诉你一下,毕竟创作不易[思考][思考][思考]
回复

使用道具 举报

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-11-27 16:36:40 | 显示全部楼层
[机智][机智]
回复

使用道具 举报

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-11-27 16:37:14 | 显示全部楼层
我的问题就是openwrt里面单线多拨王者会掉线,得配置规则找到王者的端口,帮大忙了[赞同]
回复

使用道具 举报

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-11-27 16:37:51 | 显示全部楼层
目前小米,华为等多家的路由器都已经支持游戏数据包加速,他们是怎么做的?那么多游戏,一个一个分析特征,实在是效率太低了吧
回复

使用道具 举报

0

主题

55

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2022-12-4 16:56:23 | 显示全部楼层
LZ敢整点更有创意的不?兄弟们等着围观捏~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表