日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

traceroute基本原理_实践与认识的相关原理

發(fā)布時(shí)間:2023/12/19 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 traceroute基本原理_实践与认识的相关原理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

*本文原創(chuàng)作者:ArkTeam/YSYY,轉(zhuǎn)載須注明來(lái)自FreeBuf.COM

一、路由追蹤程序traceroute/tracert

Traceroute是Linux和Mac OS等系統(tǒng)默認(rèn)提供的路由追蹤小程序,Tracert是Windows系統(tǒng)默認(rèn)提供的路由追蹤小程序。二者的功能相同,都能探測(cè)數(shù)據(jù)包從源地址到目的地址經(jīng)過(guò)的路由器的IP地址。Traceroute/Tracert的實(shí)現(xiàn)都借助了TTL:通過(guò)向目的地址發(fā)送一系列的探測(cè)包,設(shè)置探測(cè)包的TTL初始值分別為1,2,3…,根據(jù)返回的超時(shí)通知(ICMP Time Exceeded Message)得到源地址與目的地址之間的每一跳路由信息。雖然兩者輸出結(jié)果一致,但在實(shí)現(xiàn)原理上還有著顯著的差別。

二、Traceroute實(shí)現(xiàn)原理

1. 從源地址發(fā)出一個(gè)UDP探測(cè)包到目的地址,并將TTL設(shè)置為1;

2. 到達(dá)路由器時(shí),將TTL減1;

3. 當(dāng)TTL變?yōu)?時(shí),包被丟棄,路由器向源地址發(fā)回一個(gè)ICMP超時(shí)通知(ICMP Time Exceeded Message),內(nèi)含發(fā)送IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址;

4. 當(dāng)源地址收到該ICMP包時(shí),顯示這一跳路由信息;

5. 重復(fù)1~5,并每次設(shè)置TTL加1;

6. 直至目標(biāo)地址收到探測(cè)數(shù)據(jù)包,并返回端口不可達(dá)通知(ICMP Port Unreachable);

7. 當(dāng)源地址收到ICMP Port Unreachable包時(shí)停止traceroute。

注:

1. Linux和Mac OS等系統(tǒng)使用UDP包進(jìn)行探測(cè),目標(biāo)端口號(hào)默認(rèn)為33434,每次探測(cè)目標(biāo)端口號(hào)加1。Traceroute故意使用了一個(gè)大于 30000 的目標(biāo)端口號(hào),以保證目標(biāo)地址收到數(shù)據(jù)包后能夠返回一個(gè)“端口不可達(dá)”的 ICMP 報(bào)文,于是源地址就可將端口不可達(dá)報(bào)文當(dāng)作跟蹤結(jié)束的標(biāo)志。

2.Traceroute每跳默認(rèn)發(fā)送3個(gè)探測(cè)包(發(fā)包的數(shù)量可通過(guò)-q進(jìn)行設(shè)置),探測(cè)包的返回會(huì)受到網(wǎng)絡(luò)情況的影響。如果防火墻封掉了ICMP的返回信息,那么相應(yīng)的延時(shí)位置會(huì)以*顯示。如果某臺(tái)網(wǎng)關(guān)阻塞或者某臺(tái)DNS出現(xiàn)問(wèn)題,那么相應(yīng)行的延時(shí)會(huì)變長(zhǎng)。可以加-n 參數(shù)來(lái)避免DNS解析,以IP格式輸出數(shù)據(jù)。

3.每個(gè)探測(cè)包都有唯一的標(biāo)識(shí)號(hào),使得Traceroute能夠識(shí)別返回的包。UDP數(shù)據(jù)包使用遞增的目標(biāo)端口號(hào)進(jìn)行標(biāo)識(shí)。

三、Tracert實(shí)現(xiàn)原理

1. 從源地址發(fā)出一個(gè)ICMP請(qǐng)求回顯(ICMP Echo Request)數(shù)據(jù)包到目的地址,并將TTL設(shè)置為1;

2. 到達(dá)路由器時(shí),將TTL減1;

3. 當(dāng)TTL變?yōu)?時(shí),包被丟棄,路由器向源地址發(fā)回一個(gè)ICMP超時(shí)通知(ICMP Time Exceeded Message),內(nèi)含發(fā)送IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址;

