Traceroute
Traceroute 在 Linux 上不起作用,在 Windows 上可以
我是 Linux Mint 使用者。我在 Linux 上執行 traceroute,在 Windows 上執行 tracert。在 Linux 上,我只是得到星號。一切似乎都在 Windows 上執行良好。這是輸出
視窗:
Linux薄荷:
為什麼會發生這種情況,我能做些什麼來解決這個問題嗎?
造成這種差異的一個可能原因是預設情況下 Window
tracert
使用 ICMP,而 Linuxtraceroute
預設使用 UDP。使用-I
traceroute 選項應產生與以下相同的結果tracert
:traceroute -w 10 -I google.it
從
traceroute
文件中:在現代網路環境中,由於防火牆的廣泛使用,傳統的traceroute方法並不總是適用。此類防火牆過濾“不太可能”的 UDP 埠,甚至 ICMP 回顯。為了解決這個問題,實現了一些額外的跟踪路由方法(包括 tcp),請參閱下面的可用方法列表。此類方法嘗試使用特定協議和源/目標埠,以繞過防火牆(被防火牆視為允許的網路會話類型的開始)。
可用方法列表
通常,可能必須通過 -M name 選擇特定的 traceroute 方法,但大多數方法都有其簡單的 cmdline 開關(如果存在,您可以在方法名稱後看到它們)。
預設
傳統的、古老的追踪方法。預設使用。
探測數據包是具有所謂“不太可能”的目標埠的 udp 數據報。第一個探針的“不太可能”埠是 33434,然後對於每個下一個探針,它都會增加 1。由於這些埠預計不會被使用,因此目標主機通常會返回“icmp unreach port”作為最終響應。(但是,沒有人知道當某些應用程序偵聽此類埠時會發生什麼)。