什么是tracert命令?traceroute和tracert的區別
什么是tracert命令?
tracert是一個簡單的網絡診斷工具,我們可以使用用tracert IP命令確定數據包在網絡上的停止位置,來判斷在哪個環節上出了問題,雖然還是沒有確定是什么問題,但它已經告訴了我們問題所在的地方,方便檢測網絡中存在的問題。
tracert用法詳解:
tracert命令的格式為:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name。
①、-d
表示不將地址解析成主機名。
②、-h maximum_hops
表示搜索目標的最大躍點數。
③、-j host-list
表示與主機列表一起的松散源路由(僅適用于IPv4)。
④、-w timeout
表示等待每個回復的超時間(以毫秒為單位)。
⑤、-R
表示跟蹤往返行程路徑(僅適用于IPv6)。
⑥、-S srcaddr
表示要使用的源地址(僅適用于IPv6)。
⑦、-4和-6
表示強制使用IPv4或者IPv6。
⑧、target_name
表示目標主機的名稱或者IP地址。
traceroute和tracert區別是什么?
二者都用于探測數據包從源到目的經過路由的IP,但兩者探測的方法卻有差別。
不同點:
一、應用環境不同
tracert是應用在windows下。
traceroute則是應用在linux/BSD/router/UNIX下。
tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP協議的路由探測。
Tracert(跟蹤路由)是路由跟蹤實用程序,用于確定 IP 數據報訪問目標所采取的路徑。Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。
工作原理和過程:
通過向目標發送不同 IP 生存時間 (TTL) 值的“Internet 控制消息協議 (ICMP)”回應數據包,Tracert 診斷程序確定到目標所采取的路由。要求路徑上的每個路由器在轉發數據包之前至少將數據包上的 TTL 遞減 1。數據包上的 TTL 減為 0 時,路由器應該將“ICMP 已超時”的消息發回源系統。
Tracert 先發送 TTL 為 1 的回應數據包,并在隨后的每次發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,從而確定路由。通過檢查中間路由器發回的“ICMP 已超時”的消息確定路由。某些路由器不經詢問直接丟棄 TTL 過期的數據包,這在 Tracert 實用程序中看不到。
Tracert 命令按順序打印出返回“ICMP 已超時”消息的路徑中的近端路由器接口列表。如果使用 -d 選項,則 Tracert 實用程序不在每個 IP 地址上查詢 DNS。
在下例中,數據包必須通過兩個路由器(10.0.0.1 和 192.168.0.1)才能到達主機 172.16.0.99。主機的默認網關是 10.0.0.1,192.168.0.0 網絡上的路由器的 IP 地址是 192.168.0.1。
C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
Traceroute程序的設計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP datagram(其實,每次送出的為3個40字節的包,包括源地址,目的地址和包發出的時間標簽)到目的地,當路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變為0了,所以該路由器會將此datagram丟掉,并送回一個「ICMP time exceeded」消息(包括發IP包的源地址,IP包的所有內容及路由器的IP地址),traceroute 收到這個消息后,便知道這個路由器存在于這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,發現第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發現另一個路由器,這個重復的動作一直持續到某個datagram 抵達目的地。當datagram到達目的地后,該主機并不會送回ICMP time exceeded消息,因為它已是目的地了,那么traceroute如何得知目的地到達了呢?
Traceroute在送出UDP datagrams到目的地時,它所選擇送達的port number 是一個一般應用程序都不會用的號碼(30000 以上),所以當此UDP datagram 到達目的地后該主機會送回一個「ICMP port unreachable」的消息,而當traceroute 收到這個消息時,便知道目的地已經到達了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發 ICMP TTL到期消息設備的IP地址并作域名解析。每次 ,Traceroute都打印出一系列數據,包括所經過的路由設備的域名及 IP地址,三個包每次來回所花時間。
Traceroute 有一個固定的時間等待響應(ICMP TTL到期消息)。如果這個時間過了,它將打印出一系列的*號表明:在這個路徑上,這個設備不能在給定的時間內發出ICMP TTL到期消息的響應。然后,Traceroute給TTL記數器加1,繼續進行。
二、探測方法及探測的數據類型不同
默認情況下,tracert是向目的地址發出ICMP請求回顯數據包,而traceroute是向目的地址的某個端口(大于30000)發送UDP數據報。
相同點:
一、兩者都用于探測數據包從源到目的經過路由的IP。
二、兩者都是通過設置發送包的TTL的值從1開始、逐次增1的方法來探測。
最后,tcptracetroute是向80端口發送TCP SYN包到目標,穿透更強。
標簽: 什么是tracert命令 traceroute和tracert區別是什么 tracert和traceroute區別在哪 traceroute和tracert的區別 tracert的主要作用是什么
- 1 OPPO Reno9系列成年輕用戶vlog好選擇 全系支持AF自動對焦系統
- 2 10月家用智能投影市場銷額18.1億元 同比增長192%
- 3 win10筆記本找不到無線網絡怎么解決?筆記本電腦連不上wifi是什么原因?
- 4 電腦一開機就卡住不動該怎么處理?電腦不能進入安全模式是怎么回事?
- 5 電腦關機的時候死機是怎么回事?筆記本進入安全模式后不動了怎么辦?
- 6 360重裝大師好不好用?360升級助手升級win10系統教程
- 7 win10微軟拼音怎么卸載?如何關閉win10系統默認的微軟拼音輸入法?
- 8 msocache是什么?Win7系統怎么清理msocache文件夾?
- 9 電腦win7系統顯示不是正版怎么辦?win7系統如何激活的小白教程?
- 10 favoritevideo是什么文件?finder什么文件能刪嗎?