6K star!轻量可视化路由追踪神器,真的强!

文摘   2024-12-10 21:00   江西  

* 戳上方蓝字“开源先锋”关注我



推荐阅读:

《12.6K star!Shell命令即搞定可视化监控,超级6~~


《5.6K star!再见了DocSend,这款开源项目更不错!


《4.1K star!跨屏操作的神器,流畅丝滑!》


《9.1K star!国外大神1:1复刻Win11系统,开源牛逼!》


《2.8K star!超强音乐管理工具,支持多平台、一键“解锁”!》


大家好,我是开源君!

网络已经成为我们生活中不可或缺的一部分。但有多少朋友知道,当在浏览网页或者下载文件时,数据包是如何穿越千山万水到达你的电脑的呢?可能很多程序猿老鸟也不一定能准确的说清楚吧。

今天开源君分享一个超级酷的开源项目 - NextTrace,如同我们在网络上的“路径侦探”,在网络这个大大的虚拟世界中,找到路径上的每一个节点。

项目简介

NextTrace 是一个开源的视觉路由追踪工具,用Golang开发,主要功能是进行网络路径追踪(traceroute),追求的是轻量级和高效。简单来说,就是帮我们快速找到数据从A点到B点的详细路线。它不仅支持经典的 ICMP 协议,还支持 TCP 和 UDP,还能将这些复杂的路由信息通过地图的形式展示出来,一目了然。

想象一下,你坐在家里,就能看到数据包是如何在全球范围内穿梭的,是不是很酷?不管你是网络工程师,还是只是对网络运作好奇的极客,NextTrace 都能帮你揭开互联网的神秘面纱。

目前在Github上面收获了6K star!

性能特色

  • 可视化路由追踪地图:支持追踪数据结果生成的地图,更加直观地理解数据包会经过何处
  • 多协议支持:ICMP、TCP、UDP 都能搞定,像一个全能侦探。
  • IP/ASN Whois支持:提供了 IP和ASN Whois 信息, 包含 ASN名称、IP地址所有人、运营商 等信息
  • IPv4/IPv6 兼容:同时兼容 IPv4 和 IPv6 网络, 并支持 IPv6 单栈网络
  • 多语言:支持 英文和简体中文,未来会添加更多语言的支持
  • 快速高效:基于 Go 语言开发,运行速度那叫一个快。
  • 跨平台:不管你是 Windows、Mac 还是 Linux 用户,都能轻松上手。
  • 直观输出:结果不仅有文本格式,还有 JSON 格式,方便你进一步处理和分析。

快速安装使用

NextTrace 的安装很简单,作者提供了一键安装的脚本

# Linux 一键安装脚本
curl nxtrace.org/nt | bash

# macOS brew 安装命令
brew install nexttrace

# Windows Scoop 安装命令
scoop bucket add extras && scoop install extras/nexttrace

当然也可以在项目release页面或者官网下载安装包。

项目使用展示

NextTrace的使用体验非常棒。当执行一个路由追踪命令后,它会生成一个MapTrace URL,我们可以通过浏览器访问这个URL,看到一个清晰的地图展示。

这里开源君以win系统做展示。比如,我们想追踪到 baidu.com 的路径:

nexttrace baidu.com

这时候,你就会看到详细的路径信息,每个节点的 IP 地址、响应时间等数据一目了然。

在最下方会有一个url,打开即可以看到各个IP的地图位置。

如果想要用 TCP 或 UDP 来追踪,只需要加个参数:

# 使用 TCP
nexttrace -T baidu.com
# 使用 UDP
nexttrace -U baidu.com

一些进阶功能,如 TTL 控制、并发数控制、模式切换等

# 每一跳发送2个探测包
nexttrace --queries 2 www.hkix.net

# 无并发,每次只发送一个探测包
nexttrace --parallel-requests 1 www.hkix.net

# 从TTL为5开始发送探测包,直到TTL为10结束
nexttrace --first 5 --max-hops 10 www.decix.net
# 此外还提供了一个ENV,可以设置是否隐匿目的IP
export NEXTTRACE_ENABLEHIDDENDSTIP=1

# 关闭IP反向解析功能
nexttrace --no-rdns www.bbix.net

# 设置载荷大小为1024字节
nexttrace --psize 1024 example.com

# 设置载荷大小以及DF标志进行TCP Trace
nexttrace --psize 1024 --dont-fragment --tcp example.com

nexttrace --route-path www.time.com.my
# 禁止色彩输出
nexttrace --nocolor 1.1.1.1
# 或者使用环境变量
export NO_COLOR=1

官方还提供了一个wiki页面,罗列了一些经常可能遇到的问题。

比如,在win系统中,如果路由仅显示最后一跳

可以考虑用管理员权限执行以下命令:

netsh advfirewall firewall add rule name="All ICMP v4" dir=in action=allow protocol=icmpv4:any,any
netsh advfirewall firewall add rule name="All ICMP v6" dir=in action=allow protocol=icmpv6:any,any

更多NextTrace 使用方式,可以用-h参数进行查看。

体验下来,NextTrace 是一个非常实用的网络工具,适合各种网络诊断需求,支持多协议、跨平台,让我们在各种环境下都能得心应手地使用。

更多细节功能,感兴趣的可以到项目地址查看:

项目地址:
https://github.com/nxtrace/NTrace-core

开源先锋
分享Github上最有趣的开源项目
 最新文章