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.
# 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
onWindows
, so currentlyNextTrace
is not available onWindows
platform.
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
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
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
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
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:
- Check if it is a FAQ -> Go to Github Wiki
- Suspected bug, or feature suggestion -> Go to Github Issues
Vincent Young ([email protected])
ISP | Type | Data Source | Proportion |
---|---|---|---|
China Telecom/Unicom/Mobile | Backbone | Internet Enthusiasts | 10% |
China Telecom/Unicom/Mobile | Local | Avon Technology | 90% |
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% |
ISP | Type | Data Source | Proportion |
---|---|---|---|
All | All | IP2Location Lite | 100% |
This product includes IP2Location LITE data available from https://lite.ip2location.com.
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.