fkx4-p / nexttrace

An open source visual route tracking CLI tool

Home Page:https://trace.ac

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NextTrace Logo

NextTrace Lite

Document Language: English | 简体中文

An open source visual routing tool that pursues light weight, developed using Golang.

NextTrace has a total of 2 versions, focusing on the lightweight Lite version and the more enthusiast-oriented Enhanced version.

How To Use

Automated Install

# Linux one-click install script
bash <(curl -Ls https://raw.githubusercontent.com/xgadget-lab/nexttrace/main/nt_install.sh)

# macOS brew install command
brew tap xgadget-lab/nexttrace && brew install nexttrace
  • Release provides compiled binary executable files for many systems and different architectures, if not, you can compile it yourself.
  • Some of the necessary dependencies of this project are not fully implemented in Golang on Windows, so currently NextTrace is not available on Windows platform.

Get Started

NextTrace uses the ICMP protocol to initiate TraceRoute requests by default, which supports both IPv4 and IPv6

# IPv4 ICMP Trace
nexttrace 1.0.0.1

# Form printing (output all hops at one time, wait 20-40 seconds)
nexttrace -table 1.0.0.1

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

NextTrace now supports quick testing (for Chinese Users), and friends who have a one-time test backhaul routing requirement can use it

# IPv4 ICMP Fast Test (Beijing + Shanghai + Guangzhou + Hangzhou) in China Telecom / Unicom / Mobile / Education Network
nexttrace -f

# You can also use TCP SYN for testing
nexttrace -f -T

NextTrace can also use TCP and UDP protocols to initiate Traceroute requests, but currently only supports IPv4

# TCP SYN Trace
nexttrace -T www.bing.com

# You can specify the port by yourself [here is 443], the default port is 80
nexttrace -T -p 443 1.0.0.1

# UDP Trace
nexttrace -U 1.0.0.1

nexttrace -U -p 53 1.0.0.1

NextTrace also supports some advanced functions, such as IP reverse resolution, concurrency control, mode switching, etc.

# Send 2 probe packets per hop
nexttrace -q 2 www.hkix.net

# No concurrency, only one probe packet is sent at a time
nexttrace -r 1 www.hkix.net

# Turn on the IP reverse resolution function, which is very helpful in positioning the IPv6 backbone network
nexttrace -rdns www.bbix.net

# Feature: print Route-Path diagram
# Route-Path diagram example:
# AS6453 Tata Communication「Singapore『Singapore』」
#  ╭╯
#  ╰AS9299 Philippine Long Distance Telephone Co.「Philippines『Metro Manila』」
#  ╭╯
#  ╰AS36776 Five9 Inc.「Philippines『Metro Manila』」
#  ╭╯
#  ╰AS37963 Aliyun「ALIDNS.COM『ALIDNS.COM』」
nexttrace -report www.time.com.my

NextTrace supports users to choose their own IP API (currently: LeoMoeAPI, IP.SB, IPInfo, IPInsight, IPAPI.com)

# You can specify the IP database by yourself [IP.SB here], if not specified, the default is LeoMoeAPI
nexttrace -d IP.SB
## Special: The ipinfo API needs to purchase services from ipinfo. If necessary, you can clone this project and add the token provided by it to compile it yourself
## TOKEN fill in the path: ipgeo/tokens.go
## In addition: Due to the serious abuse of IP.SB, there will often be problems that cannot be queried, please be aware.
## IPAPI.com restricts calls more strictly, if you can't find it, please try again in a few minutes.

NextTrace supports parameter mixing

Example:
nexttrace -d IPInsight -m 20 -p 443 -q 5 -r 20 -rdns 1.1.1.1
nexttrace -T -q 2 -r 1 -rdns -table -report 2001:4860:4860::8888

IP Database

The currently used IP database defaults to our own API service. If we encounter abuse later, we may choose to close it.

We will also open the source code of the server in the later stage, and you can also build your own API server according to the source code of the project.

All NextTrace IP geolocation API DEMO can refer to here

For full usage, please refer to the Usage menu

Usage of nexttrace:
      'nexttrace [options] <hostname>' or 'nexttrace <hostname> [option...]'
Options:
  -T    Use TCP SYN for tracerouting (default port is 80)
  -U    Use UDP Package for tracerouting (default port is 53 in UDP)
  -V    Check Version
  -d string
        Choose IP Geograph Data Provider [LeoMoeAPI, IP.SB, IPInfo, IPInsight, IPAPI.com] (default "LeoMoeAPI")
  -m int
        Set the max number of hops (max TTL to be reached). (default 30)
  -p int
        Set SYN Traceroute Port (default 80)
  -q int
        Set the number of probes per each hop. (default 3)
  -r int
        Set ParallelRequests number. It should be 1 when there is a multi-routing. (default 18)
  -rdns
        Set whether rDNS will be display
  -table
        Output trace results as table
  -report
        Route Path

Project screenshot

NextTrace Screenshot

NextTrace Enhanced

NextTrace Enhanced is an enhanced version for enthusiasts, Enhanced provides trace route calls in the form of Web API, and a simple Looking Glass webpage with built-in visualization.

The Enhanced version supports many functions that the lite version does not have, such as the ability to customize the timeout period, and the ability to specify TTL as the starting point for route tracking, etc. For ordinary users, the lite version is usually enough to complete most of the needs.

https://github.com/OwO-Network/nexttrace-enhanced

FAQ Frequently Asked Questions

If you have problems installing or using it, we recommend that you do not create an issue as a preference

Here is our recommended troubleshooting process:

  1. Check if it is a FAQ -> Go to Github Wiki
  2. Suspected bug, or feature suggestion -> Go to Github Issues

Thanks

Vincent Young (i@yyt.moe)

Sam Sam (samsam123@samsam123.name.my)

tsosunchia

waiting4new

FFEE_CO

IP Database Copyright

IPv4 Database

China

ISP Type Data Source Proportion
China Telecom/Unicom/Mobile Backbone Internet Enthusiasts 10%
China Telecom/Unicom/Mobile Local Avon Technology 90%

WorldWide

ISP Type Data Source Proportion
Tier-01 Backbone IPInfo 2%
Tier-01 Backbone Avon Technology 3%
Tier-01 Backbone IPInSight 5%
Tier-01 Local IPInSight 90%
ISP Type Data Source Proportion
Others Backbone IPInSight 5%
Others Local IPInSight 95%

IPv6 Database

ISP Type Data Source Proportion
All All IP2Location Lite 100%

This product includes IP2Location LITE data available from https://lite.ip2location.com.

Others

Although other third-party APIs are integrated in this project, please refer to the official website of the third-party API for the specific TOS and AUP. If you encounter IP data errors, please contact them directly to correct them.

About

An open source visual route tracking CLI tool

https://trace.ac

License:GNU General Public License v3.0


Languages

Language:Go 92.8%Language:Shell 7.2%