笑話大全ico
您當前的位置 :竞彩篮球胜分差技巧>電腦科技>網絡故障> 正文
Tracert詭異問題揭秘
2011-06-10 02:06來源:廈門門戶網
【摘要】
前天OPSERS群中好友YzzCheng好友突然發問,關于Tracer目標地址回顯問題!怪異,一會給大家看圖。說到此歡迎大家入群一起學習,我們的群號是:8021887 Tracert工作原理 今天繼然談到Tracert,我們就

前天OPSERS群中好友YzzCheng好友突然發問,關于Tracer目標地址回顯問題!怪異,一會給大家看圖。說到此歡迎大家入群一起學習,我們的群號是:8021887

廈門臺球xmpool.com

Tracert工作原理 廈門色網xmsex.com 福建色網fjsex.com

今天繼然談到Tracert,我們就仔細聊聊它。我們知道tracert是追蹤到達一個IP地址經過路由的路數,其原理是利用ICMP協議。我們知道在路由傳送報文的時候,如果TTL值為0,則此路由器將用它自己的IP地址做為源IP地址,以發送請求回顯的IP地址為目標IP地址,返回ICMP類型為11的路由TTL值超時報文。利用此原理,我們在IP報文中將TTL值不斷加1,就可以得到經過的所有路由器地址,這里我們要注意一點,在IP報文中TTL是從1不斷增加的,但是上層封裝的ICMP報文,卻是最為普通的ICMP請求回顯報文,類型為8。 中國破解cncrack.com

當數據包到達Tracert的目標IP后,將返回正常的ICMP回顯報文,其ICMP類型為0.Tracert程序根據返回報文的源IP地址與Rracert的IP地址做比較,如果IP地址相同,則路由追蹤完成。這里我解釋一個情況,TTL值大小等于從本地路由器到達目標路由器的跳數,它為何返回正常的回顯報文?而其它路由器收到報文時,其TTL值大小也等于從本地路由器到達它自己的跳數,它為何返回的是ICMP類型是11路由TTL超時呢?我們知道路由器一般有多個網絡接口,用來連接不同的網絡,當收到一個報文時,如果目標IP地址非自己直連,那么根據路由表查找目標網絡且將TTL值將減1,此時TTL等于0故返回路由TTL超時報文。當目標路由器收到這個報文時,發現目標地址就是它,那么就在TTL等于1的時候,到達了目標系統,不用將此報文在傳送到另一個網絡,故返回正常的ICMP回顯報文。 廈門臺球xmpool.com

Tracert詭異問題

網址導航就用ok118.com

下面我給大家上傳一張圖,某些原因非YzzCheng原圖,但是情況是一樣的,此故障在丟包嚴重的情況下發生的,請大家分析。 廈門臺球xmpool.com

廈門紙業xmpaper.com

就是為何tracert一個IP地址后,然后得到了目標IP地址的多個跳數,此問題確實很難理解。WIN下的TRACERT程序機制是對固定TTL值連續發送三次請求回顯,對于收到的包顯示ms值,圖中每一跳都有三個時間值,1,2,3分別代表了收到1,2,3次回復包的時間,丟包的顯示*號。注意:在tracert程序對同一個TTL值連續發送三次ping請求后,對與回復的包不管是路由TTL超時的ICMP報文或是正常的ICMP回顯報文,trarcert程序將在屏幕上打印時間值,單位為ms[毫秒],然后丟包的將顯示*號,也代表超時,這個與路由TTL超時是兩個不同的概念。下面將各好友的看法說下。

廈門色網xmsex.com 福建色網fjsex.com

1.路由環路:說下個人看法a.個人認為路由環路,是發生于兩個或多個路由器之間,并非一個路由器可以形成的。b.如果真是環路,那就不可能在十幾跳后就退出程序,應該是無限循環,直到TTL用盡或是30跳后[Tracert最多可以追蹤30跳]。

軟件下載就到soft.www.obcll.tw

