* 戳上方蓝字“开源先锋”关注我
推荐阅读:
《7.1K star!一款优雅高效的文档管理系统,免费好用!》
大家好,我是开源君!
在这个互联网高速发展的时代,网络已经成为我们生活中不可或缺的一部分。但不知道有多少朋友知道,当在浏览网页或者下载文件时,数据包是如何穿越千山万水到达你的电脑的呢?可能很多程序猿老鸟也不一定能准确的说清楚吧。
今天开源君要聊的这个超级酷的开源项目是 – NextTrace
,如同我们在网络上的“路径侦探”,在网络这个大大的虚拟世界中,找到路径上的每一个节点。
项目简介
NextTrace
是一个开源的视觉路由追踪工具,用Golang开发,主要功能是进行网络路径追踪(traceroute),追求的是轻量级和高效。简单来说,就是帮我们快速找到数据从A点到B点的详细路线。它不仅支持经典的 ICMP 协议,还支持 TCP 和 UDP,还能将这些复杂的路由信息通过地图的形式展示出来,一目了然。
想象一下,你坐在家里,就能看到数据包是如何在全球范围内穿梭的,是不是很酷?不管你是网络工程师,还是只是对网络运作好奇的极客,NextTrace
都能帮你揭开互联网的神秘面纱。
目前在Github上面收获了5.2K 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
原文始发于微信公众号(开源先锋):5.2K star!这款轻量级可视化路由追踪的神器,功能真的强!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/297989.html