linxu上tracert和traceroute雖然都是路由跟蹤,但是兩者探測方法及探測的資料型別不同。預設情況下,traceroute是向目的位址的某個埠(大於30000)傳送udp資料報,tracert是向目的位址發出icmp請求回顯資料報。
結論:出現以上問題的原因很可能就是目的伺服器或者路由器放行了icmp包。但是對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。
關於Ping和Tracert命令原理詳解
本文只是總結了兩個常用的網路命令的實現原理和一點使用經驗說明。這些東西通常都分布在各種書籍或者文章中的,我勤快那麼一點點,總結一下,再加上我的一點理解和使用經驗,方便大家了解。這些也是很基礎的東西,沒什麼高深的。ping 這個應該大家都會用的吧,最主要的就是檢測目標主機是不是可連通。ping程式實際...
設定adb與通過trace檔案分析記憶體洩漏問題
有時記憶體洩漏無法定位,只有一大串記憶體使用情況的log 這時候就可以分析trace檔案.使用adb輸入 adb pull data anr traces.txt 匯出檔案到下面出現的位址中 主要分析檔案中與專案相關的關鍵字 如果adb無法使用,顯示非內部儲存什麼的,就是adb路徑沒有設定好,設定步...
高併發系統設計 註冊中心與分布式Trace
註冊中心 註冊中心主要用來解決在服務端異常 擴容 縮容時如何快速通知客戶端。常見的註冊中心有zookeeper etcd consul nacos eureka等。提供服務位址的儲存 當儲存內容發生變化時,將變化內容推送給客戶端 客戶端會與註冊中心建立連線,並且告訴註冊中心,它對哪一組服務感興趣 服...