这款轻量级可视化路由追踪的神器,太强了!

作者:JackTian
文章首发于公众号:【杰哥的IT之旅】

在 Linux 环境下,用于网络管理的命令有很多。比如:ifconfig、ifup / ifdown、route、arp、netstat、ping、telnet、wget、nslookup 等等。除此之外,还有 traceroute 用来追踪数据包到目标主机间传输时的全部路径,tracepath 用来追踪显示报文到达目的主机所经过的路由信息。

那么,基于 traceroute 和 tracepath 命令,今天跟大家推荐一款基于 Go 语言、轻量级且开源的可视化路由追踪命令行工具 —— NextTrace。

它基于 nexttrace 命令通过命令行显示类似于 traceroute 清晰的路由信息。当执行完一条追踪的路由信息时,会自动生成 MapTrace URL 也就是一个 HTML,通过浏览器访问该 URL 支持以地图或 3D 视角的方式可视化展示。

安装也非常的简单,由于我是通过 Linux 操作系统来体验的 NextTrace,可以执行如下一键安装脚本进行自动安装。

# Linux 一键安装脚本
bash <(curl -Ls https://raw.githubusercontent.com/sjlleo/nexttrace/main/nt_install.sh)

GitHub 还提供了其他两种方式的自动安装命令,可参考:

# GHPROXY 镜像(国内使用)
bash <(curl -Ls https://ghproxy.com/https://raw.githubusercontent.com/sjlleo/nexttrace/main/nt_install.sh)

# macOS brew 安装命令
brew tap xgadget-lab/nexttrace && brew install nexttrace

NextTrace 的用法:

nexttrace [-h|--help] [-T|--tcp] [-U|--udp] [-F|--fast-trace] [-p|--port
                 <integer>] [-q|--queries <integer>] [--parallel-requests
                 <integer>] [-m|--max-hops <integer>] [-d|--data-provider
                 (Ip2region|ip2region|IP.SB|ip.sb|IPInfo|ipinfo|IPInsight|ipinsight|IPAPI.com|ip-api.com|IPInfoLocal|ipinfolocal|chunzhen)]
                 [-n|--no-rdns] [-a|--always-rdns] [-P|--route-path]
                 [-r|--report] [--dn42] [-o|--output] [-t|--table]
                 [-c|--classic] [-f|--first <integer>] [-M|--map]
                 [-v|--version] [-s|--source "<value>"] [-D|--dev "<value>"]
                 [-R|--route] [-z|--send-time <integer>] [-i|--ttl-time
                 <integer>] [_positionalArg_nexttrace_25 "<value>"]
                 [--dot-server (dnssb|aliyun|dnspod|google|cloudflare)]
                 [-g|--language (en|cn)]

NextTrace 的参数:

  • -h:帮助信息
  • -T:使用 TCP SYN 进行路由追踪(默认端口为:80)
  • -U:使用 UDP SYN 进行路由追踪(默认端口为:53)
  • -F:快速追踪运营商
  • -p:设置目的端口
  • -q:每跳探测的个数(默认值:3)
  • --parallel-requests:设置并行请求数,当存在多条路由时,应该为1(默认值:18)
  • -m:设置最大 TTL 跳数(默认值:30)
  • -d:选择 IP 地理数据提供者 [IP.SB,
    IPInfo, IPInsight, IP-API.com, Ip2region,IPInfoLocal, CHUNZHEN](默认值:LeoMoeAPI)
  • -n:不解析 IP 地址为域名
  • -a:始终将 IP 地址解析为域名
  • -P:根据 ASN 和位置输出 traceroute 路径
  • -r:使用报告模式输出
  • --dn42:DN42 模式
  • -o:将跟踪结果写入文件
  • -t:将跟踪结果输出为表
  • -c:经典输出跟踪结果
  • -f:从第一个 TLL 跳数开始,而不是从 1 开始(默认值:1)
  • -M:不打印跟踪地图
  • -v:打印版本信息并退出
  • -s:发送报文时使用 source src_addr
  • -D:在发送的报文中使用网络设备作为源地址
  • -R:显示路由表
  • -z:设置每个报文发送的时间间隔,当某些路由对 ICMP 使用速率限制时有效(默认值:100)
  • -i:使用 TTL 值设置报文组发送的时间间隔,当某些路由对 ICMP 使用速率限制时有效(默认值:500)
  • --_positionalArg_nexttrace_25:IP 地址或域名
  • --dot-server:使用 DOT 服务进行 DNS 解析 [dnssb、aliyun、dnspod、google、cloudflare]
  • -g:选择显示的语言

NextTrace 的使用:

nexttrace 若不加任何参数,则默认使用 ICMP 协议发起路由追踪请求,支持 IPv4 和 IPv6。

# IPv4 ICMP Trace
nexttrace 8.8.8.8

# IPv6 ICMP Trace
nexttrace 2606:4700:4700::1111

nexttrace 支持域名的路由追踪,会根据提示选择要跟踪路由的 IP。

# URL
nexttrace https://api.leo.moe/

nexttrace 支持快速测试

# 测试 ISP 的路由:国内四网、电信、联通、移动、教育网、测试 IP 类型:IPv4 / IPv6 的 ICMP 快速测试
nexttrace -F

也可使用 TCP SYN 而非 ICMP 进行测试

nexttrace -F -T

nexttrace 指定网卡进行路由跟踪

使用 ens32 网卡
nexttrace -D ens32 1.1.1.1
#使用 ens32 网卡IP
#使用网卡 IP 进行路由跟踪时需要注意跟踪的 IP 类型应该和网卡 IP 类型一致(如都为 IPv4)
nexttrace --source 192.168.0.5 114.114.114.114

nexttrace 可以使用 TCP 和 UDP 协议发起 Traceroute 请求。

# TCP SYN Trace
nexttrace -T 1.1.1.1
nexttrace -T https://api.leo.moe/

# UDP Trace
nexttrace -U 1.1.1.1
nexttrace -U https://api.leo.moe/

# 可以自行指定端口
nexttrace --tcp --port 443 1.1.1.1
nexttrace --udp --port 5353 1.0.0.1

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

# 每一跳发送 10 个探测包
nexttrace -q 10 https://api.leo.moe/

# 无并发,每次只发送 1 个探测包
nexttrace --parallel-requests 1 https://api.leo.moe/

# 从 TTL 为 10 开始发送探测包,直到 TTL 为 20 结束
nexttrace -f 10 -m 20 https://api.leo.moe/

# 关闭 IP 反向解析功能
nexttrace -n https://api.leo.moe/

nexttrace 输出结果为 Route-Path 图

nexttrace -P https://api.leo.moe/

将跟踪结果输出为表,可以使用--table-t参数,实时显示结果。

nexttrace --table 202.108.23.50

除上述的 nexttrace 用法之外,nexttrace 还可以支持用户自主选择 IP 地理数据库,如 [IP.SB,IPInfo,IPInsight,IP-API.com,Ip2region,IPInfoLocal,CHUNZHEN],还有多种混合参数和简略参数的使用方法,可根据实际场景进行运用。

MapTrace URL 通过浏览器所展示出来的地图效果:

MapTrace URL 通过浏览器所展示出来的 3D 效果:

不过话说,这种图看上去很清晰,一目了然。在该页面下右键还有放大、缩小地图比例、显示或隐藏路由表以及支持生成二维码,通过手机扫描进行查看。当然了,左侧的路由表显示也并不是全部所追踪到的路由信息,还请以命令行输出的结果为准。

本文完。

推荐阅读:

这款文件传输工具的替代品,牛逼了!

太强了!这款命令行工具可以在 Linux 文件目录快速自动跳转

14 款命令行常用工具的替代品!

7 款可替代 top 命令的工具!

5 款可替代 du 命令的工具!

11 款可替代 top 命令的工具!

10 款你不知道的 Linux 环境下的替代工具!


以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞留个言或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容