V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sjlleo
V2EX  ›  宽带症候群

NextTrace —— 一款开源的路由跟踪工具

  •  5
     
  •   sjlleo · 2022-07-09 17:36:19 +08:00 · 8032 次点击
    这是一个创建于 1057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写在前面

    楼主是在读的大三学生,接触 Golang 也就不到一年的时间,代码比较烂... 轻喷

    为什么要写这个工具

    其实我最早一直都是使用的是 BestTrace,可惜 IPIP 为了防止数据被抓取,从去年开始限制使用次数,恰好我喜欢折腾,测来测去,一会儿就超限额了,真的很让人难受。

    今年终于官宣会出付费版,心里一喜,终于可以入正不忍受每天 403 了,但是到现在都没啥动静。于是萌生了自己先做一个勉强能满足自己测试需求的小工具,等到正式付费再切回 BestTrace 的想法。

    支持哪些功能

    TCPUDPICMP 三大协议肯定是支持的,因为我平时测试都是用 TCP SYN 进行测试,防止出现一些只有 ICMP 会走到的假路由。不过自己还比较菜鸡,目前 IPv6 只能使用 ICMP 进行 Traceroute

    另外之前无意间发现 nitefood/asn 的 AS-Path 功能非常简洁明了,就想着用 Go 复刻一个,顺便把地理位置融合进去。又有小伙伴和我说,想加个 Looking Glass 以及可视化 Map 功能,但是我总觉得放在一个 CLI Tool 里面觉得太臃肿了,遂拆成 Lite 、Enhanced 2 个分支版本。

    还有一点,BestTraceIPv6 骨干网信息没有显示,我又是移动 IPv6 重度使用者,所以也自己在学业之余维护一个不怎么准的移动 IPv6 骨干网库( AS9808 ),CMI 的 AS58453 还是有很多错误,可能需要更多时间慢慢校准吧。说不准哪天 BestTrace 付费版正式发布了我就跑路了(逃

    IPv4 的 AS4134 ( 202.97.*.* ) 、AS4837 ( 219.158.*.* ) 、AS9808 ( 221.183.*.* && 111.24.*.* ) 、AS9929 ( 210.13.*.* && 218.105.*.* ) 、AS58453 ( 223.119.*.* ) 骨干网都有自己手动校过,自己也没有太多检测节点,所以准度也就是看着乐的水平吧。

    项目一些截图

    开源地址

    第一次发自己的小项目呀,希望能够帮到大家,谢谢!如果有哪个 IP 错了,也可以发 issue 找我,我尽力改正它们。

    Credits

    对以下项目表示衷心地感谢!

    • ASN - AS-Path 给我带来了很多灵感,让我能够做出更多好用的功能。

    • BestTrace - 来自 IPIP 异常优秀的 Traceroute 可视化工具,准度极高,对骨干网认知的启蒙工具。

    • WorstTrace - 如果没有它,我想我应该不会自己想着去做这样一款工具,也不会有 table 模式。

    24 条回复    2025-05-09 22:33:54 +08:00
    chenxuhua
        1
    chenxuhua  
       2022-07-09 17:38:35 +08:00   ❤️ 1
    支持,Start 为敬~
    folnet
        2
    folnet  
       2022-07-09 18:01:23 +08:00
    支持
    putaozhenhaochi
        3
    putaozhenhaochi  
       2022-07-09 18:25:40 +08:00 via Android
    👍
    beetlerx
        4
    beetlerx  
       2022-07-09 18:55:41 +08:00   ❤️ 1
    真棒!已 start
    leavic
        5
    leavic  
       2022-07-09 19:43:11 +08:00
    点开一看,原来之前就 star 过了。
    shawnoob
        6
    shawnoob  
       2022-07-09 20:33:32 +08:00
    支持😋
    VincentYoung
        7
    VincentYoung  
       2022-07-09 20:39:57 +08:00 via iPhone   ❤️ 1
    支持~
    danbai
        8
    danbai  
       2022-07-09 20:41:57 +08:00 via Android   ❤️ 1
    start 了,支持
    ninvfeng2020
        9
    ninvfeng2020  
       2022-07-09 20:42:51 +08:00
    牛啊
    lazyyz
        10
    lazyyz  
       2022-07-09 22:54:34 +08:00
    已 star ,赞!
    Sekai
        11
    Sekai  
       2022-07-09 23:01:31 +08:00
    前几天还在用 挺棒的!
    xsourse
        12
    xsourse  
       2022-07-09 23:25:23 +08:00
    maojun
        13
    maojun  
       2022-07-10 00:28:07 +08:00 via iPhone   ❤️ 5
    start 是什么梗吗? 🤨
    hoPBmTckM1
        14
    hoPBmTckM1  
       2022-07-10 00:52:41 +08:00
    支持👍
    tcp
        15
    tcp  
       2022-07-10 06:50:45 +08:00 via Android
    很棒!想知道 Route-Path 那里的连接线怎么画出来的?
    datou
        16
    datou  
       2022-07-10 07:24:20 +08:00
    先 star ,然后等 windows 版
    Marionic0723
        17
    Marionic0723  
       2022-07-10 08:21:59 +08:00 via Android
    数据库准确性能让大家一起维护吗?我这太原电信和联通互联,besttrace 还显示过广东,但是看延迟显然不可能,也不知道从哪纠正,希望这个软件有纠错功能。
    虽然我也不是啥专业人士啦,也就是喜欢测着玩玩的。
    sjlleo
        18
    sjlleo  
    OP
       2022-07-10 09:44:52 +08:00
    @Marionic0723 软件可以根据 TTL 进行 IP 的批量纠错,这也是我常用的校准手段,在 Enhanced Edition 的参数详情里可以看到,使用此参数需要添加认证 Token ,由于骨干网校准是一个非常辛苦且费时的事情,而且对于 IP 的精度确认、地理位置格式有很高的要求。如果只是单纯的几个 IP 需要纠错,直接提 issue 就可以了,感谢您的好意。
    xxb
        19
    xxb  
       2022-07-10 12:01:37 +08:00 via iPhone
    好东西,收藏一下
    TulvL
        20
    TulvL  
       2022-07-11 18:15:11 +08:00
    这类工具 LookingGlass 也用得上
    gearfox
        21
    gearfox  
       2022-07-11 22:37:22 +08:00
    不错 不错
    bing1178
        22
    bing1178  
       2023-02-24 14:25:52 +08:00
    请教下,这个 trace 在技术上。 能检测自己回程的路由吗? 只能在目标服务器上也跑下 trace ?
    xustrive
        23
    xustrive  
       338 天前
    不错 不错
    bclerdx
        24
    bclerdx  
       22 天前
    @sjlleo 请问下开发者,目前的 NextTrace v1.4.0 版本是不是仅支持 Windows 8/8.1/10/11 这四个操作系统版本下正常运行了,不支持 Windows 7 了呢?我试了下,在 Windows 7 下已管理员身份运行 nexttrace 后直接是如下报错提示,该如何解决呢?

    c:\tools\NextTrace\NTrace-core>nexttrace_windows_amd64 www.163.com
    Exception 0xc0000005 0x8 0x0 0x0
    PC=0x0

    runtime.asmstdcall(0x400)
    runtime/sys_windows_amd64.s:76 +0x89 fp=0x2cf7f0 sp=0x2cf7d0 pc=0x1457ee
    9
    rax 0x0
    rbx 0x1d35e78
    rcx 0x22a6328
    rdx 0x20
    rdi 0x7fffffdd000
    rsi 0x2cf9e8
    rbp 0x2cf930
    rsp 0x2cf7c8
    r8 0x1d35b80
    r9 0x22a5f4b
    r10 0x0
    r11 0x246
    r12 0x2cfa48
    r13 0xc000004000
    r14 0x1d348e0
    r15 0x3
    rip 0x0
    rflags 0x10246
    cs 0x33
    fs 0x53
    gs 0x2b
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   814 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:11 · PVG 05:11 · LAX 14:11 · JFK 17:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.