7.4 KiB
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
Releaseprovides 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
GolangonWindows, so currentlyNextTraceis not available onWindowsplatform.
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 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:
- Check if it is a FAQ -> Go to Github Wiki
- Suspected bug, or feature suggestion -> Go to Github Issues
Thanks
Sam Sam (samsam123@samsam123.name.my)
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.

