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

2023-05-16

作者:JackTian
来源:公众号「杰哥的IT之旅」
ID:Jake_Internet
链接:这款轻量级可视化路由追踪的神器,太强了!

在 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 效果:

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

本文完。

推荐阅读:

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

又一个基于 GPT-4 编写、解释代码的工具,诞生了!

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

写了个监控 ElasticSearch 进程异常的脚本!

写了个自动巡检多个接口地址的脚本!

一次服务器非法重启后导致的故障排查记录


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 【Xshell无法连接虚拟机问题】xshell无法连接虚拟机Ubuntu系统问题

    问题描述 xff1a 电脑新安装虚拟机 xff0c 并且安装Ubuntu系统 xff0c 通过Xshell工具无法连问题 原因是新linux系统未安装 ssh 服务导致 xff0c Xshell连接是依赖 ssh 服务实现的 下面让我们解决
  • [linux下]理解Semaphore及其用法详解

    2009 05 12 13 13 Mutex 是一把钥匙 xff0c 一个人拿了就可进入一个房间 xff0c 出来的时候把钥匙交给队列的第一个 一般的用法是用于串行化对critical section代码的访问 xff0c 保证这段代码不会
  • JavaScript 数据结构——栈

    概念 栈是一种线性结构 xff0c 最大的特点就是先进后出 xff0c 后进先出 入栈push xff1a 出栈pop xff1a 实现 JavaScript中可以用数组表示栈 xff1a span class token keyword
  • Python matplotlib 以pdf形式保存图片

    import matplotlib pyplot as plt from matplotlib backends backend pdf import PdfPages short version plt plot range 10 plt
  • 基于数据报(UDP)编程的接口总结

    文章目录 Udp编程接口socket 创建套接字bind 将套接字绑定到指定的网络地址本机字节序和网络字节序 recvfrom 接收一个数据报并保存源地址 从数据报套接字接收数据调用格式函数功能 sendto 按照指定目的地向数据报套接字发
  • Android-自定义View集合

    学习安卓几个月了 xff0c 也有点自己的体会 xff0c 然而我发现自己真正喜欢的是数据方面的东西 xff0c 当然android自定义view也很好玩 xff0c 很体验一些技巧性的东西 也不想自己以前学习过程总结的东西就此淹没 xff
  • Nginx同一端口部署多个vue项目

    场景 大家在部署项目的时候会遇到 xff0c 只申请了一个公网端口 xff0c 但是需要将多个前端vue项目部署到同一域名同一端口下 xff0c 下面记录一下vue打包时如何配置以及nginx如何配置 我们这个项目有多个vue工程 xff0
  • 树莓派3B安装Ubuntu Mate18.04版

    树莓派3B为什么要装Ubuntu Mate版本 xff0c 因为轻量化 xff0c 就这么简单 1 相关器材 树莓派 xff1a Raspberry PI 3 Model B 树莓派3 microSD卡 闪迪16GB存储卡 HDMI线 读卡
  • 谷歌浏览器提示您的连接不是私密连接的解决方法

    谷歌浏览器是一款非常好用的网络浏览器 xff0c 但是最近有用户反应 xff0c 使用谷歌浏览器时出现提示 xff1a 您的连接不是私密连接 xff0c 这是怎么回事呢 xff1f 接下来就为大家分享使用谷歌浏览器过程中提示您的连接不是私密
  • ElasticSearch7索引管理--别名(基于kibana)

    ElasticSearch可以对一个或者多个索引指定别名 xff0c 通过别名可以查询到一个或者多个索引的内容 在内部ElasticSearch会自动把别名映射到相应的索引上 可以对别名编写过滤器或者路由 xff0c 在系统中别名不能重复
  • matlab粒子群优化算法路径规划代码解读

    前言 粒子群算法是一种群智能优化算法 xff0c 该算法具有原理简单 易实现 控制参数较少等优点 xff0c 下面根据Yarpiz公司的matlab代码就其在路径规划中的应用进行简单的介绍 xff0c 以供读者更好的理解粒子群优化算法的实际
  • (转载)OpenWrt下把SD卡挂载到 /overlay ,扩大软件空间

    在wall内外搜索无数文章 xff0c 唯有这篇文章能够看得懂并奏效 xff0c 感谢作者 原文地址 xff1a https blog samnya cn mount sd card to overlay on openwrt 作者 xff
  • XTW100高速编程器WIN10驱动安装

    按照以下方法可以实现XTW100在WIN10系统下的驱动安装 xff0c 且不需禁用驱动强制签名 先去这个网站 xff1a https zadig akeo ie 下载这个软件件 xff1a zadig 2 5 exe 由于你懂的原因 xf
  • ffmpeg-python库的使用翻译(一)

    原文地址 xff1a https github com kkroening ffmpeg python xff0c 本文为google翻译 43 部分人工翻译 希望能对大家有用 ffmpeg python xff1a FFmpeg的Pyth
  • ffmpeg-python库的使用翻译(二)

    接上篇 ffmpeg python库的使用翻译 xff08 一 xff09 原文 xff1a https github com kkroening ffmpeg python tree master examples assemble vi
  • ffmpeg-python库的使用翻译(三)

    接上篇 ffmpeg python库的使用翻译 xff08 二 xff09 原文地址 xff1a https github com kkroening ffmpeg python blob master ffmpeg filters py
  • C语言中,利用宏定义一个字符串和字符数组定义的字符串其末尾都会自动添加\0字符

    C语言中 xff0c 利用宏定义一个字符串 define MYPHONE 34 AT 43 CMGS 34 字符数组的方式来定义一个字符串unsigned char SMS 61 34 HELLO WELCOME TO RCCTS 34 问
  • 串口卡住问题分析与解决

    对于消息类系统而言任何阻塞都会导致整个系统的消息被卡住造成系统假死的问题 今天来说说串口导致系统卡死的问题 1 问题说明 xff1a 路由器在挂机过程中 xff0c 偶现串口卡住 xff0c web页面进不去 xff0c 有限终端拿不到地址
  • HTTPS 协议到底比 HTTP 协议多些什么?

    来源 xff1a 公众号 杰哥的IT之旅 作者 xff1a 阿拉斯加 ID xff1a Jake Internet 原文地址 xff1a HTTPS 协议到底比 HTTP 协议多些什么 xff1f 大家好 xff0c 我是杰哥 最近卷了一篇
  • Python爬虫实战 | 利用多线程爬取 LOL 高清壁纸

    来源 xff1a 公众号 杰哥的IT之旅 作者 xff1a 阿拉斯加 ID xff1a Jake Internet 如需获取本文完整代码及 LOL 壁纸 xff0c 请为本文右下角点赞并添加杰哥微信 xff1a Hc220088 获取 一

随机推荐