這篇文章主要介紹“Linux基礎(chǔ)命令traceroute的用法”,在日常操作中,相信很多人在Linux基礎(chǔ)命令traceroute的用法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Linux基礎(chǔ)命令traceroute的用法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
10多年的興國(guó)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷(xiāo)的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整興國(guó)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“興國(guó)網(wǎng)站設(shè)計(jì)”,“興國(guó)網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
traceroute
traceroute指令輸出到目標(biāo)主機(jī)的路由包。Traceroute跟蹤從IP網(wǎng)絡(luò)到給定主機(jī)的路由數(shù)據(jù)包。它利用IP協(xié)議的生存時(shí)間(TTL)字段,并試圖在通往主機(jī)的路徑上從每個(gè)網(wǎng)關(guān)激發(fā)ICMP TIME_SUBERS響應(yīng)。
traceroute6等價(jià)于“traceroute -6”
唯一需要的參數(shù)是目標(biāo)主機(jī)的名稱(chēng)或IP地址。探測(cè)數(shù)據(jù)包的總大小(IPv 4默認(rèn)為60字節(jié),IPv 6為80字節(jié))是一個(gè)可選參數(shù)。在某些情況下,可以忽略指定的大小或?qū)⑵湓黾拥阶钚≈怠?/p>
該程序試圖跟蹤IP數(shù)據(jù)包將遵循的路由到某些Internet主機(jī),方法是使用一個(gè)小的ttl(生命時(shí)間)啟動(dòng)探測(cè)包,然后從網(wǎng)關(guān)偵聽(tīng)I(yíng)CMP“時(shí)間超過(guò)”的答復(fù)。我們以1開(kāi)頭,然后增加1,直到我們得到一個(gè)ICMP“端口不可達(dá)”(或TCP重置),這意味著我們到達(dá)了“主機(jī)”,或者達(dá)到了最大值(默認(rèn)為30跳)。在每個(gè)ttl設(shè)置處發(fā)送三個(gè)探針(默認(rèn)情況下),并打印一行,顯示每個(gè)探針的ttl、網(wǎng)關(guān)地址和往返時(shí)間。在請(qǐng)求時(shí),可以在地址之后添加其他信息。如果探測(cè)答案來(lái)自不同的網(wǎng)關(guān),則將打印每個(gè)響應(yīng)系統(tǒng)的地址。如果在5.0秒(默認(rèn))內(nèi)沒(méi)有響應(yīng),則會(huì)為該探針打印一個(gè)“*”(星號(hào))。
追蹤結(jié)束后,可以打印一些附加注釋?zhuān)?!h、!n或!P(主機(jī)、網(wǎng)絡(luò)或協(xié)議不可達(dá))、!s(源路由失敗)、!F(所需碎片化)、!X(管理上禁止通信)、!v(主機(jī)優(yōu)先級(jí)沖突)、!C(有效的優(yōu)先截止),或!<num>(ICMP不可達(dá)代碼<num>)。如果幾乎所有的探測(cè)器都導(dǎo)致某種無(wú)法到達(dá)的情況,Traceroute就會(huì)放棄并退出。
我們不希望目標(biāo)主機(jī)處理UDP探測(cè)包,因此目標(biāo)端口被設(shè)置為一個(gè)不太可能的值(您可以使用-p標(biāo)志更改它)。ICMP或TCP跟蹤不存在這樣的問(wèn)題(對(duì)于TCP,我們使用半開(kāi)放技術(shù),這樣可以防止目標(biāo)主機(jī)上的應(yīng)用程序看到我們的探測(cè))。
在現(xiàn)代網(wǎng)絡(luò)環(huán)境下,由于防火墻的廣泛應(yīng)用,傳統(tǒng)的traceroute方法并不總是適用的。這樣的防火墻過(guò)濾“不太可能”的UDP端口,甚至ICMP回音。為了解決這個(gè)問(wèn)題,還實(shí)現(xiàn)了一些額外的跟蹤方法
此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
2、 語(yǔ)法
traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…] [-i device] [-m max_ttl] [-p port] [-s src_addr]
[-q nqueries] [-N squeries] [-t tos] [-l flow_label] [-w waittime] [-z sendwait]
[-UL] [-P proto] [--sport=port] [-M method] [-O mod_options] [--mtu] [--back] host [packet_len]
2、選項(xiàng)列表
選項(xiàng) | 說(shuō)明 |
--help | 顯示幫助信息 |
-V | --version | 顯示版本信息 |
-4 | -6 | 顯式強(qiáng)制IPv4或IPv6跟蹤。默認(rèn)情況下,程序?qū)L試解析給定的名稱(chēng),并自動(dòng)選擇適當(dāng)?shù)膮f(xié)議。如果解析主機(jī)名同時(shí)返回ipv4和ipv6地址,traceroute將使用ipv4。 |
-I | 使用ICMP進(jìn)行路由探測(cè) |
-T | 使用TCP協(xié)議的SYN進(jìn)行路由探測(cè) |
-d | 是能socket調(diào)試功能 |
-f first_ttl | 指定第一個(gè)數(shù)據(jù)包的TTL,默認(rèn)是1 |
-F | 不使用碎片 |
-g gateway | 告訴Traceroute將IP源路由選項(xiàng)添加到傳出數(shù)據(jù)包,該數(shù)據(jù)包通知網(wǎng)絡(luò)通過(guò)指定網(wǎng)關(guān)路由數(shù)據(jù)包(大多數(shù)路由器出于安全原因禁用了源路由)。通常,允許多個(gè)網(wǎng)關(guān)(逗號(hào)分隔)。對(duì)于IPv 6,num,addr,addr.允許使用,其中num是路由標(biāo)頭類(lèi)型(默認(rèn)為類(lèi)型2)。注意,0類(lèi)型的路由頭現(xiàn)在已不再推薦使用(Rfc 5095) |
-i interface | 指定網(wǎng)絡(luò)接口 |
-m max_ttl | 指定最大ttl,默認(rèn)30 |
-N squeries | 指定同時(shí)發(fā)送的探測(cè)數(shù)據(jù)包的數(shù)量。同時(shí)發(fā)送幾個(gè)探針可以大大加快示蹤速度。默認(rèn)值為16。 |
-n | 使用ip地址,不使用hostname |
-p port | 指定UDP端口 |
-t tos | 對(duì)于IPv 4,設(shè)置服務(wù)類(lèi)型(TOS)和優(yōu)先級(jí)值。有用的值是16(低延遲)和8(高吞吐量)。注意,為了使用一些TOS優(yōu)先級(jí)值,您必須是超級(jí)用戶(hù)。對(duì)于IPv 6,設(shè)置流量控制值。 |
-w waittime | 指定等待應(yīng)答的時(shí)間,默認(rèn)5s |
-q nqueries | 設(shè)置每個(gè)跳的探測(cè)數(shù)據(jù)包數(shù)。默認(rèn)為3 |
-r | 忽略正常的路由表 |
-s | 指定發(fā)送數(shù)據(jù)包的ip地址 |
-z | 探測(cè)之間的最小時(shí)間間隔(默認(rèn)為0)。如果值大于10,則它指定一個(gè)以毫秒為單位的數(shù)字,否則為秒數(shù)(浮點(diǎn)值也允許)。當(dāng)某些路由器對(duì)icmp消息使用速率限制時(shí)非常有用。 |
-e | 顯示ICMP擴(kuò)展(Rfc 4884)。一般形式是類(lèi)/類(lèi)型:后面是十六進(jìn)制轉(zhuǎn)儲(chǔ)。MPLS(Rfc 4950)以一種形式顯示出來(lái)“MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL” |
-A | 在路由注冊(cè)表中執(zhí)行路徑查找,并在相應(yīng)地址之后直接打印結(jié)果。 |
高級(jí)選項(xiàng) | |
--sport=port | 選擇要使用的源端口 |
-M method | 對(duì)traceroute操作使用指定的方法。默認(rèn)的傳統(tǒng)UDP方法有名稱(chēng)Default,ICMP(-I)和TCP(-T)分別有ICMP和TCP。特定于方法的選項(xiàng)可以通過(guò)-O傳遞。 |
-O option | 指定一些特定于方法的選項(xiàng)。幾個(gè)選項(xiàng)用逗號(hào)分隔(或在cmdline上使用多個(gè)-O)。每種方法都可能有自己的特定選項(xiàng),或者許多方法根本沒(méi)有它們 |
-U | 使用UDP對(duì)特定的目標(biāo)端口進(jìn)行跟蹤(而不是增加每個(gè)探針的端口)。默認(rèn)端口為53(DNS) |
-UL | 使用UDPLITE追蹤 |
-P protocol | 使用指定協(xié)議的原始數(shù)據(jù)包進(jìn)行跟蹤。默認(rèn)協(xié)議為253(Rfc 3692)。 |
--mtu | 沿著被追蹤的路徑發(fā)現(xiàn)MTU |
--back | 打印后跳數(shù)時(shí),它似乎與前進(jìn)方向不同。在假定遠(yuǎn)程跳發(fā)送初始ttl設(shè)置為64、128或255(這似乎是一種常見(jiàn)的做法)的情況下,猜測(cè)了這個(gè)數(shù)字。它以“-NUM”的形式打印為否定值。 |
3、可用的方法method
通常,特定的traceroute方法可能必須由-M名稱(chēng)來(lái)選擇,但是大多數(shù)方法都有它們簡(jiǎn)單的命令行開(kāi)關(guān)(如果存在,您可以在方法名稱(chēng)之后看到它們)。
method | 說(shuō)明 |
default | 傳統(tǒng)的、古老的追蹤方法。默認(rèn)使用。 探測(cè)包是具有所謂“不可能”目標(biāo)端口的UDP數(shù)據(jù)報(bào)。第一個(gè)探針的“不可能”端口是33434,然后每個(gè)下一個(gè)探針的端口增加一個(gè)。由于預(yù)期端口未使用,目標(biāo)主機(jī)通常返回“ICMP不可訪(fǎng)問(wèn)端口”作為最終響應(yīng)。(但是,沒(méi)有人知道當(dāng)某些應(yīng)用程序偵聽(tīng)這樣的端口時(shí)會(huì)發(fā)生什么)。 這個(gè)方法普通用戶(hù)就可以使用。 |
icmp -I | 目前最常用的方法是使用ICMP回波數(shù)據(jù)包作為探針。如果您可以ping(8)目標(biāo)主機(jī),則icmp跟蹤也適用。 |
tcp -T | 眾所周知的現(xiàn)代方法,旨在繞過(guò)防火墻。使用常量目標(biāo)端口(默認(rèn)為80,http)。 如果網(wǎng)絡(luò)路徑中存在一些過(guò)濾器,那么很可能任何“不太可能”的UDP端口(對(duì)于默認(rèn)方法而言)或甚至ICMP回波(對(duì)于ICMP)都會(huì)被過(guò)濾,并且整個(gè)跟蹤只會(huì)在這樣的防火墻上停止。要繞過(guò)網(wǎng)絡(luò)過(guò)濾器,我們必須只使用允許的協(xié)議/端口組合。如果我們追蹤一些,比如說(shuō),郵件服務(wù)器,那么更有可能“-T –p 25”可以到達(dá)它,即使-我不能。 這種方法使用了眾所周知的“半開(kāi)放技術(shù)”,它可以防止目標(biāo)主機(jī)上的應(yīng)用程序看到我們的探測(cè)。通常,發(fā)送TCP syn。對(duì)于未被監(jiān)聽(tīng)的端口,我們接收TCP重置,一切都完成了。對(duì)于活動(dòng)偵聽(tīng)端口,我們接收TCP syn ack,但通過(guò)TCP重置(而不是預(yù)期的TCP ack)應(yīng)答,這樣即使應(yīng)用程序從未注意到,遠(yuǎn)程TCP會(huì)話(huà)也會(huì)被刪除。 這個(gè)方法有以下的一些選項(xiàng),默認(rèn)的是syn、sysctl syn,ack,fin,rst,psh,urg,ece,cwr,在任意組合中為探測(cè)包設(shè)置指定的tcp標(biāo)志。 flags=num,將TCP標(biāo)頭中的標(biāo)志字段設(shè)置為num。 ecn,發(fā)送帶有TCP標(biāo)志ECA和CWR的syn數(shù)據(jù)包(用于顯式擁塞通知,rfc 3168) sack,timestamps,window_scaling,在傳出探測(cè)包中使用相應(yīng)的tcp標(biāo)頭選項(xiàng)。 sysctl,對(duì)上面的TCP頭選項(xiàng)和ecn使用當(dāng)前sysctl(“/proc/sys/net/*”)設(shè)置。默認(rèn)情況下始終設(shè)置,如果沒(méi)有其他指定的話(huà) mss=num,對(duì)maxseg tcp報(bào)頭選項(xiàng)使用num值(當(dāng)syn) |
tcpconn | TCP方法的初始實(shí)現(xiàn),簡(jiǎn)單使用CONNECT(2)調(diào)用,完成TCP會(huì)話(huà)的完全打開(kāi) |
udp -U | 使用帶有常量目標(biāo)端口的UDP數(shù)據(jù)報(bào)(默認(rèn)為53,DNS)。也打算繞過(guò)防火墻。 注意,與TCP方法不同的是,目標(biāo)主機(jī)上的相應(yīng)應(yīng)用程序總是接收我們的探測(cè)(帶有隨機(jī)數(shù)據(jù)),而且大多數(shù)都很容易被它們混淆。但是,大多數(shù)情況下,它不會(huì)響應(yīng)我們的數(shù)據(jù)包,因此我們永遠(yuǎn)不會(huì)看到跟蹤中的最后一跳。(幸運(yùn)的是,似乎至少DNS服務(wù)器會(huì)以憤怒的方式回復(fù))。 此方法不需要特權(quán)。 |
udplite -UL | 對(duì)探針使用udplite數(shù)據(jù)報(bào)(具有固定的目標(biāo)端口,默認(rèn)為53),此方法不需要特權(quán)。選項(xiàng): coverage=num,設(shè)置udplite范圍num。 |
raw -P proto | 發(fā)送協(xié)議原始數(shù)據(jù)包。選項(xiàng): protocol=proto,使用IP協(xié)議Proto(默認(rèn)253) |
4、說(shuō)明
為了加速工作,通常同時(shí)發(fā)送幾個(gè)探測(cè)器。另一方面,它制造了一個(gè)“包裹風(fēng)暴”,特別是在回復(fù)方向。路由器可以節(jié)流ICMP響應(yīng)的速率,有些應(yīng)答可能會(huì)丟失。為了避免這種情況,減少同步探測(cè)的數(shù)量,甚至將其設(shè)置為1(類(lèi)似于最初的traceroute實(shí)現(xiàn)),即-N1。
最終(目標(biāo))主機(jī)可以丟棄一些同時(shí)進(jìn)行的探測(cè),甚至可能只回答最新的探測(cè)。它可以導(dǎo)致額外的“看上去像過(guò)期”啤酒花接近最后一跳。我們使用智能算法來(lái)自動(dòng)檢測(cè)這種情況,但如果在您的情況下它無(wú)法幫助,只需使用-N1。
為了獲得更好的穩(wěn)定性,您可以通過(guò)-z選項(xiàng)來(lái)減緩程序的工作速度,例如,在探測(cè)之間使用“-z 0.5”進(jìn)行半秒暫停。
如果有些跳對(duì)每種方法都沒(méi)有任何報(bào)告,那么獲得某些信息的最后機(jī)會(huì)是使用“ping -R”命令(ipv4,并且僅對(duì)最近的8跳)。
5、實(shí)例
追蹤到baidu的路由信息
|
到此,關(guān)于“Linux基礎(chǔ)命令traceroute的用法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
網(wǎng)站標(biāo)題:Linux基礎(chǔ)命令traceroute的用法
鏈接分享:http://redsoil1982.com.cn/article22/jhedjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、Google、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)