在 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)
#macOSbrew安装命令
brewtapxgadget-lab/nexttrace&&brewinstallnexttrace
NextTrace 的用法:
nexttrace[-h|--help][-T|--tcp][-U|--udp][-F|--fast-trace][-p|--port
][-q| --queries][--parallel-requests
][-m|--max-hops][-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][-M|--map]
[-v|--version][-s|--source""][-D| --dev"" ]
[-R|--route][-z|--send-time][-i|--ttl-time
][_positionalArg_nexttrace_25""]
[--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 地理数据提供者(默认值: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。
#IPv4ICMPTrace
nexttrace8.8.8.8
#IPv6ICMPTrace
nexttrace26064700::1111
nexttrace 支持域名的路由追踪,会根据提示选择要跟踪路由的 IP。
#URL
nexttracehttps://api.leo.moe/
nexttrace 支持快速测试
#测试 ISP 的路由:国内四网、电信、联通、移动、教育网、测试 IP 类型:IPv4 / IPv6 的 ICMP 快速测试
nexttrace-F
也可使用 TCP SYN 而非 ICMP 进行测试
nexttrace-F-T
nexttrace 指定网卡进行路由跟踪
使用ens32网卡
nexttrace-Dens321.1.1.1
#使用ens32网卡IP
#使用网卡IP进行路由跟踪时需要注意跟踪的IP类型应该和网卡IP类型一致(如都为IPv4)
nexttrace--source192.168.0.5114.114.114.114
nexttrace 可以使用 TCP 和 UDP 协议发起 Traceroute 请求。
#TCPSYNTrace
nexttrace-T1.1.1.1
nexttrace-Thttps://api.leo.moe/
#UDPTrace
nexttrace-U1.1.1.1
nexttrace-Uhttps://api.leo.moe/
#可以自行指定端口
nexttrace--tcp--port4431.1.1.1
nexttrace--udp--port53531.0.0.1
nexttrace 的一些进阶功能,比如:TTL 控制、并发数控制、模式切换等
#每一跳发送10个探测包
nexttrace-q10https://api.leo.moe/
#无并发,每次只发送1个探测包
nexttrace--parallel-requests1https://api.leo.moe/
#从TTL为10开始发送探测包,直到TTL为20结束
nexttrace-f10-m20https://api.leo.moe/
#关闭IP反向解析功能
nexttrace-nhttps://api.leo.moe/
nexttrace 输出结果为 Route-Path 图
nexttrace-Phttps://api.leo.moe/
将跟踪结果输出为表,可以使用--table
或-t
参数,实时显示结果。
nexttrace--table202.108.23.50
除上述的nexttrace用法之外,nexttrace 还可以支持用户自主选择 IP 地理数据库,如[IP.SB,IPInfo,IPInsight,IP-API.com,Ip2region,IPInfoLocal,CHUNZHEN],还有多种混合参数和简略参数的使用方法,可根据实际场景进行运用。
MapTrace URL 通过浏览器所展示出来的地图效果:
MapTrace URL 通过浏览器所展示出来的 3D 效果:
不过话说,这种图看上去很清晰,一目了然。在该页面下右键还有放大、缩小地图比例、显示或隐藏路由表以及支持生成二维码,通过手机扫描进行查看。当然了,左侧的路由表显示也并不是全部所追踪到的路由信息,还请以命令行输出的结果为准。
审核编辑 :李倩
-
Linux
+关注
关注
87文章
11295浏览量
209348 -
URL
+关注
关注
0文章
139浏览量
15328 -
可视化
+关注
关注
1文章
1194浏览量
20936
原文标题:这款轻量级可视化路由追踪的神器,太强了!
文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论