Destination host unreachable destination net unreachable

我們在用ping時,多數出現超時“timeout",目標非法("Destination specified is invalid"),目標不可達(”Destination is unreachable")。除了名字上的真譯,具體在內層發生了什麼情況呢?

先說超時吧(timeout),這是最常見的一種失敗情況。我們都知道ping令命是發送ICMP報文的,超時意思就是在我們發送了ICMP後對方沒有響應,或是響應到時間超過了ICMP的定時器時限。這種情況在現實上常見有兩種情況,一是對方的防火牆濾掉了,二是距離太遠,對方的響應報文在到達源地址前所用時間超過了源機子的ICMP定時器(誇張一點就是我在成都ping華盛頓可能超時了~_~)

至於目標非法與目標不可達,這兩者一般都會弄胡塗。我們在發送報文時會檢查目的IP,當目的IP的值爲非法時就會返回目標非法的字段。如,ping 0.0.0.0或ping 255.255.255.255。有時,當我們網絡受阻或網絡斷開,ping時也會出現“Destination specified is invalid"

這個原因是沒有獲得IP或使用169的私有地址,當然是非法啦~至於如何檢測目的地址是否合法,不同的操作系統有不同的檢測體系,一般都大同小異,如廣播地址或特殊地址等,具體的可以查看相關資料。

而目標不可達,是指目標地址無法確定。這個是由網關返回本地PC的信息(當然不是對方機子返回的啦~)。ICMP目的不可達報文格式爲:“類型”,“代碼”,“校驗和”,“交付衆所失敗的IP分組的首部和數據部分的前8個字節”還有一個“保留部分”。我們關心的代碼處,分15種類型,如“0”指網絡不可達,”2“指協議 不可達等。這裏就不多說了哈~網上有很多相關資料的~

destination host unreachable
目標主機不能到達
“Destination Host Unreachable”信息說明對方主機不存在或者沒有跟對方建立連接。 網線沒接好,或者網卡有問題!
檢查物理連接,重啓機子 一般在確定你的TCP/IP網絡屬性的設置正確下,檢查你的網線或者網卡是不是沒插好



路由表中連到達目標的路由都沒有,會出現“Destination Host Unreachable”。
主要在以下三種情形出現:
1、 局域網使用DHCP動態分配IP地址時,DHCP出現故障或者失敗
DHCP失效或者出現故障時,客戶機無法分配到IP地址,系統只有自設IP地址,而IP地址的自動設置往往會分配到不同的子網,因此會出現“Destination Host Unreachable”。

2、 子網掩碼設置錯誤
這種情況一般比較少見,如果子網掩碼不是系統自動生成的,則在計算時一定細心。

3、 路由表返回錯誤信息
這種情況一般是在“Destination Host Unreachable”前面加上IP地址,說明本地計算機與外部網絡連接沒有問題,但與某臺主機連接存在問題。

"Destination Net Unreachable"這個信息表示對方主機不存在或者沒有跟對方建立連接。這裏要說明一下"destination host unreachable"和"time out"的區別,如果所經過的路由器的路由表中具有到達目標的路由,而目標因爲其它原因不可到達,這時候會出現"time out",如果路由表中連到達目標的路由都沒有,那就會出現"destination host unreachable"。

把icmp安全策略關閉
tcp/IP屬性——高級——選項——IP安全機制屬性——選擇"不使用IPSEC"確定,OK了,一切正常

ping 時出request time out 和destination is unreachable

request time out 是指icmp包發出後,長時間沒有迴應,所以會產生request time out。一般是ping 了一臺網絡中不存在的主機。
destination is unreachable 或 destination port unreachable 一般是收到了目標主機或中間路由器迴應的端口或目標主機不可達icmp包。
如你ping一臺用iptables封了icmp包的主機且用了-j REJECT 就會出現destination port unreachable 的信息,這是目標主機給的迴應。
兩者主要的區別是看目標主機或中間路由器是不是給了icmp不可達的迴應。 向目標主機發ip數據報,如果協議項是錯的,或協議項不可用。目標將返回destination is unreachable的icmp報文。如果有防火牆,可能過濾掉ip數據報,收不到迴應報文。如果設置ip頭部協議內容爲一特別大的數字(至少在今天還沒有被使用),應該主機一定會返回unreachable的icmp報文。否則一定有防火牆。也可以變化ip中的協議項來探測主機使用了哪些協議,如果沒使用則返回unreachable的icmp報文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章