在 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)
#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
nexttrace 支持域名的路由追蹤,會根據提示選擇要跟蹤路由的 IP。
#URL
nexttracehttps://api.leo.moe/
nexttrace 支持快速測試
#測試 ISP 的路由:國內四網、電信、聯通、移動、教育網、測試 IP 類型:IPv4 / IPv6 的 ICMP 快速測試
nexttrace-F
也可使用 TCP SYN 而非 ICMP 進行測試
nexttrace-F-T
nexttrace 指定網卡進行路由跟蹤
使用ens32網卡
nexttrace-Dens321.1.1.1
#使用ens32網卡IP
#使用網卡IP進行路由跟蹤時需要注意跟蹤的IP類型應該和網卡IP類型一致(如都為IPv4)
nexttrace--source192.168.0.5114.114.114.114
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/
將跟蹤結果輸出為表,可以使用--table
或-t
參數,實時顯示結果。
nexttrace--table202.108.23.50
除上述的nexttrace用法之外,nexttrace 還可以支持用戶自主選擇 IP 地理數據庫,如[IP.SB,IPInfo,IPInsight,IP-API.com,Ip2region,IPInfoLocal,CHUNZHEN],還有多種混合參數和簡略參數的使用方法,可根據實際場景進行運用。
MapTrace URL 通過瀏覽器所展示出來的地圖效果:
MapTrace URL 通過瀏覽器所展示出來的 3D 效果:
不過話說,這種圖看上去很清晰,一目了然。在該頁面下右鍵還有放大、縮小地圖比例、顯示或隱藏路由表以及支持生成二維碼,通過手機掃描進行查看。當然了,左側的路由表顯示也并不是全部所追蹤到的路由信息,還請以命令行輸出的結果為準。
審核編輯 :李倩
-
Linux
+關注
關注
87文章
11292瀏覽量
209335 -
URL
+關注
關注
0文章
139瀏覽量
15328 -
可視化
+關注
關注
1文章
1194瀏覽量
20934
原文標題:這款輕量級可視化路由追蹤的神器,太強了!
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論