4. 當(dāng)源地址收到該ICMP包時(shí),顯示這一跳路由信息;

5. 重復(fù)1~5,并每次設(shè)置TTL加1;

6. 直至目標(biāo)地址收到探測(cè)數(shù)據(jù)包,并返回ICMP回應(yīng)答復(fù)(ICMPEcho Reply);

7. 當(dāng)源地址收到ICMP Echo Reply包時(shí)停止tracert。

注:

1.Windows系統(tǒng)使用ICMP請(qǐng)求回顯(ICMP Echo Request)數(shù)據(jù)包進(jìn)行探測(cè),源地址以目的地址返回的ICMP回應(yīng)答復(fù)(ICMP Echo Reply)作為跟蹤結(jié)束標(biāo)志。

2.Traceroute每跳默認(rèn)發(fā)送3個(gè)探測(cè)包。在未能到達(dá)路由器或未返回ICMP超時(shí)通知的情況下,相應(yīng)的延時(shí)位置會(huì)以*顯示。

3.每個(gè)探測(cè)包都有唯一的標(biāo)識(shí)號(hào),ICMP數(shù)據(jù)包使用seq進(jìn)行標(biāo)識(shí)。

四、Wireshark抓包解析

本次實(shí)驗(yàn)通過(guò)追蹤本機(jī)到達(dá)www.baidu.com所經(jīng)過(guò)的路由信息,并使用Wireshark抓取數(shù)據(jù)包進(jìn)行簡(jiǎn)要分析來(lái)驗(yàn)證traceroute和tracert的實(shí)現(xiàn)原理。

1.Linux/Mac OS——traceroute

1Mac OS

traceroutewww.baidu.com。

如圖,Traceroute能夠顯示到達(dá)目的地址所需的跳數(shù)、經(jīng)過(guò)的路由器的IP地址、延時(shí)、丟包情況等信息。第一跳為10.203.4.225,第二跳為10.2.30.1,第三跳為10.2.1.1;每條記錄輸出3個(gè)延時(shí)結(jié)果,說(shuō)明源地址每次默認(rèn)發(fā)送三個(gè)數(shù)據(jù)包;在11條記錄只有1個(gè)延時(shí)結(jié)果,說(shuō)明源地址只收到了1個(gè)ICMP超時(shí)通知消息。

如圖,源地址10.203.4.244向目的地址119.75.218.70發(fā)送UDP數(shù)據(jù)包,每跳默認(rèn)發(fā)送3個(gè),TTL設(shè)置為1;數(shù)據(jù)包遇到路由器之后,被丟棄,返回Time tolive exceeded超時(shí)通知,解析出路由器IP地址10.203.4.225。源地址再發(fā)數(shù)據(jù)包,設(shè)置TTL=2,從而解析出第二跳路由10.2.30.1。同理,解析出第三跳路由10.2.1.1。與終端顯示的信息相符。

從圖中還可以看出,數(shù)據(jù)包目標(biāo)端口號(hào)從33435開(kāi)始并且每次加1,traceroute能夠通過(guò)UDP數(shù)據(jù)包遞增的目標(biāo)端口號(hào)來(lái)唯一識(shí)別返回的包。

如圖,第11跳的61.51.113.202路由只返回了一個(gè)ICMP超時(shí)通知,與終端顯示的信息相符。

如圖,TTL=34時(shí),ICMP數(shù)據(jù)包中Type=3(Destination unreachable),Code=3(Port unreachable),說(shuō)明目的地址向源地址發(fā)送了端口不可達(dá)通知(ICMP Port Unreachable),表示數(shù)據(jù)包到達(dá)目的地址。

(2)Linux

traceroutewww.baidu.com。

Linux系統(tǒng)下的抓包解析與Mac OS類似。

2.Windows——tracert

tracertwww.baidu.com。

如圖,第一跳為10.8.160.1,第二跳為10.0.14.1,第三跳為10.0.4.41;每條記錄輸出3個(gè)延時(shí)結(jié)果,說(shuō)明源地址每次默認(rèn)發(fā)送三個(gè)數(shù)據(jù)包;在第6條記錄只有2個(gè)延時(shí)結(jié)果,說(shuō)明源地址只收到了2個(gè)ICMP超時(shí)通知消息;數(shù)據(jù)包從源地址經(jīng)過(guò)15跳之后到達(dá)目的地址。