2.目的地有防火墻:目的地有防火墻,放火墻后是目的地址,放火墻會對ICMp請求回應一次,目標主機也回應一次。此理論不予求證了,因為同一個IP地址已經出現了多跳,大于2跳。 廈門紙業xmpaper.com

3.負載均衡或群集:我只不過是向一個目標IP地址發送了一個ping請求,也不用著大家伙[指群集多個設備]同時來招呼我吧?群集與負載也是有隊列的,有順序的。這個不說了從好多方面都說不過去。

網址導航就用ok118.com

4.最后就是我的猜想:在不斷的測試與抓包分析中發現:當追蹤到目標IP后,此時返回的ICMP報文是正?;叵緣謀ㄎ?,因為TTL不在超時。這種情況下,連續發送的三個ICMP回顯請求報文,第一與第二個丟包都無所謂,程序都能正確判斷已追蹤到目標IP地址,如果源IP地址與追蹤iP地址相同,則追蹤完成。這個判斷是根據最后一次回復報文。

MD5密碼在線加密解密破解cnmd5.com

如果第三次請求回顯報文丟包的話,雖然能顯示出這返回路由器的ip地址[前兩次必須有收到回復報文],但不能判斷出源IP與追蹤IP地址一樣,這樣tracert將ttl值加1,繼續追蹤。所以最后得到了追蹤目標IP地址的多跳顯示在屏幕上。此時,我將問題懷疑到了Tracert程序自身??忌柘氤絳虻墓ぷ饔肱卸顯?。

廈門臺球xmpool.com

推測程序判斷機制

軟件下載就到soft.www.obcll.tw

1.如果程序對每個包保持TTL值不變發三次ICMP請求回顯,對于收到的回復報文,不管是路由TTL超時還是正常ICMP回顯報文都將以時間值顯示,單位是ms,沒有收到的報文顯示*號。 新名堂xmtang.com

2.從初始TTL=1開始,當收到回復包時檢測源IP地址,然后顯示到輸出屏幕。當收到最后一個ICMP回復報文時,先判斷返回類型,如果是路由TTL超時或丟包,則繼續TTL加1,繼續發送[是三次哦]。如果是正?;叵?,則判斷源IP是否與追蹤的IP地址相同,相同條件成立,顯示完成追蹤。 搜什么,找蝦米搜索xmsou.com

根據上面的分析,因為請求回復報文的第三個報文丟包了,無法做出源IP地址與追蹤IP地址判斷,所以繼續TTL加1,繼續追蹤。但是由于前兩次的請求已取到了回復報文,所以程序可以得到這一路由器的IP地址顯示于屏幕之上。根據此理論,當ICMP請求報文得到正常的ICMP回顯,ICMP類型等于0,并且第三次的請求回顯必須得到回復,tracert根據源IP地址與追蹤IP地址比較,條伯成立,才會顯示完成追蹤。

搜什么,找蝦米搜索xmsou.com

Tracert求證階段 廈門門戶網www.obcll.tw xmdoor.com

這個階段是最難的我感覺,看情況就知道了。

軟件下載就到soft.www.obcll.tw

1.其實上面只是一個猜想,不能理論不實踐。但是這是程序設計??!我哪看得懂代碼??!從網上找了一份tracert源代碼,希望能從源代碼中驗證我的理論,找了不少好友幫忙分析代碼,看是不是如此。。。原來我錯了。。朋友看了代碼后,發現那個源程序代碼是發包一次,沒有發包三次。雖然 tracert原理一樣,但是程序實現不一樣。windows這個閉源的東西啊讓我求證失敗。 搜什么,找蝦米搜索xmsou.com

