1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          tracert-traceroute原理

          來源:互聯網轉載 時間:2023-12-14 09:29:04

          一、路由追蹤程序traceroute/tracert

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

          二、Traceroute實現原理

          1. 從源地址發出一個UDP探測包到目的地址,并將TTL設置為1;

          2. 到達路由器時,將TTL減1;

          3. 當TTL變為0時,包被丟棄,路由器向源地址發回一個ICMP超時通知(ICMP Time Exceeded Message),內含發送IP包的源地址,IP包的所有內容及路由器的IP地址;

          4. 當源地址收到該ICMP包時,顯示這一跳路由信息;

          5. 重復1~5,并每次設置TTL加1;

          6. 直至目標地址收到探測數據包,并返回端口不可達通知(ICMP Port Unreachable);

          7. 當源地址收到ICMP Port Unreachable包時停止traceroute。

          注:

          1. Linux和Mac OS等系統使用UDP包進行探測,目標端口號默認為33434,每次探測目標端口號加1。Traceroute故意使用了一個大于 30000 的目標端口號,以保證目標地址收到數據包后能夠返回一個“端口不可達”的 ICMP 報文,于是源地址就可將端口不可達報文當作跟蹤結束的標志。
          
          2.Traceroute每跳默認發送3個探測包(發包的數量可通過-q進行設置),探測包的返回會受到網絡情況的影響。如果防火墻封掉了ICMP的返回信息,那么相應的延時位置會以*顯示。如果某臺網關阻塞或者某臺DNS出現問題,那么相應行的延時會變長??梢约?n 參數來避免DNS解析,以IP格式輸出數據。
          
          3.每個探測包都有唯一的標識號,使得Traceroute能夠識別返回的包。UDP數據包使用遞增的目標端口號進行標識。
          

          三、Tracert實現原理

          1. 從源地址發出一個ICMP請求回顯(ICMP Echo Request)數據包到目的地址,并將TTL設置為1;

          2. 到達路由器時,將TTL減1;

          3. 當TTL變為0時,包被丟棄,路由器向源地址發回一個ICMP超時通知(ICMP Time Exceeded Message),內含發送IP包的源地址,IP包的所有內容及路由器的IP地址;

          4. 當源地址收到該ICMP包時,顯示這一跳路由信息;

          5. 重復1~5,并每次設置TTL加1;

          6. 直至目標地址收到探測數據包,并返回ICMP回應答復(ICMPEcho Reply);

          7. 當源地址收到ICMP Echo Reply包時停止tracert。

          注:

          1.Windows系統使用ICMP請求回顯(ICMP Echo Request)數據包進行探測,源地址以目的地址返回的ICMP回應答復(ICMP Echo Reply)作為跟蹤結束標志。
          
          2.Traceroute每跳默認發送3個探測包。在未能到達路由器或未返回ICMP超時通知的情況下,相應的延時位置會以*顯示。
          
          3.每個探測包都有唯一的標識號,ICMP數據包使用seq進行標識。
          

          四、Wireshark抓包解析

          本次實驗通過追蹤本機到達www.baidu.com所經過的路由信息,并使用Wireshark抓取數據包進行簡要分析來驗證traceroute和tracert的實現原理。

          1.Linux/ Mac OS——traceroute

          (1)Mac OS
          traceroute www.baidu.com。

          如圖,Traceroute能夠顯示到達目的地址所需的跳數、經過的路由器的IP地址、延時、丟包情況等信息。第一跳為10.203.4.225,第二跳為10.2.30.1,第三跳為10.2.1.1;每條記錄輸出3個延時結果,說明源地址每次默認發送三個數據包;在11條記錄只有1個延時結果,說明源地址只收到了1個ICMP超時通知消息。

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

          從圖中還可以看出,數據包目標端口號從33435開始并且每次加1,traceroute能夠通過UDP數據包遞增的目標端口號來唯一識別返回的包。

          如圖,第11跳的61.51.113.202路由只返回了一個ICMP超時通知,與終端顯示的信息相符。
          如圖,TTL=34時,ICMP數據包中Type=3(Destination unreachable),Code=3(Port unreachable),說明目的地址向源地址發送了端口不可達通知(ICMP Port Unreachable),表示數據包到達目的地址。

          (2)Linux

          traceroute www.baidu.com。

          這里寫圖片描述


          Linux系統下的抓包解析與Mac OS類似。

          1. Windows——tracert

          tracert www.baidu.com。

          如圖,第一跳為10.8.160.1,第二跳為10.0.14.1,第三跳為10.0.4.41;每條記錄輸出3個延時結果,說明源地址每次默認發送三個數據包;在第6條記錄只有2個延時結果,說明源地址只收到了2個ICMP超時通知消息;數據包從源地址經過15跳之后到達目的地址

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

          從圖中還可以看出,數據包從seq=142開始每次加1,tracert能夠通過seq來唯一識別返回的包。

          如圖,seq=157的數據包沒有得到路由器172.16.7.1的超時通知消息,因此第6跳只有兩個延時結果,與終端顯示的信息相符。

          五、The Great Cannon案例

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

          安全人員根據下圖發現中間人設備潛伏在11和12跳之間。Web請求中 TTL 值為11的時候數據包沒有響應,而TTL值為12的時候,返回了正常響應。

          六、小結

          Traceroute/tracert路由追蹤程序是用來追蹤數據包到達網絡主機所經過的路由信息的重要工具,雖然路由追蹤效果一致,但實現原理略有不同:前者借助UDP協議,后者借助ICMP協議。此外,利用TTL追蹤攻擊主機的位置,也為我們提供了新的思路。

          參考資料

          [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/

          轉自FreeBuf.COM
          http://www.freebuf.com/articles/network/118221.html

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          騰達無線路由器w308rv2怎么設置?設置騰達無線路由器;第一步;打開電腦的瀏覽器,在地址欄輸入192.168.1.1,進入路由器的管理界面。第二步;選擇PPPO騰達路由器怎么橋接小米路由器?布魯特與那臺設備無關。只需打開騰達路由器的無線橋接功能,搜索小米主路由器,輸入密碼,連接即可橋接成功。308是什么意思?308是戀愛分手的意思,分手的數字意思。的數字代表著豐富的含義,比如520,我愛你,52...

          北京到青島動車最快時間?最新的復興號高鐵G187北京南至青島北3小時40分d725次列車每天都有嗎?D725次列車是北京至青島北的空調動車組列車。這列火車每天都有。但目前停運,預計2022年11月初恢復正常運行。每天22: 42從北京站始發,途經大明湖、淄博、濰坊,次日6: 34到達青島北站。全程873公里,運行7小時52分鐘。d725次列車每天都有嗎?D725次列車每天發車。D725次列車從北京...

          阿里巴巴里面的產品是不是每天都要重發的?發圖片的作用是,保留產品的新鮮度,盡量減少產品因有效期被下架,同樣的馬上發也能夠提高優化系統產品的排名,可是現在無法上傳的權重已經會下降了,刪一的效果還沒有之前明顯了,所以用不著早上重發信息的,見意您對于那些排名效果比較比較差的產品,可以用國內版e助手對產品信息參與360優化后批量改無法上傳,就像3到4天馬上發1次;是對那些也有排名的產品信息,則1周重發1次...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>