0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Go语言、轻量级且开源的可视化路由追踪命令行工具——NextTrace

dyquk4xk2p3d 来源:良许Linux 2023-04-17 14:16 次阅读

		

		


		

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)

7accae2c-dce4-11ed-bfe3-dac502259ad0.png

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

7ad8c3ce-dce4-11ed-bfe3-dac502259ad0.png

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

#URL
nexttracehttps://api.leo.moe/

7aebd6f8-dce4-11ed-bfe3-dac502259ad0.png

nexttrace 支持快速测试

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

		

7b04c550-dce4-11ed-bfe3-dac502259ad0.gif

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

nexttrace-F-T

nexttrace 指定网卡进行路由跟踪

使用ens32网卡
nexttrace-Dens321.1.1.1

		

7b12d316-dce4-11ed-bfe3-dac502259ad0.png

#使用ens32网卡IP
#使用网卡IP进行路由跟踪时需要注意跟踪的IP类型应该和网卡IP类型一致(如都为IPv4nexttrace--source192.168.0.5114.114.114.114

		

7b1c8d16-dce4-11ed-bfe3-dac502259ad0.png

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/

		

7b2c9d82-dce4-11ed-bfe3-dac502259ad0.png

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

nexttrace--table202.108.23.50

7b39f572-dce4-11ed-bfe3-dac502259ad0.png

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

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

7b45269a-dce4-11ed-bfe3-dac502259ad0.png

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

7b53b962-dce4-11ed-bfe3-dac502259ad0.png

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

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11194

    浏览量

    208652
  • URL
    URL
    +关注

    关注

    0

    文章

    139

    浏览量

    15293
  • 可视化
    +关注

    关注

    1

    文章

    1159

    浏览量

    20844

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

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在STM32实现命令行

    工作中的开发环境都是基于linux命令行交互,作为命令行的重度使用者,玩单片机也要使用命令行工具,百度了一些命令行
    发表于 12-09 11:32 2230次阅读

    Mini shell命令行调试工具的相关资料分享

    @mini shell命令行调试工具介绍Mini shell 命令行调试工具(单片机、c语言)Mini shell是一个特别适合低内存的单片
    发表于 01-24 08:15

    caxa命令行中的应用

    caxa命令行中的应用 命令行对于大多用户来说往往只是输入数据的作用,但是其中的奥妙还有很多,下面就给大家
    发表于 10-18 18:18 2275次阅读

    Xilinx软件命令行工具:XSCT开发和调试

    了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xilinx SDK的命令行控制台。
    的头像 发表于 11-21 06:02 1.4w次阅读

    Xilinx软件命令行工具进行开发和调试

    了解如何使用XSCT,Xilinx软件命令行工具进行开发和调试。 该视频演示了XSCT如何充当Xilinx SDK的命令行控制台。
    的头像 发表于 11-22 06:53 6581次阅读

    Git常见的误区和命令行工具等综述

    Git常见的误区和命令行工具等综述
    发表于 08-31 09:51 0次下载

    mini shell命令行调试工具(单片机、c语言

    @mini shell命令行调试工具介绍Mini shell 命令行调试工具(单片机、c语言)Mini shell是一个特别适合低内存的单片
    发表于 11-29 10:21 9次下载
    mini shell<b class='flag-5'>命令行</b>调试<b class='flag-5'>工具</b>(单片机、c<b class='flag-5'>语言</b>)

    Golang基于flag库实现一个命令行工具

    Golang 标准库中的 flag 库提供了解析命令行选项的能力,我们可以基于此来开发命令行工具
    的头像 发表于 10-28 09:26 1245次阅读

    新的开源命令行工具west

    电子发烧友网站提供《新的开源命令行工具west.zip》资料免费下载
    发表于 11-11 09:25 0次下载
    新的<b class='flag-5'>开源</b><b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    分享一个开源轻量级单片机命令行交互组件

    在进行调试和维护时,常常需要与单片机进行交互,获取、设置某些参数或执行某些操作,nr_micro_shell正是为满足这一需求,针对资源较少的MCU编写的基本命令行工具
    的头像 发表于 01-29 10:43 1168次阅读

    一款开源的全能可视化网络路由追踪工具

    nexttrace 是一个用 Go 语言编写的高性能、轻量化的分布式追踪系统。它是一个命令行工具
    的头像 发表于 05-04 09:51 1640次阅读
    一款<b class='flag-5'>开源</b>的全能<b class='flag-5'>可视化</b>网络<b class='flag-5'>路由</b><b class='flag-5'>追踪</b><b class='flag-5'>工具</b>

    介绍Go里面经常使用到的命令行工具

    优秀的工具配合熟练的使用,往往可以让开发效率大幅度提升,本小节介绍 Go 里面经常使用到的命令行工具
    的头像 发表于 05-22 16:58 1229次阅读
    介绍<b class='flag-5'>Go</b>里面经常使用到的<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    PetaLinux工具文档:命令行参考指南

    电子发烧友网站提供《PetaLinux工具文档:命令行参考指南.pdf》资料免费下载
    发表于 09-15 14:52 0次下载
    PetaLinux<b class='flag-5'>工具</b>文档:<b class='flag-5'>命令行</b>参考指南

    一个开源MCU级的命令行交互组件

    一个开源MCU级命令行交互组件~
    的头像 发表于 10-17 16:26 390次阅读
    一个<b class='flag-5'>开源</b>MCU级的<b class='flag-5'>命令行</b>交互组件

    idea如何输入命令行参数

    在许多软件开发和系统管理的任务中,我们经常需要向应用程序传递命令行参数。命令行参数是在运行时传递给程序的值,用于指定程序的行为和配置选项。本文将详细介绍如何在不同的编程语言和操作系统中输入命令
    的头像 发表于 12-06 15:01 1016次阅读