2.我不服,繼續思索。。后來我終于有了第二個想法。。就是找一個防火墻,想辦法控制進出網絡的每個包。通過人工詢問控制通過或放行。這樣的話,當進入本機的ICMP包,我可以控制最后一個ICMP回復不讓其通過,如果我的判斷沒有錯的話,這樣就會產生大量的同一個IP地址,但是有N跳的回顯,還可以控制第一次的回顯與第二次,不斷測試。。于是在各群中發信息,求有此功能防火墻。當時有網友認為人工控制每個包,機子受得了嗎?人受的了嗎?我是在做實驗??!非真機應用??!在說我還可以過濾??!我控制特定協議的包,特定IP的包。特定端口的包,這有什么做不到的,只有做就行。不過一會又失敗了…苦苦尋找也沒有找到有此功能防火墻,此方法以悲劇結束。

網址導航就用ok118.com

3.我還是要解決的,開始了第三個想法,嘿嘿!我能不能通過網絡分析器的發包工具來測試啊…比如tracert發我三個報文,我就回它兩個。。最后一個不回,提前是我把數據包都準備好,這樣對方機器發包,我這邊人工回復包,也可達到測試目的。后來在我仔細分析與思量后,理論又被擊碎了…tracert發出的每個包都是有請求序列號的,我抓到的包怎么可能與之動態匹配序列號呢?與目標主機的序列號不匹配,這怎么能成功呢?

軟件下載就到soft.www.obcll.tw

4.我快要絕望了。。我不行就斷開網絡。。等收到兩個回復報文的時候切斷網絡,怎么可能?這是ms與s為單位的,我哪有那快的速度??!工夫不負有心人??!我終于找到辦法了。那就是我打開虛似機,然后tracert一個ip地址,同時物理主機進行抓包進行數據包的收發觀察,等到了追蹤目標IP之時,我看到包都發送出去了,虛似機有個STOP功能,我以極快的速度點下,虛似機停止了工作了…等目標主機的回復數據包到達我物理主機的時候,無法提交報文,數據丟失。我然后在恢復虛機系統,這樣第三個請求包得不到回復報文,結果就繼續TTL加1,繼續請求報文了。文中的圖示就是我用此方法,搞出來的結果。做些實驗的時候,STOP虛似機一定要控制好,不能快也不能慢。真不好控制,說實在的。

搜什么,找蝦米搜索xmsou.com

這樣結果就出來了,從這里我們可以看出,不管目標主機有沒有防火墻,有沒有群集,有沒有路由環路。一切都是浮云……按tracert程序機制,我可以在任何網絡產生這樣的結果,這就足以證明。我朋友網絡有這種情況是因為丟包嚴重。呵呵??!

網址導航就用ok118.com

TRACERT網絡知識補充

找工作、找人才,就上廈門人才市場網站xmrcsc.com

1.我說的是win與linux下的tracert程序功能一樣,但實現方式不一樣。linux更為強。。win的tracert是每發三個包后等待回復,然后在發送,所以得到一個IP的路由跟蹤,我們得等一會。linux下的tracert不一樣,它的原理就是從ttl=1一直發送到一個很大的TT值,如18或更大。。每個TTL值也將發送三個請求回顯,這樣中間路由器將很快將數據包回復到目標主機,然后根據序列號值匹配數據流情況,將成功回顯。速度非???。winY就是一笨蛋。

中國破解cncrack.com

2.linux下的traceroute是請求一個大端口,用的UDP協議,TTL也是從1增加的??梢允迪滯穆酚篩俟δ?,不過它收到的回復報文是類型3,代碼3,即目標端口不可達。 新名堂xmtang.com

3.在做路由不通信的時候,用 tracert可以更快的定位故障產生于哪個路由器,比ping好使。 搜什么,找蝦米搜索xmsou.com

4.ping  -r 9 www.wildlee.org ,可以得到入接口的路由器IP地址,這個是利用IP選項字段的功能實現的。tracert得到的是出網絡路由接口的IP地址。不過有的ISP把一些類型的ICMP給做掉了。 廈門博愛xmboai.com

標簽(Tag):
官方郵箱:竞彩篮球胜分差技巧 www.obcll.tw 官方微信:www.obcll.tw 官方微博: