
【免费下载链接】TcpQuality项目地址https://gitcode.com/gh_mirrors/tc/TcpQuality点击查看免费下载TcpQuality 是一款面向 Linux 服务器的 TCP 质量检测工具其核心能力之一是三网回程线路识别脚本通过 traceroute 追踪全国电信/联通/移动 CDN 节点的路由批量查询 Team Cymru 的 ASN 归属再结合 nexttrace 的 1200B 大包探测自动把每条线路归类为 163、4837、9929、10099、CN2GT、CMI 等标签帮你快速判断服务器的回程质量。一、为什么要识别回程很多人只会测去程你 → 目标但决定用户体验的关键是回程目标 → 你去程走国际带宽回程却可能落到三大运营商的某个骨干网上同样延迟的线路回程是 163电信骨干还是普通 CMI移动国际体验天差地别三网回程各不相同所以必须分电信、联通、移动逐个节点去探测。TcpQuality 的思路是用全国各省三网 CDN 节点当探针目标从服务器侧反向追踪路径就能反推出每个省份三网用户访问你服务器时走的回程线路。二、三大组件各司其职 整个识别流程由三个组件协同完成对应源码如下组件作用关键源码位置traceroute逐跳追踪节点路由默认 TCP 协议-Troute_trace_oneTeam Cymru ASN 查询把每一跳 IP 翻译成 AS 号 归属机构query_cymru_asnnexttrace-tinyIPv4 大包1200B回程识别download_nexttrace_guest1. traceroute拿到每一跳 IP脚本对每个省份 × 运营商节点执行 traceroute典型参数为 TCP 模式、3 次重复、每跳 2 秒超时traceroute -n -4 -T -p 80 -q 3 -w 2 -m 30 节点IP 44探测输出会被保存成 trace 文件再由 extract_trace_ips 用 awk 逐行解析只保留公网 IPv4/IPv6自动过滤10.x、172.16/12、192.168等内网地址和链路本地地址得到一条干净的跳点 IP 序列。2. Team Cymru ASN 查询给 IP 贴身份证拿到 IP 还不够要判断这一跳是谁家骨干网需要知道它属于哪个 AS 号Autonomous System自治系统编号。TcpQuality 的做法是把所有节点的跳点 IP汇总去重成一份清单通过 query_cymru_asn 一次性向whois.cymru.com的 43 端口发起批量 whois 查询begin/verbose/end协议35 秒超时build_asn_map 把返回结果整理成IP|ASN|归属机构的映射表若官方 whois 服务不可达还会通过内置的ROUTE_ASN_API接口POST 批量 IP做兜底补全。 批量查询而不是逐跳查询是 TcpQuality 能在几分钟内跑完全国节点的关键——一次网络往返就能覆盖成百上千个 IP。3. nexttrace大包回程的第二视角小包44B和大包的转发路径可能不同部分线路对小包走直连骨干对 1200B 以上的大包却绕道 CMI/CMIN2。TcpQuality 用 NextTrace 官方的轻量版nexttrace-tiny补上这个盲区nexttrace-tiny -4 -T -p 80 --psize 1200 -M -d disable-geoip -n -q 3 -m 30 节点IP参数--psize 1200指定 1200 字节载荷触发 ISP 的大包路径rootfs 模式会在启动时自动下载并校验 nexttrace-tiny 二进制见 runTcpQuality-rootfs.sh下载失败才回退到宿主机的nexttrace若环境里完全没有 nexttrace脚本会明确提示已跳过 IPv4大包回程其余功能不受影响。三、协同工作流程全景图 把上面三步串起来完整流程是这样的start_route_background 负责编排第 1 步 · 拉取节点清单从中央getNodes服务获取全国三网 CDN 节点的 IP 端口服务每 5 分钟刷新不可用时有内置地址兜底。第 2 步 · 并行路由追踪-p/--parallel控制并行度默认 16同时跑多个 traceroute / nexttrace各自产出 trace 文件。第 3 步 · 10099 隐藏段自动重测电信 10099 骨干在国内段经常不回 ICMP/TCP 响应导致跳点显示* * *。脚本内置 route_needs_10099_hidden_tcp_retry 检测器一旦识别出10099 之后连续多跳隐藏的特征就自动重发一次 traceroute补齐国内段信息。第 4 步 · 批量 ASN 查询 本地前缀兜底汇总全部跳点 IP → Team Cymru 批量查询。对于查询缺失的 IPinfer_asn_from_ip 会用 IP 前缀规则本地推断例如219.158.*→ AS4837 联通骨干103.214.*→ AS10099 电信 CN2 GT。第 5 步 · 标签分类route_label_from_ip_trace 沿跳点顺序做状态机判断最终输出一个人类可读的线路标签优先级大致是出现 CN259.43.*→ 后续接电信骨干则判CN2GT否则CN2GIA/CN2G联通目标 → 识别10099-4837 / 163-4837等组合路径移动目标 → 区分CMIN2移动国际网 2与CMI移动国际骨干教育网目标 → 识别 CERNET/CERNET2 出口与上游中转education_route_label_from_ip_trace以上都不匹配 → 标记Hidden线路隐藏。第 6 步 · 结果渲染show_route_results 按省份 × 三网输出彩色矩阵表绿色正常识别黄色Hidden/LIMIT红色失败。一个值得注意的设计整个回程识别被安排为全流程第一阶段见 主流程注释即先做完所有路由追踪再执行 nping 延迟/丢包探测和测速——避免探测流量干扰路由响应让识别结果更准确。四、快速上手三种常用命令方式一clone 仓库后直接运行git clone https://gitcode.com/gh_mirrors/tc/TcpQuality.git bash TcpQuality/runTcpQuality.sh方式二只想做回程识别不发延迟/丢包探测、不上传报告bash runTcpQuality.sh --no-rootfs --route方式三常用参数速查参数说明--route仅执行三网回程识别跳过 nping 与报告上传--route-protocol tcp\|udp\|both指定 traceroute 协议默认tcpUDP 可能被 QoS 干扰--only-large仅跑 IPv4 大包回程nexttrace 1200B--cernet仅识别 CERNET/CERNET2 教育网回程--province/-bj -sh -gd只测指定省份--debug保留 trace 原文、ASN 映射表等临时文件便于排查完整参数说明见 runTcpQuality-core.sh 的 help依赖清单traceroute、nexttrace-tiny等也列在其中。五、常见标签与结果解读 标签含义质量印象163中国电信 163 骨干电信回程主流优质线路4837中国联通 169 骨干联通回程主流线路9929联通 9929CUII 工业网联通优质国际/跨网线路10099电信 CN2 GT高端线路延迟与稳定性俱佳CN2GT/CN2GIA经 CN2 网络回国国际段优质CMIN2/CMI移动国际网 2 / 移动国际骨干移动用户关注的重点HKIX/HE/NTT经香港互联网交换中心 / 美国大型运营商中转常见于海外节点Hidden关键跳点未响应无法判定建议加--debug复查六、排查与进阶建议结果出现大片* * *多为中间设备限速或隐藏跳点--route-protocol切换udp或both再对比ASN 查询失败NoDataTeam Cymru 偶发不可达时脚本自动走 API 兜底仍失败可稍后重试想看原始证据链加--debug会保留*_trace_*原始追踪、*_asn_map.txtASN 映射、*_cymru.txtwhois 原始返回逐跳核对非常方便依赖安装Debian/Ubuntu 执行apt-get install -y curl nmap iperf3 iproute2 jq traceroute即可nexttrace-tiny 由脚本自动处理。七、小结TcpQuality 的三网回程识别可以概括为一句话traceroute 拿跳点 → Team Cymru 批量查 ASN → 前缀规则兜底 → 状态机打标签再用nexttrace 大包探测补上小包看不到的路径差异。理解这条流水线后你就能独立读懂报告里每一个标签背后的判定逻辑而不是只看一个缩写。相关源码入口runTcpQuality-core.sh识别主逻辑、runTcpQuality-rootfs.sh运行环境与 nexttrace 下载、README.md参数与示例报告。赞分享【免费下载链接】TcpQuality项目地址https://gitcode.com/gh_mirrors/tc/TcpQuality点击查看免费下载相关推荐OOOSplat 处理流水线全解FFmpeg、COLMAP 与 Brush 三大引擎如何协同工作OOOSplat 处理流水线全解FFmpeg、COLMAP 与 Brush 三大引擎如何协同工作 OOOSplat 是一款把视频和图片序列一键转换成 3D G桌面应用图形学3D渲染计算机视觉CANN Ascend C SIMT half2比较函数\_\_hlex2\_mask 产品支持情况 ! npu950 id1 Ascend 950PR/Ascend 950DT支持 ! end id1人工智能深度学习算子库CANNAscendGenRecon 三阶段流水线全拆解Sparse Structure → Shape SLat → Texture SLat 如何协同工作GenRecon 三阶段流水线全拆解Sparse Structure → Shape SLat → Texture SLat 如何协同工作 GenRecon创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考