抓包环境
硬件:港版NS普通版
网络:东莞电信GPON
动作:连接互联网获取场地日程、选择“普通涂地”、匹配玩家并完成3分钟涂地赛。
分析
在日常使用东莞电信提供的宽带服务的过程中,与亚马逊CloudFront CDN的通信体验明显较差。这个完整的联机过程抓包,是在凌晨1点进行。怀疑电信与CloudFront CDN之间存在瓶颈,只有凌晨的低峰期才有较好的使用体验。
匹配过程中推荐玩家的服务器没有域名,只在TLS SNI段中能知道服务器名字(gamesync.npln.nintendo.net),靠其他服务器下发配置。由于收到的下发配置通常是美国谷歌云的IP地址,个人感觉直连有可能“中箭”。
抓包前已了解过,联机时各玩家的主机是“网状拓扑”直连,所以预判抓包中可以直接看到玩家的IP地址。实际上除确实有UDP直连外,直连效果较差的玩家,可以借助STUN服务器(s01.lp1.u.npln.srv.nintendo.net)作NAT穿透,通过STUN服务器和玩家建立XOR-Peer关系。服务器会作为中转,隧道转发UDP报文。
1个房间8个玩家,4个日本、2个台湾、1个韩国,只有1个中国电信用户。虽然不排除是大陆玩家开了加速器。这软件发售1个月后在大陆就失去了热度。这软件在Jump的评论数比二代还多。评论基本是吐槽联机体验过差(匹配耗时长、容易掉线)。之前在东莞联通使用此软件,体验还行,没有到现在在电信需要抓包的程度。
服务器与通信协议
Query Name | cname | 传输层协议 | 传输层端口 | 应用层 | 功能 |
e0d67c509fb203858ebcb2fe3f88c2aa.baas.nintendo.com | d3fthpvv7fzx00.cloudfront.net | TCP | 443 | TLSv1.3 | 疑似给具体软件独立分配的服务器。 疑似下载场地日程。 通信不畅会导致玩家匹配失败。 |
t-dce9377b-lp1.lp1.t.npln.srv.nintendo.net | npln-lp1.lp1.t.npln.srv.nintendo.net | TCP | 443 | TLSv1.2 | 贯穿全程的通信。抓到的TCP报文绝大部分是这个通信内容。 域名是STUN的用户名。 |
npln-lp1-latency-jp-01-agones.lp1.t.npln.srv.nintendo.net | UDP | 3478 | STUN | 疑似搭建NAT穿透链路。 抓包第18秒开始。 从STUN交互上看疑似绑定失败。 主机源端口45575 | |
npln-lp1-latency-hk-01-agones.lp1.t.npln.srv.nintendo.net | UDP | 3478 | STUN | 疑似搭建NAT穿透链路。 抓包第18秒开始。 疑似绑定失败。 主机源端口45575 | |
bcat-list-lp1.cdn.nintendo.net | e10933.b.akamaiedge.net | TCP | 443 | TLSv1.3 | |
nncs1-lp1.n.n.srv.nintendo.net | UDP | 10025 | 公网NAT地址测试1 | ||
nncs2-lp1.n.n.srv.nintendo.net | UDP | 10025 | 公网NAT地址测试2 | ||
s01.lp1.u.npln.srv.nintendo.net | s01.lp1-ap-1-v2.u.npln.srv.nintendo.net | UDP | 8123 | STUN | “房间”内玩家若直连效果差,转STUN穿透中转。 STUN协商成功,NAT穿透。 |
gamesync.npln.nintendo.net | 34.173.97.43 | TCP | 7955 | TLSv1.2 | DNS并不存在此域名,仅出现在TLS SNI中。通信IP地址与端口号疑似来自上述某服务器的下发。 用于推荐联机玩家。 |
ISP对域名的解析结果
Name | IP addr | 位置 |
e0d67c509fb203858ebcb2fe3f88c2aa.baas.nintendo.com | 13.226.210.8 | 美国洛杉矶亚马逊云 |
t-dce9377b-lp1.lp1.t.npln.srv.nintendo.net | 34.96.121.254 | 任播 谷歌云 |
npln-lp1-latency-jp-01-agones.lp1.t.npln.srv.nintendo.net | 34.85.6.156 | 日本东京 谷歌云 |
npln-lp1-latency-hk-01-agones.lp1.t.npln.srv.nintendo.net | 35.241.89.227 | 香港 谷歌云 |
bcat-list-lp1.cdn.nintendo.net | 23.45.57.154 | 日本东京 Akamai DC |
nncs1-lp1.n.n.srv.nintendo.net | 54.199.241.49 | 日本东京 亚马逊云 |
nncs2-lp1.n.n.srv.nintendo.net | 52.68.78.83 | 日本东京 亚马逊云 |
gamesync.npln.nintendo.net(DNS不存在) | 34.173.97.43 | 美国 谷歌云 |
s01.lp1.u.npln.srv.nintendo.net | 35.243.95.181 | 日本东京 谷歌云 |
玩家网络信息
CIDR | AS | 地理位置 | 其他 |
182.224.0.0/14 | 17858 | 韩国 | LG POWERCOMM |
106.128.0.0/11 | 2516 | 日本 | KDDI |
106.166.0.0/16 | 2516 | 日本 | KDDI |
123.194.72.0/22 | 38841 | 台湾 台北市 | 亚太电信 |
211.78.24.0/21 | 4780 | 台湾 台北市 | KGT/SeedNet |
61.87.32.0/19 | 4685 | 日本 | 朝日网 |
147.75.92.0/22 | 54825 | 日本东京 |
中间路由器
IP addr | AS | 地理位置 | 其他 |
219.132.200.125 | 4134 | 东莞电信 | 从106.128.0.0/11的TTL超时报文得。 |
219.132.200.129 | 4134 | 东莞电信 | 从123.194.72.0/22的TTL超时得到。 |
219.132.200.133 | 4134 | 东莞电信 | 从211.78.24.0/21的TTL超时得到。 |