深色模式
网络排查工具与读法
本章你将学到:
ipconfig、ping、tracert、pathping、WinMTR、nslookup、netstat和测速网站分别能看出什么;怎么让一个不懂电脑的用户把它们跑出来并截图;输出里每一行是什么意思;以及"三段定位法"——用这几个工具把问题定位到"家里、链路、服务器"三段中的哪一段。什么时候用得上:所有网络类问题在问完基础信息、弄清拓扑之后,需要"拿证据"的时候。这一章是网络排查的工具箱,其他页面里凡是说"让用户 ping 一下",具体怎么做和怎么读都在这里。
工具总览
| 工具 | 一句话作用 | 什么时候用 | 要跑多久 |
|---|---|---|---|
ipconfig | 看电脑自己的网络配置 | 所有网络问题的第一步 | 1 秒 |
ping | 测到某个地址的延迟和丢包 | 判断通不通、稳不稳 | 30 秒–2 分钟 |
tracert | 看数据到目标经过哪些节点、每一跳多久 | 定位问题在哪一段 | 1–3 分钟 |
pathping | tracert + 每一跳的丢包统计 | 没装 WinMTR 时代替它 | 5 分钟左右 |
| WinMTR | 持续跑的 tracert,实时显示每跳丢包 | 定位间歇性丢包在哪一跳 | 5 分钟以上 |
nslookup | 手动查一次 DNS | 怀疑解析有问题 | 1 秒 |
netstat | 看电脑当前有哪些连接 | 进阶:确认客户端有没有连上、端口有没有被占 | 1 秒 |
| 测速网站 | 测实际带宽和到测速点的延迟 | 下载慢 | 1 分钟 |
大白话
这些工具就像体检项目。ipconfig 是量身高体重(基本信息),ping 是量血压(通不通、稳不稳),tracert 是拍片子(问题在哪一段),WinMTR 是 24 小时心电图(间歇性问题要长时间观察才抓得到),nslookup 是查一个具体的化验指标。医生不会每个人都做全套,而是根据症状选。
让用户打开命令行(所有命令共用)
后面所有命令都在"黑窗口"里输入。让用户这样打开:
- "按键盘上的 Win 键(有微软图标那个)+ R,左下角会弹出一个小框。"
- "在小框里输入
cmd,按回车。会出来一个黑色窗口,里面有一行白字和一个闪的光标。" - "接下来我发给您的命令,您直接复制,然后在黑窗口里点右键(会自动粘贴),按回车。"
预期看到:黑底白字窗口,最后一行类似 C:\Users\用户名>,后面有光标闪动。
| 遇到什么 | 怎么办 |
|---|---|
| 用户说"没有弹出小框" | 让他确认按的是 Win 键(键盘左下角 Ctrl 和 Alt 中间);或者在开始菜单搜索框输入 cmd |
| 窗口是蓝色的 | 那是 PowerShell,命令一样能用,不用管 |
| 用户在黑窗口里 Ctrl + V 粘贴没反应 | 老版本 Windows 不支持 Ctrl + V,让他右键点一下窗口即可粘贴 |
| 提示"'xxx' 不是内部或外部命令" | 命令拼错了,或中间多了 / 少了空格。让用户重新复制 |
| 命令跑起来一直不停 | 那是 -t 参数的持续模式,按 Ctrl + C 停止 |
截图要求(所有命令通用):
- 命令跑完(或按 Ctrl + C 停下)之后再截。
- 截整个黑窗口,包括最下面的统计行。可以先把窗口拉大。
- 如果输出太长一屏放不下,让用户在窗口里滚动,分两三张截。
- 更好的方式是复制文字:在黑窗口标题栏右键 → 编辑 → 全选 → 再按回车(就复制了),然后到聊天框 Ctrl + V。文字比截图更方便你搜索和保存。
注意
让用户跑任何命令之前,你自己要知道这条命令会输出什么、怎么读。不知道的命令不要让用户跑。本章列的命令都是只读的(只看不改),唯一例外是 ipconfig /flushdns(清 DNS 缓存,无害)。
ipconfig
作用:看电脑自己的网络配置——IP、网关、DNS、网卡、DHCP。它是所有网络排查的第一步,因为它告诉你"电脑自己觉得网络是什么样的"。
命令:
| 命令 | 用途 |
|---|---|
ipconfig | 简版,只看 IP、掩码、网关 |
ipconfig /all | 完整版,排查用这个 |
ipconfig /flushdns | 清 DNS 缓存 |
ipconfig /release 然后 ipconfig /renew | 释放并重新获取 IP(会短暂断网几秒,慎用) |
读法:每一行对应什么概念、正常和异常长什么样,已在 网络基本概念 里详细列出。这里只列排查时最先看的四项:
| 看哪一行 | 正常 | 异常 → 说明什么 |
|---|---|---|
| IPv4 地址 | 192.168.x.x 等内网地址 | 169.254.x.x → 没拿到地址,物理连接或路由器 DHCP 问题 |
| 默认网关 | 和 IP 同段的地址 | 空 → 出不了门 |
| DNS 服务器 | 同网关或国内公共 DNS | 奇怪地址 → 可能被改 |
| 有几块适配器有地址 | 一块 | 两块(有线 + WiFi)→ 双网卡;多出 TAP / TUN → 加速器 / VPN 残留 |
ping
作用:往某个地址发一个小包,看多久回来、有没有回来。测的是通不通、延迟多少、稳不稳、丢不丢。这是最基础、最常用的网络工具。
大白话
ping 就是对着山谷喊一声"喂",听回声。多久听到回声 = 延迟;喊十声只回了八声 = 丢包;每次回声时间差很多 = 抖动;一声都没回 = 不通(或者对方不理你)。
常用命令
| 命令 | 用途 | 说明 |
|---|---|---|
ping 192.168.1.1 -n 50 | ping 网关 50 次 | 把 192.168.1.1 换成用户 ipconfig 里的默认网关 |
ping 服务器地址 -n 100 | ping 服务器 100 次 | 约 100 秒跑完 |
ping 域名 -t | 持续 ping,直到按 Ctrl + C | 让用户跑 1 分钟后按 Ctrl + C,看统计 |
ping www.baidu.com | 测公网是否通 | 通 = 有网且 DNS 正常 |
ping 223.5.5.5 | 用 IP 测公网是否通,绕开 DNS | 这个通、域名不通 = DNS 问题 |
默认只发 4 次,排查时太少。 4 次全通只能说明丢包率低于 25%。看丢包至少 -n 50,看抖动至少 -n 100 或 -t 跑一分钟。
待技术确认
对战服务器各区域节点、平台登录 / 长连接服务的可 ping 地址由技术同事提供。部分服务器可能不响应 ping(禁 ICMP),届时"全部超时"不代表不通,以技术给的测试地址和方法为准。本页示例里出现的地址均为占位。
让用户怎么做
- 打开黑窗口(见上文)。
- "输入
ping 192.168.1.1 -n 50(把地址换成您 ipconfig 里'默认网关'那一行的数字),回车。" - "它会一行一行往下跑,大约 50 秒。跑完后最后几行是统计。等它停了,把整个黑窗口截图给我。"
如果用 -t:
- "它会一直跑不停。您等大约 1 分钟,然后同时按 Ctrl 和 C 两个键,它就会停下来并显示统计。然后截图。"
输出逐行解读
正在 Ping 192.168.1.1 具有 32 字节的数据:
来自 192.168.1.1 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间<1ms TTL=64
请求超时。
来自 192.168.1.1 的回复: 字节=32 时间=87ms TTL=64
来自 192.168.1.1 的回复: 字节=32 时间=2ms TTL=64
192.168.1.1 的 Ping 统计信息:
数据包: 已发送 = 5,已接收 = 4,丢失 = 1 (20% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 1ms,最长 = 87ms,平均 = 22ms| 行 | 意思 |
|---|---|
正在 Ping 192.168.1.1 具有 32 字节的数据 | 目标地址。如果输入的是域名,这里会显示解析出来的 IP —— 这一行本身就是一次 DNS 检查 |
来自 xxx 的回复: 时间=1ms | 收到回复,这一次来回用了 1 ms |
时间<1ms | 不到 1 毫秒,非常快(有线到网关的正常值) |
TTL=64 | 技术细节,客服可以忽略。(懂的人可以看:不同数值代表对方是什么系统、中间经过多少跳) |
请求超时。 | 这一次没收到回复 = 丢了一个包 |
无法访问目标主机。 | 电脑不知道怎么把包送出去,通常是本地没有网关 / 网线没插 / 路由器不通 |
Ping 请求找不到主机 xxx。请检查该名称,然后重试。 | DNS 解析失败,这个域名查不到地址。和"网不通"不是一回事 |
一般故障。 / 传输失败 | 网卡本身有问题(禁用了、驱动异常、没有 IP) |
已发送 = 5,已接收 = 4,丢失 = 1 (20% 丢失) | 丢包率。这是最重要的一行之一 |
最短 = 1ms,最长 = 87ms,平均 = 22ms | 延迟的三个数。最长和平均差距大 = 抖动大 |
结果怎么判断
ping 网关(家里这一段):
| 结果 | 说明什么 |
|---|---|
| 全部回复,有线 < 2 ms,WiFi < 10 ms,最长和平均差不多 | 家里这一段正常,往外查 |
| 全部回复,但 WiFi 时间忽高忽低(1 ms 到 200 ms 都有) | WiFi 抖动,先换网线验证 |
| 有"请求超时" | 家里这一段就丢包:网线 / 水晶头 / WiFi 干扰 / 路由器过载。问题在家里,不用再往外查了 |
| 全部超时 | 电脑到路由器不通:网线没插好、WiFi 没连上、网关地址填错、路由器死机 |
| "无法访问目标主机" | 电脑没有可用的网络连接 |
ping 服务器 / 公网地址(全程):
| 结果 | 说明什么 |
|---|---|
| 平均 < 50 ms,最长 − 平均 < 20 ms,丢失 0% | 优秀 |
| 平均 50–100 ms,稳定,0% 丢失 | 可玩,可能是节点远或跨网,看能不能换节点 |
| 平均 > 100 ms | 延迟高:节点选择、跨网、绕路。跑 tracert 看在哪一段变高 |
| 最长比平均高 100 ms 以上 | 抖动大。ping 网关正常的话,问题在链路;ping 网关也抖,问题在家里 |
| 丢失 1–3% | 对战已经能感觉到。ping 网关不丢 → 链路丢;ping 网关也丢 → 家里丢 |
| 丢失 > 5% | 严重。同上分段 |
全部超时,但 ping www.baidu.com 正常 | 服务器禁 ping,或到服务器这条路断了。用技术给的其他方法验证 |
全部超时,ping 223.5.5.5 也超时,但 ping 网关正常 | 出不了门:光猫 / 运营商 / 路由器 WAN 侧问题 |
| "找不到主机" | DNS 问题,转 DNS 与 CDN |
注意
ping 用的是 ICMP 协议,不是游戏对战用的 UDP。所以 ping 结果好不代表 UDP 一定好(防火墙可能只拦 UDP),ping 不通也不代表游戏一定连不上(服务器可能只是禁了 ping)。ping 是"路况参考",不是"游戏连接的直接测量"。游戏内的延迟 / 丢包显示才是直接测量,见 游戏联网原理。
展开:ping 的其他参数
-l 1400:把包变大到 1400 字节,用来测 MTU 问题(大包丢、小包不丢)。见 常见网络故障模式。-4/-6:强制用 IPv4 / IPv6。用户 ping 域名结果是一长串带冒号的地址,说明走了 IPv6;加-4可以对比 IPv4 的表现。-w 500:把超时缩短到 500 ms,让全部超时的 ping 跑得快一点。
tracert
作用:显示数据从电脑到目标经过的每一个节点(每一跳)以及到每一跳的延迟。它回答的问题是"慢在哪一段"。
大白话
ping 告诉你"从家到公司要 60 分钟";tracert 告诉你"从家到小区门口 1 分钟、到高速入口 10 分钟、高速上 20 分钟、进城后堵了 29 分钟"。这样你就知道该怪谁了。
命令
| 命令 | 说明 |
|---|---|
tracert 服务器地址 | 标准用法,每一跳都尝试反查名字,慢 |
tracert -d 服务器地址 | 不反查名字,快很多,排查时推荐 |
tracert -d -w 1000 服务器地址 | 每跳最多等 1 秒,进一步加快 |
让用户怎么做
- 打开黑窗口。
- "输入
tracert -d 服务器地址,回车。" - "它会一行一行往下跑,每一行前面有个数字,可能要跑 1–3 分钟。有些行会显示星号,这是正常的,等它显示'跟踪完成'。然后把整个窗口截图。"
输出逐行解读
通过最多 30 个跃点跟踪到 example.com [203.0.113.45] 的路由:
1 <1 毫秒 <1 毫秒 <1 毫秒 192.168.1.1
2 3 ms 2 ms 3 ms 100.64.0.1
3 5 ms 4 ms 5 ms 61.xxx.xxx.xxx
4 * * * 请求超时。
5 12 ms 11 ms 12 ms 202.97.xxx.xxx
6 28 ms 27 ms 29 ms 202.97.xxx.xxx
7 31 ms 30 ms 31 ms 203.0.113.1
8 32 ms 31 ms 32 ms 203.0.113.45
跟踪完成。每一行的结构:跳数 | 三次测试的时间 | 这一跳的地址。三列时间是对同一跳测了三次,三个数差别大就是这一跳抖动大。
每一跳大概是谁:
| 跳 | 通常是 | 地址特征 |
|---|---|---|
| 第 1 跳 | 用户的路由器 | 192.168.x.x / 10.x.x.x,< 1–2 ms(WiFi 可能几毫秒) |
| 第 2 跳 | 光猫(如果是路由模式)或运营商接入设备 | 内网地址(192.168.1.1 / 100.64.x.x)→ 有多级 NAT;公网地址 → 已经出门 |
| 第 2–4 跳 | 运营商本地接入 / 城域网 | 公网地址,几毫秒到十几毫秒 |
| 中间几跳 | 运营商骨干网、跨省 / 跨网互联点 | 202.97.x.x 是电信骨干,219.158.x.x 是联通骨干,221.183.x.x 是移动骨干(大致规律) |
| 最后 1–3 跳 | 目标机房入口 → 目标服务器 | 最后一行的地址 = 目标 |
怎么读出"问题在哪一段"
核心方法:从上往下看时间,找到第一个"明显变高"或"开始丢"的跳,问题就在那一跳和它前一跳之间。并且要看这个变化是否延续到后面的跳。
| 看到什么 | 说明什么 |
|---|---|
第 1 跳就 > 5 ms 或有 * | 家里的问题:WiFi、网线、路由器过载 |
| 第 1 跳正常,第 2–3 跳突然 > 20 ms 或丢 | 光猫 / 运营商接入段有问题(线路质量、光衰、小区拥堵) |
| 前几跳正常,中间某一跳时间跳高 50 ms 以上并且之后每一跳都维持高 | 从这一跳开始绕路或拥堵,通常是运营商骨干 / 跨网互联点 |
| 前面都低,最后 1–2 跳突然高 | 目标机房入口拥堵或机房本身问题 |
中间某一跳三列都是 *,但后面的跳正常 | 不算问题。这一跳的设备只是不回应 tracert,数据其实正常通过了 |
中间某一跳有 *,并且后面的跳也开始有 * 或时间变高 | 从这一跳开始有丢包 |
从某一跳开始全部 * 直到 30 跳结束 | 到不了目标:目标禁 ping(末端全 * 但游戏能连就是这种),或路被切断 |
| 跳数特别多(20 跳以上)、时间一路往上加 | 严重绕路,常见于跨网或加速器节点差 |
| 第 1、2、3 跳都是内网地址 | 多级路由 / NAT,见 网络拓扑 |
| 中间出现明显的地理跳变(比如国内目标却经过国外地址) | 绕路,可能与 VPN / 加速器有关 |
注意
tracert 每一跳只测三次,只能看延迟大致在哪一段变高,看不出丢包率。某一跳一次 * 两次正常,可能只是碰巧。要看丢包,用 WinMTR 或 pathping 持续跑。另外 tracert 的时间是"到那一跳的往返时间",某一跳时间比后一跳还高是正常的(那台设备回应慢,但转发不慢),要看整体趋势。
pathping
作用:tracert 和 ping 的结合——先跟踪路径,然后对每一跳持续 ping 一段时间,最后给出每一跳的丢包率。作用类似 WinMTR,但 Windows 自带,不用下载。缺点是慢(默认约 5 分钟)、输出不太好读。
命令:pathping -n 服务器地址(-n 不反查名字)。
让用户怎么做:
- 打开黑窗口,输入
pathping -n 服务器地址,回车。 - "它会先列出路径(像 tracert),然后显示'正在计算统计信息,需时 xxx 秒'。这段时间它看起来像卡住了,这是正常的,请等它跑完,大约 5 分钟。"
- "跑完后会出来一张表,把整个窗口截图(可能要分两张)。"
读法:结果表格里,每一跳有两个丢包数字:
跃点 RTT 源到此处 此节点/链接
丢失/已发送 = Pct 丢失/已发送 = Pct 地址
0 192.168.1.23
0/ 100 = 0% |
1 1ms 0/ 100 = 0% 0/ 100 = 0% 192.168.1.1
0/ 100 = 0% |
2 12ms 0/ 100 = 0% 0/ 100 = 0% 100.64.0.1
3/ 100 = 3% |
3 35ms 3/ 100 = 3% 0/ 100 = 0% 202.97.xxx.xxx- "源到此处 丢失/已发送":从你电脑到这一跳,累计丢了多少。
- "此节点/链接":单独这一跳(竖线
|那一行是"链接",即两跳之间的线路;节点那一行是设备本身)丢了多少。 - 找第一个不是 0% 且之后一直保持的位置,问题就在那里。上面例子里,第 2 跳到第 3 跳之间的链接丢 3%,之后累计一直是 3%,说明问题在这一段。
- 某一跳节点自己 100% 丢但链接 0%、后续正常 → 那台设备只是不回应,不算问题(和 tracert 的
*同理)。
WinMTR
作用:持续运行的 tracert,实时显示每一跳的丢包率、最好 / 平均 / 最差延迟。它是定位间歇性丢包和抖动最好用的工具——因为间歇性问题跑一次 tracert 抓不到,要盯着跑几分钟。
获取:一个几百 KB 的绿色小程序,不用安装。下载地址和版本由公司统一提供(见 让用户自查的工具)。
让用户怎么做
- "把我发给您的 WinMTR 下载下来,解压,双击运行(有的电脑要右键'以管理员身份运行')。"
- "窗口上方有一个输入框写着 Host,在里面输入
服务器地址。" - "点右边的 Start 按钮。下面会出来一张表并开始不停刷新。"
- "让它跑至少 5 分钟,期间可以正常玩游戏(最好在卡的时候跑)。"
- "5 分钟后点 Stop,然后把整个窗口截图给我。或者点 Copy Text to clipboard,到聊天框 Ctrl + V 粘贴。"
读法
表格每一行是一跳,主要看这几列:
| 列 | 意思 | 怎么看 |
|---|---|---|
| Hostname | 这一跳的地址 | 同 tracert |
| Nr | 跳数 | 第 1 跳是路由器 |
| Loss % | 这一跳的丢包率 | 最重要。找第一个不是 0 且之后一直不是 0 的跳 |
| Sent / Recv | 发了多少、收了多少 | Sent 越大结果越可信,至少几百 |
| Best | 最快一次 | 参考 |
| Avrg | 平均延迟 | 看在哪一跳跳高 |
| Worst | 最差一次 | Worst 比 Avrg 高很多 = 这一跳抖动大 |
| Last | 最近一次 | 参考 |
判断方法和 tracert 一样:找第一个开始持续丢包 / 延迟跳高的跳,且这个丢包延续到最后一跳。
| 看到什么 | 说明什么 |
|---|---|
| 第 1 跳 Loss > 0 | 家里丢包(WiFi / 网线 / 路由器) |
| 第 1 跳 0%,第 2–3 跳开始 Loss > 0 并延续到最后 | 接入段 / 运营商问题 |
| 中间某跳 Loss 高,但之后各跳都是 0% | 那一跳设备限制了回应,不算问题 |
| 最后一跳 Loss > 0,且前面某一跳开始就有 | 从那一跳开始的链路丢包 |
| 只有最后一跳 Loss > 0,前面全 0 | 目标机房或服务器侧丢包,升级 |
| 某跳 Worst 比 Avrg 高 100 ms 以上,且后续也如此 | 从这一跳开始抖动大 |
| 最后一跳 Loss 100% | 目标禁 ping,看倒数第二跳的数据 |
注意
最后一跳的丢包率才是用户真正感受到的丢包率(如果目标响应 ping)。中间某跳孤立的丢包不影响体验。新客服最常见的误读是看到中间某一跳 Loss 80% 就说"运营商丢包",其实后面每一跳都是 0%,那只是设备不回应。
nslookup
作用:手动问 DNS 服务器"这个域名的地址是多少",看解析结果对不对、用的是哪个 DNS。DNS 相关原理见 DNS 与 CDN。
命令:
| 命令 | 说明 |
|---|---|
nslookup 域名 | 用电脑当前的 DNS 查 |
nslookup 域名 223.5.5.5 | 指定用阿里 DNS 查,用来对比 |
nslookup 域名 119.29.29.29 | 指定用腾讯 DNS 查 |
让用户怎么做
- 打开黑窗口。
- "输入
nslookup 域名,回车,截图。" - "再输入
nslookup 域名 223.5.5.5,回车,再截图。"
输出解读
服务器: UnKnown
Address: 192.168.1.1
非权威应答:
名称: xxx.example.com
Addresses: 203.0.113.45
203.0.113.46
Aliases: download.example.com| 行 | 意思 |
|---|---|
服务器: UnKnown / Address: 192.168.1.1 | 用哪个 DNS 查的。UnKnown 是正常字样(DNS 服务器没有反向名字),不是错误 |
非权威应答 | 正常字样,意思是"来自缓存",不是错误 |
名称 | 最终解析到的真实名字(可能和你输入的不同,CDN 常见) |
Addresses / Address | 解析出来的地址。CDN 域名通常有多个 |
Aliases | 你输入的域名是上面那个名字的别名 |
DNS request timed out | DNS 服务器没响应 |
*** UnKnown 找不到 xxx: Non-existent domain | 域名不存在(拼错)或被污染成不存在 |
*** UnKnown 找不到 xxx: Server failed | DNS 服务器内部错误 |
| 对比结果 | 说明什么 |
|---|---|
默认 DNS 和 223.5.5.5 结果一致、地址合理 | DNS 正常 |
| 两者不一致,默认那个结果奇怪 | 默认 DNS 被劫持 / 污染,换 DNS 验证 |
默认超时,223.5.5.5 正常 | 默认 DNS 服务器挂了(路由器 DNS 转发问题或运营商 DNS 故障) |
两者都解析不出,nslookup www.baidu.com 正常 | 这个域名本身有问题,升级 |
结果是 127.0.0.1 / 0.0.0.0 | 被屏蔽(通常是 hosts 或本地软件,但 nslookup 不看 hosts,所以这里出现说明是 DNS 服务器返回的) |
netstat
作用:列出电脑当前所有网络连接:哪个程序、连到哪、什么状态。用在进阶排查:确认客户端到底有没有连上服务器、连的是哪个地址和端口、端口有没有被别的程序占用。一般客服用得少,但要知道它能看什么。
命令:
| 命令 | 说明 |
|---|---|
netstat -ano | 列出所有连接和对应的进程 ID(PID) |
netstat -anob | 显示程序名(需要管理员权限打开黑窗口) |
让用户怎么做:在客户端登录后(或尝试连接时)运行 netstat -ano,截图或复制文本。输出很长,让用户全选复制文字比截图好。
读法:
协议 本地地址 外部地址 状态 PID
TCP 192.168.1.23:52344 203.0.113.45:443 ESTABLISHED 8812
TCP 192.168.1.23:52350 203.0.113.60:443 SYN_SENT 8812
UDP 0.0.0.0:27015 *:* 9120| 列 / 值 | 意思 |
|---|---|
| 协议 | TCP 或 UDP |
| 本地地址 | 电脑自己的 IP:端口 |
| 外部地址 | 连到谁的 IP:端口。:443 是 HTTPS |
ESTABLISHED | 已建立连接,正常 |
SYN_SENT | 正在尝试连接,一直停在这个状态 = 连不上(被拦或对方不响应) |
TIME_WAIT / CLOSE_WAIT | 刚关闭的连接,正常,很多也没关系 |
LISTENING | 本机在某端口等别人连 |
| PID | 进程编号,在任务管理器 → 详细信息 页可以对应到程序名,见 任务管理器 |
对排查的意义:客户端 PID 对应的连接里,如果有到平台地址 443 的 ESTABLISHED,说明长连接建立了;如果全是 SYN_SENT,说明连接被拦(防火墙 / 代理 / 路由)。UDP 那一行说明游戏在监听端口。这些判断需要技术给的地址和端口清单,见上文"待技术确认"。端口被别的程序占用的情况少见,由技术处理。
测速
作用:测实际带宽(下行 / 上行 Mbps)和到测速服务器的延迟。用于下载慢类问题,判断"用户的带宽到底有多少"。
常用网站:speedtest.cn(国内节点多)、speedtest.net(国际通用,国内也有节点)、运营商自己的测速页。以公司统一推荐的为准。
让用户怎么做
- "先用网线连接电脑(如果可以的话)。WiFi 测出来的是 WiFi 的速度,不是宽带的速度。"
- "关掉电脑上正在下载的东西,让家里其他人暂停看视频、下载。"
- "浏览器打开测速网站,点中间大按钮'测速 / GO',等它跑完,大约 30 秒。"
- "把结果页截图给我。要能看到三个数:下载、上传、延迟(有的写 ping)。"
- "隔几分钟再测一次,两次都截。"
读法
| 数字 | 意思 | 怎么看 |
|---|---|---|
| 下载 / 下行(Mbps) | 进来的带宽 | 和套餐比。300M 套餐测出 280–300 正常;测出 95 左右 = 卡在百兆环节 |
| 上传 / 上行(Mbps) | 出去的带宽 | 家庭通常 20–50;接近 0 或远低于套餐标称 = 上行被占或有问题 |
| 延迟 / Ping(ms) | 到测速服务器的延迟 | 测速点近,通常 < 20。高于 50 说明本地链路本身就慢(WiFi / 路由) |
| 抖动 / Jitter(ms,部分网站显示) | 延迟波动 | > 20 有问题 |
| 测速服务器位置 | 测的是到哪里 | 应该是同城同运营商。如果分到了别的省 / 别的运营商,结果偏低不奇怪 |
结果怎么判断
| 结果 | 说明什么 |
|---|---|
| 下行接近套餐 | 带宽没问题。下载慢要查 CDN、磁盘、代理,见 带宽、延迟、抖动、丢包 |
| 下行 90–95 左右,套餐 ≥ 200M | 卡在百兆:光猫口 / 路由器 / 网线 / 网卡,见 网络拓扑 |
| 下行远低于套餐且不是 95 | WiFi、多设备抢、运营商问题、晚高峰 |
| 下行正常,上行接近 0 | 上行被占(直播 / 云盘 / 上传)或线路故障,对战会卡 |
| 两次结果差很多 | 网络不稳定 / 有人在间歇性用网 |
| 测速网站打不开 | 网络本身有问题,先查基础连通 |
注意
测速反映的是"到测速服务器"这一段的带宽,测速服务器通常在本地、线路最优。测速满速不代表下载一定满速,因为下载的目标不是测速服务器。用测速排除"宽带本身不够"这个可能性,然后再往 CDN、磁盘方向查。
三段定位法
把上面的工具组合起来,就是网络排查的骨架:把问题定位到"家里、链路、服务器"三段中的一段。
第一段:家里(本地)
- 工具:
ping 网关 -n 50;ipconfig /all;看网卡协商速度。 - 正常:全通、有线 < 2 ms、抖动小。
- 异常说明:问题在电脑到路由器之间。方向:换网线、换 5G、重启路由器、检查网线协商速度。这一段有问题,不用再往外查,先把家里修好。
- 相关:网络拓扑、常见网络故障模式。
第二段:链路(运营商)
- 工具:
tracert -d 服务器;WinMTR 5 分钟以上;pathping。 - 正常:每一跳时间平稳递增,无持续丢包。
- 异常说明:从某一跳开始变高 / 丢。第 2–3 跳 = 接入段(光猫、小区线路,找运营商);中间 = 骨干 / 跨网(换节点、加速器、等晚高峰过去);末端 = 机房入口(升级)。
- 用户能做的有限:换区域节点、试加速器、换时段、向运营商报障。
第三段:服务器
- 工具:
ping 服务器 -n 100;问"别的用户同时段是否也卡";看平台公告。 - 正常:稳定、无丢包,且其他用户正常。
- 异常说明:多个不同地区、不同运营商的用户同时段同一节点都卡 → 服务器 / 机房问题,升级技术,见 何时升级、对战服务器与网络。只有这一位用户卡而三段都正常 → 回到本地查非网络因素(后台占带宽、代理、驱动、帧数)。
大白话
三段定位法像查水管漏水:先看自家水表后面(家里),再看楼道总管(链路),最后看小区泵房(服务器)。家里漏就修家里,楼道漏找物业,泵房坏找水务局。找错对象,修一年也修不好。
结果怎么截图
| 工具 | 截什么 | 注意 |
|---|---|---|
ipconfig /all | 整个窗口,滚动分两张 | 必须包含正在用的那块网卡的完整信息 |
ping | 跑完后整个窗口 | 必须包含最后的统计四行 |
tracert | 跑完后整个窗口 | 要看到"跟踪完成"。跳数多的话分两张 |
pathping | 最后的统计表 | 等"正在计算统计信息"跑完 |
| WinMTR | 停止后整个窗口,或 Copy Text | 要看到 Sent 列的数量(判断跑了多久) |
nslookup | 两次查询的窗口 | 要看到"服务器 / Address"那两行 |
netstat | 全选复制文字 | 截图看不全 |
| 测速 | 结果页 | 要有下载、上传、延迟三个数和测速服务器位置 |
截图操作的小白版说法统一见 指导小白截图;命令行窗口的复制文字方法见本页开头。
对排查意味着什么
- 每个工具只回答一个问题:
ipconfig答"电脑配置对不对",ping答"通不通稳不稳",tracert/ WinMTR 答"慢在哪一段",nslookup答"名字解析对不对",测速答"带宽有多少"。先想清楚你要回答哪个问题,再选工具,不要让用户把所有命令都跑一遍。 - 三段定位法是骨架。用户抱怨对战卡,标准动作是:ping 网关 → tracert / WinMTR 服务器 → ping 服务器 + 问其他用户。三步走完,问题在哪一段就清楚了。
- 定位到段之后,去对应的排查方案:卡顿与掉线、登录与连接问题、下载问题;升级时把这些输出一起交给技术,见 何时升级。
常见误区
- ping 4 次就下结论。 至少 50 次看丢包,100 次或
-t一分钟看抖动。 - 只看平均延迟。 最长值和丢失率才反映抖动和丢包。
- tracert 中间某跳
*就说运营商有问题。 后面的跳正常,那一跳只是不回应。 - WinMTR 只跑 30 秒。 间歇性问题要 5 分钟以上才抓得到。
- ping 服务器不通就说服务器挂了。 很多服务器禁 ping。要用技术给的方法验证,或看其他用户。
- 让用户在 WiFi 下测速然后和套餐比。 只有有线才能测出套餐上限。
- 把 ping 的结果当成游戏 UDP 的结果。 ping 是 ICMP,只能做参考。
- 让用户跑一堆命令但不告诉他要截哪里。 每个命令都说清楚"跑完等统计出来再截整个窗口"。
自检问题
- 写出让小白用户"打开黑窗口、ping 网关 50 次、截图"的完整话术。
- 一段 ping 统计:已发送 100、已接收 97、最短 24 ms、最长 310 ms、平均 38 ms。丢包率多少?抖动大不大?这个结果对对战意味着什么?
- tracert 输出里第 4 跳三列全是
*,第 5 跳之后一切正常。这说明什么?如果第 4 跳之后每一跳时间都从 10 ms 跳到 80 ms,又说明什么? - 什么是三段定位法?每一段用什么工具、正常是什么样、异常说明什么?
- WinMTR 里中间某跳 Loss 90%、后面每跳 Loss 0%,和最后一跳 Loss 3%、前面从第 3 跳开始就是 3%,分别怎么解读?
nslookup 域名和nslookup 域名 223.5.5.5结果不一样,说明什么?下一步做什么?- 用户测速 95 Mbps 下行,套餐 500M,最可能的原因是什么?去哪一页排查?