您現在的位置是:首頁 >動態 > 2023-10-08 16:00:16 來源:
traceroute命令的作用(traceroute)
大家好,我是小夏,我來為大家解答以上問題。traceroute命令的作用,traceroute很多人還不知道,現在讓我們一起來看看吧!
1、您好,很高興為您解答。
2、一、應用環境不同
3、tracert是應用在windows下。
4、traceroute則是應用在linux/BSD/router/UNIX下。
5、tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP協議的路由探測。
6、Tracert(跟蹤路由)是路由跟蹤實用程序,用于確定
7、IP 數據報訪問目標所采取的路徑。Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。
8、工作原理和過程:
9、通過向目標發送不同
10、IP 生存時間 (TTL) 值的“Internet 控制消息協議 (ICMP)”回應數據包,Tracert
11、診斷程序確定到目標所采取的路由。要求路徑上的每個路由器在轉發數據包之前至少將數據包上的 TTL 遞減 1。數據包上的 TTL 減為 0
12、時,路由器應該將“ICMP 已超時”的消息發回源系統。
13、 Tracert
14、先發送 TTL 為 1 的回應數據包,并在隨后的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL
15、達到最大值,從而確定路由。通過檢查中間路由器發回的“ICMP 已超時”的消息確定路由。某些路由器不經詢問直接丟棄 TTL 過期的數據包,這在 Tracert
16、實用程序中看不到。
17、 Tracert
18、命令按順序打印出返回“ICMP 已超時”消息的路徑中的近端路由器接口列表。如果使用 -d 選項,則 Tracert 實用程序不在每個 IP 地址上查詢
19、DNS。
20、Traceroute程序的設計是利用ICMP及IP
21、header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP
22、datagram(其實,每次送出的為3個40字節的包,包括源地址,目的地址和包發出的時間標簽)到目的地,當路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變為0了,所以該路由器會將此datagram丟掉,并送回一個「ICMP
23、time exceeded」消息(包括發IP包的源地址,IP包的所有內容及路由器的IP地址),traceroute
24、收到這個消息后,便知道這個路由器存在于這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,發現第2 個路由器......
25、traceroute 每次將送出的datagram的TTL 加1來發現另一個路由器,這個重復的動作一直持續到某個datagram
26、抵達目的地。當datagram到達目的地后,該主機并不會送回ICMP time
27、exceeded消息,因為它已是目的地了,那么traceroute如何得知目的地到達了呢?
28、Traceroute在送出UDP
29、datagrams到目的地時,它所選擇送達的port number 是一個一般應用程序都不會用的號碼(30000 以上),所以當此UDP datagram
30、到達目的地后該主機會送回一個「ICMP port unreachable」的消息,而當traceroute
31、收到這個消息時,便知道目的地已經到達了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
32、Traceroute提取發
33、ICMP TTL到期消息設備的IP地址并作域名解析。每次,Traceroute都打印出一系列數據,包括所經過的路由設備的域名及
34、IP地址,三個包每次來回所花時間。
35、Traceroute
36、有一個固定的時間等待響應(ICMP TTL到期消息)。如果這個時間過了,它將打印出一系列的*號表明:在這個路徑上,這個設備不能在給定的時間內發出ICMP
37、TTL到期消息的響應。然后,Traceroute給TTL記數器加1,繼續進行。
38、二、探測方法及探測的數據類型不同
39、默認情況下,tracert是向目的地址發出ICMP請求回顯數據包,而traceroute是向目的地址的某個端口(大于30000)發送UDP數據報。
40、如若滿意,請點擊右側【采納答案】,如若還有問題,請點擊【追問】
41、希望我的回答對您有所幫助,望采納!
42、 ~ O(∩_∩)O~
本文到此講解完畢了,希望對大家有幫助。