0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Go語言、輕量級且開源的可視化路由追蹤命令行工具——NextTrace

dyquk4xk2p3d ? 來源:良許Linux ? 2023-04-17 14:16 ? 次閱讀

		

		


		

Linux 環(huán)境下,用于網(wǎng)絡(luò)管理的命令有很多。比如:ifconfig、ifup / ifdown、route、arp、netstat、ping、telnet、wget、nslookup 等等。除此之外,還有 traceroute 用來追蹤數(shù)據(jù)包到目標(biāo)主機(jī)間傳輸時的全部路徑,tracepath 用來追蹤顯示報(bào)文到達(dá)目的主機(jī)所經(jīng)過的路由信息。

那么,基于 traceroute 和 tracepath 命令,今天跟大家推薦一款基于 Go 語言、輕量級且開源的可視化路由追蹤命令行工具 —— NextTrace。

它基于 nexttrace 命令通過命令行顯示類似于 traceroute 清晰的路由信息。當(dāng)執(zhí)行完一條追蹤的路由信息時,會自動生成 MapTrace URL 也就是一個 HTML,通過瀏覽器訪問該 URL 支持以地圖或 3D 視角的方式可視化展示。

安裝也非常的簡單,由于我是通過 Linux 操作系統(tǒng)來體驗(yàn)的 NextTrace,可以執(zhí)行如下一鍵安裝腳本進(jìn)行自動安裝。