如圖,源地址10.8.169.32向目的地址220.181.111.188發(fā)送ICMP請(qǐng)求回顯(ICMP Echo Request)數(shù)據(jù)包,每跳默認(rèn)發(fā)送3個(gè),TTL設(shè)置為1;數(shù)據(jù)包遇到路由器之后,被丟棄,返回Time tolive exceeded超時(shí)通知,解析出路由器IP地址10.8.160.1。源地址再發(fā)數(shù)據(jù)包,設(shè)置TTL=2,從而解析出第二跳路由10.0.14.1和10.0.14.5。同理,解析出第三跳路由10.0.4.41。與終端顯示的信息相符。

從圖中還可以看出,數(shù)據(jù)包從seq=142開(kāi)始每次加1,tracert能夠通過(guò)seq來(lái)唯一識(shí)別返回的包。

如圖,seq=157的數(shù)據(jù)包沒(méi)有得到路由器172.16.7.1的超時(shí)通知消息,因此第6跳只有兩個(gè)延時(shí)結(jié)果,與終端顯示的信息相符。

如圖,TTL=15時(shí),源地址收到了目的地址的ICMP回應(yīng)答復(fù)(ICMP Echo Reply),說(shuō)明源地址經(jīng)過(guò)了15跳到達(dá)目的地址,與終端顯示信息相符。

五、The Great Cannon案例

2015年3月26日開(kāi)始,因某些眾所周知的原因,GitHub遭到其網(wǎng)站歷史上最大規(guī)模DDoS攻擊。瑞典網(wǎng)絡(luò)安全公司Netresec通過(guò)查看數(shù)據(jù)包中的TTL值斷定這是一起中間人攻擊事件。在此過(guò)程中,他們借助了路由追蹤程序traceroute/tracert的實(shí)現(xiàn)原理。首先建立一個(gè)正常的連接,確保數(shù)據(jù)包能夠到達(dá)目標(biāo)機(jī)器。然后依次發(fā)送TTL值為1,2,3…的HTTP請(qǐng)求。若數(shù)據(jù)包沒(méi)有到達(dá)中間人設(shè)備,則不會(huì)出現(xiàn)HTTP響應(yīng);若數(shù)據(jù)包到達(dá)中間人設(shè)備,則會(huì)出現(xiàn)HTTP響應(yīng),然后只需在出現(xiàn)HTTP響應(yīng)時(shí),查看請(qǐng)求數(shù)據(jù)包設(shè)置初始TTL值即可。

安全人員根據(jù)下圖發(fā)現(xiàn)中間人設(shè)備潛伏在11和12跳之間。Web請(qǐng)求中 TTL 值為11的時(shí)候數(shù)據(jù)包沒(méi)有響應(yīng),而TTL值為12的時(shí)候,返回了正常響應(yīng)。

六、小結(jié)

Traceroute/tracert路由追蹤程序是用來(lái)追蹤數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)主機(jī)所經(jīng)過(guò)的路由信息的重要工具,雖然路由追蹤效果一致,但實(shí)現(xiàn)原理略有不同:前者借助UDP協(xié)議,后者借助ICMP協(xié)議。此外,利用TTL追蹤攻擊主機(jī)的位置,也為我們提供了新的思路。

參考資料

[1]http://www.cnblogs.com/peida/archive/2013/03/07/2947326.html

[2]http://www.dearda.com/index.php/archives/1361

[3]https://translate.google.com/translatehl=zh-CN&sl=en&u=https://technet.microsoft.com/en-us/library/cc940128.aspx&prev=search

[4]http://www.freebuf.com/news/topnews/63148.html

[5]https://blog.gesha.net/archives/499/

*本文原創(chuàng)作者:ArkTeam/YSYY,轉(zhuǎn)載須注明來(lái)自FreeBuf.COM

總結(jié)

以上是生活随笔為你收集整理的traceroute基本原理_实践与认识的相关原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。