#Linux一鍵安裝腳本
bash<(curl?-Ls?https://raw.githubusercontent.com/sjlleo/nexttrace/main/nt_install.sh)

7accae2c-dce4-11ed-bfe3-dac502259ad0.png

GitHub 還提供了其他兩種方式的自動安裝命令,可參考:

#GHPROXY鏡像(國內(nèi)使用)
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 的參數(shù)

  • -h:幫助信息

  • -T:使用 TCP SYN 進(jìn)行路由追蹤(默認(rèn)端口為:80)

  • -U:使用 UDP SYN 進(jìn)行路由追蹤(默認(rèn)端口為:53)

  • -F:快速追蹤運(yùn)營商

  • -p:設(shè)置目的端口

  • -q:每跳探測的個數(shù)(默認(rèn)值:3)

  • --parallel-requests:設(shè)置并行請求數(shù),當(dāng)存在多條路由時,應(yīng)該為1(默認(rèn)值:18)

  • -m:設(shè)置最大 TTL 跳數(shù)(默認(rèn)值:30)

  • -d:選擇 IP 地理數(shù)據(jù)提供者(默認(rèn)值:LeoMoeAPI)

  • -n:不解析 IP 地址為域名

  • -a:始終將 IP 地址解析為域名

  • -P:根據(jù) ASN 和位置輸出 traceroute 路徑

  • -r:使用報(bào)告模式輸出

  • --dn42:DN42 模式

  • -o:將跟蹤結(jié)果寫入文件

  • -t:將跟蹤結(jié)果輸出為表

  • -c:經(jīng)典輸出跟蹤結(jié)果

  • -f:從第一個 TLL 跳數(shù)開始,而不是從 1 開始(默認(rèn)值:1)

  • -M:不打印跟蹤地圖

  • -v:打印版本信息并退出

  • -s:發(fā)送報(bào)文時使用 source src_addr

  • -D:在發(fā)送的報(bào)文中使用網(wǎng)絡(luò)設(shè)備作為源地址

  • -R:顯示路由表

  • -z:設(shè)置每個報(bào)文發(fā)送的時間間隔,當(dāng)某些路由對 ICMP 使用速率限制時有效(默認(rèn)值:100)

  • -i:使用 TTL 值設(shè)置報(bào)文組發(fā)送的時間間隔,當(dāng)某些路由對 ICMP 使用速率限制時有效(默認(rèn)值:500)

  • --_positionalArg_nexttrace_25:IP 地址或域名

  • --dot-server:使用 DOT 服務(wù)進(jìn)行 DNS 解析 [dnssb、aliyun、dnspod、google、cloudflare]

  • -g:選擇顯示的語言

NextTrace 的使用:

nexttrace 若不加任何參數(shù),則默認(rèn)使用 ICMP 協(xié)議發(fā)起路由追蹤請求,支持 IPv4 和 IPv6。

#IPv4ICMPTrace
nexttrace8.8.8.8

#IPv6ICMPTrace
nexttrace26064700::1111

7ad8c3ce-dce4-11ed-bfe3-dac502259ad0.png

nexttrace 支持域名的路由追蹤,會根據(jù)提示選擇要跟蹤路由的 IP。

#URL
nexttracehttps://api.leo.moe/

7aebd6f8-dce4-11ed-bfe3-dac502259ad0.png

nexttrace 支持快速測試

#測試 ISP 的路由:國內(nèi)四網(wǎng)、電信、聯(lián)通、移動、教育網(wǎng)、測試 IP 類型:IPv4 / IPv6 的 ICMP 快速測試
nexttrace-F

		

7b04c550-dce4-11ed-bfe3-dac502259ad0.gif

也可使用 TCP SYN 而非 ICMP 進(jìn)行測試

nexttrace-F-T

nexttrace 指定網(wǎng)卡進(jìn)行路由跟蹤

使用ens32網(wǎng)卡
nexttrace-Dens321.1.1.1

		

7b12d316-dce4-11ed-bfe3-dac502259ad0.png

#使用ens32網(wǎng)卡IP
#使用網(wǎng)卡IP進(jìn)行路由跟蹤時需要注意跟蹤的IP類型應(yīng)該和網(wǎng)卡IP類型一致(如都為IPv4nexttrace--source192.168.0.5114.114.114.114

		

7b1c8d16-dce4-11ed-bfe3-dac502259ad0.png

nexttrace 可以使用 TCP 和 UDP 協(xié)議發(fā)起 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 的一些進(jìn)階功能,比如:TTL 控制、并發(fā)數(shù)控制、模式切換等

#每一跳發(fā)送10個探測包
nexttrace-q10https://api.leo.moe/

#無并發(fā),每次只發(fā)送1個探測包
nexttrace--parallel-requests1https://api.leo.moe/

#從TTL為10開始發(fā)送探測包,直到TTL為20結(jié)束
nexttrace-f10-m20https://api.leo.moe/

#關(guān)閉IP反向解析功能
nexttrace-nhttps://api.leo.moe/

nexttrace 輸出結(jié)果為 Route-Path 圖

nexttrace-Phttps://api.leo.moe/

		

7b2c9d82-dce4-11ed-bfe3-dac502259ad0.png

將跟蹤結(jié)果輸出為表,可以使用--table-t參數(shù),實(shí)時顯示結(jié)果。

nexttrace--table202.108.23.50

7b39f572-dce4-11ed-bfe3-dac502259ad0.png

除上述的nexttrace用法之外,nexttrace 還可以支持用戶自主選擇 IP 地理數(shù)據(jù)庫,如[IP.SB,IPInfo,IPInsight,IP-API.com,Ip2region,IPInfoLocal,CHUNZHEN],還有多種混合參數(shù)和簡略參數(shù)的使用方法,可根據(jù)實(shí)際場景進(jìn)行運(yùn)用。

MapTrace URL 通過瀏覽器所展示出來的地圖效果:

7b45269a-dce4-11ed-bfe3-dac502259ad0.png

MapTrace URL 通過瀏覽器所展示出來的 3D 效果:

7b53b962-dce4-11ed-bfe3-dac502259ad0.png

不過話說,這種圖看上去很清晰,一目了然。在該頁面下右鍵還有放大、縮小地圖比例、顯示或隱藏路由表以及支持生成二維碼,通過手機(jī)掃描進(jìn)行查看。當(dāng)然了,左側(cè)的路由表顯示也并不是全部所追蹤到的路由信息,還請以命令行輸出的結(jié)果為準(zhǔn)。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209521
  • URL
    URL
    +關(guān)注

    關(guān)注

    0

    文章

    139

    瀏覽量

    15341
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1194

    瀏覽量

    20942

原文標(biāo)題:這款輕量級可視化路由追蹤的神器,太強(qiáng)了!

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    在STM32實(shí)現(xiàn)命令行

    工作中的開發(fā)環(huán)境都是基于linux命令行交互,作為命令行的重度使用者,玩單片機(jī)也要使用命令行工具,百度了一些命令行
    發(fā)表于 12-09 11:32 ?2411次閱讀

    Mini shell命令行調(diào)試工具的相關(guān)資料分享

    @mini shell命令行調(diào)試工具介紹Mini shell 命令行調(diào)試工具(單片機(jī)、c語言)Mini shell是一個特別適合低內(nèi)存的單片
    發(fā)表于 01-24 08:15

    caxa命令行中的應(yīng)用

    caxa命令行中的應(yīng)用 命令行對于大多用戶來說往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2299次閱讀

    Xilinx軟件命令行工具:XSCT開發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺。
    的頭像 發(fā)表于 11-21 06:02 ?1.4w次閱讀

    Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺。
    的頭像 發(fā)表于 11-22 06:53 ?6717次閱讀

    Git常見的誤區(qū)和命令行工具等綜述

    Git常見的誤區(qū)和命令行工具等綜述
    發(fā)表于 08-31 09:51 ?0次下載

    mini shell命令行調(diào)試工具(單片機(jī)、c語言

    @mini shell命令行調(diào)試工具介紹Mini shell 命令行調(diào)試工具(單片機(jī)、c語言)Mini shell是一個特別適合低內(nèi)存的單片
    發(fā)表于 11-29 10:21 ?10次下載
    mini shell<b class='flag-5'>命令行</b>調(diào)試<b class='flag-5'>工具</b>(單片機(jī)、c<b class='flag-5'>語言</b>)

    Golang基于flag庫實(shí)現(xiàn)一個命令行工具

    Golang 標(biāo)準(zhǔn)庫中的 flag 庫提供了解析命令行選項(xiàng)的能力,我們可以基于此來開發(fā)命令行工具。
    的頭像 發(fā)表于 10-28 09:26 ?1302次閱讀

    新的開源命令行工具west

    電子發(fā)燒友網(wǎng)站提供《新的開源命令行工具west.zip》資料免費(fèi)下載
    發(fā)表于 11-11 09:25 ?0次下載
    新的<b class='flag-5'>開源</b><b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    分享一個開源輕量級單片機(jī)命令行交互組件

    在進(jìn)行調(diào)試和維護(hù)時,常常需要與單片機(jī)進(jìn)行交互,獲取、設(shè)置某些參數(shù)或執(zhí)行某些操作,nr_micro_shell正是為滿足這一需求,針對資源較少的MCU編寫的基本命令行工具
    的頭像 發(fā)表于 01-29 10:43 ?1243次閱讀

    一款開源的全能可視化網(wǎng)絡(luò)路由追蹤工具

    nexttrace 是一個用 Go 語言編寫的高性能、輕量化的分布式追蹤系統(tǒng)。它是一個命令行工具
    的頭像 發(fā)表于 05-04 09:51 ?1731次閱讀
    一款<b class='flag-5'>開源</b>的全能<b class='flag-5'>可視化</b>網(wǎng)絡(luò)<b class='flag-5'>路由</b><b class='flag-5'>追蹤</b><b class='flag-5'>工具</b>

    介紹Go里面經(jīng)常使用到的命令行工具

    優(yōu)秀的工具配合熟練的使用,往往可以讓開發(fā)效率大幅度提升,本小節(jié)介紹 Go 里面經(jīng)常使用到的命令行工具
    的頭像 發(fā)表于 05-22 16:58 ?1298次閱讀
    介紹<b class='flag-5'>Go</b>里面經(jīng)常使用到的<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>

    PetaLinux工具文檔:命令行參考指南

    電子發(fā)燒友網(wǎng)站提供《PetaLinux工具文檔:命令行參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-15 14:52 ?0次下載
    PetaLinux<b class='flag-5'>工具</b>文檔:<b class='flag-5'>命令行</b>參考指南

    一個開源MCU級的命令行交互組件

    一個開源MCU級命令行交互組件~
    的頭像 發(fā)表于 10-17 16:26 ?440次閱讀
    一個<b class='flag-5'>開源</b>MCU級的<b class='flag-5'>命令行</b>交互組件

    idea如何輸入命令行參數(shù)

    在許多軟件開發(fā)和系統(tǒng)管理的任務(wù)中,我們經(jīng)常需要向應(yīng)用程序傳遞命令行參數(shù)。命令行參數(shù)是在運(yùn)行時傳遞給程序的值,用于指定程序的行為和配置選項(xiàng)。本文將詳細(xì)介紹如何在不同的編程語言和操作系統(tǒng)中輸入命令
    的頭像 發(fā)表于 12-06 15:01 ?1161次閱讀