天天看點

ping三個不存在的IP位址後,你能得到…

作者:網絡工程師-郭主任

1、同VLAN不同網段能否Ping通?

現在有兩台電腦,他們同處于一個VLAN,

pcA IP位址:10.1.1.1/8

pcB ip位址:11.1.1.1/8

01 無網關,A ping B

報出的Destination host unreachable

顯然,A機器發現對方與自己不是同一網段,試圖尋找網關,但網關不存在,是以報主機不可達,B上的Sniffer未抓到任何包,觀察網卡也是隻發不收,顯然資料沒有出去。

02 網關設成對方IP,A ping B

能正常ping通,為什麼能通?

從A計算機Sniffer上抓到的包可以看出,A在ping對方過程中,A首先進行了ARP廣播,它廣播詢問11.1.1.1的MAC是什麼。

顯然這個ARP廣播是可以被B收到的(因為他們同處一個VLAN),而11.1.1.1正好就是B的IP位址,理所當然B要回應這個ARP請求。下圖是A上的抓包情況,A首先進行了ARP廣播,然後收到了B的應答。

ping三個不存在的IP位址後,你能得到…

這樣A就有了B的MAC,而B在接到A的ARP廣播時候就學到A的MAC,是以雙方可以ping通。

03 網關設成自己,A ping B

一樣是可以ping的通的,A上抓包如下:

ping三個不存在的IP位址後,你能得到…

抓到的結果與第2種情況一樣,A依然是先廣播詢問11.1.1.1的MAC,這個ARP廣播被B接到後,B有義務應答,于是雙方知道對方MAC,是以能PING通。

與第2種情況不同的是,這裡可以明确知道ARP中的11.1.1.1指的是ping中所指定的IP位址而不是網關(此時A網關是10.1.1.1了)。

那麼第2種情況中的11.1.1.1也指的是ping中所指定的IP?我們再來看下面。

2、ping三個不存在的IP位址深入了解網絡通信原理

網關設成自己,ping3個不存在的IP:

一個是和自己在同一網段的;

一個是和網關在同一網段的;

一個是和誰都不在同一網段的。

01 ping和自己同一網段的IP

ping傳回逾時,在B上抓包結果如下:

ping三個不存在的IP位址後,你能得到…

可以看出A發出了詢問10.1.1.2的ARP廣播而不是詢問網關(10.1.1.1)的廣播,由于這個IP不存在,是以沒有機器做出回應。

02 ping和網關同一網段的IP

逾時。B上接到的是A發出的關于11.1.1.2的ARP廣播,由于不存在11.1.1.2這個位址,是以沒有機器回應。

ping三個不存在的IP位址後,你能得到…

03 ping和誰都不在一個網段的IP

逾時。B上接到是A發出的關于100.1.1.1的ARP廣播,由于不存在100.1.1.1這個位址,是以沒有機器回應。

從上面的3個實驗來看,當網關設定成自己的時候,不管ping的位址是什麼,計算機發出的ARP廣播都是直接詢問ping中所指定IP對應的MAC,沒有詢問網關的MAC,這符合上文的描述。

其實計算機在廣播詢問ping指令指定的IP之前還是會先問網關的MAC的,隻是這裡由于網關是自己是以這一步就被跳過了。

那到底是不是這樣的?我們再驗證下。

3、AI計算機網關設定中B的IP,B的網關設定中不存在的IP位址

A計算機網關設成B的IP位址,但B的網關設定成一個不存在的IP(且與A/B都不在同一網絡),ping三種情況。

01 ping與網關同一網段IP

在A上抓包,可以看到A首先發出了關于網關11.1.1.1的ARP廣播請求(對應B接到這個廣播請求),B對這個11.1.1.1進行了ARP應答,但這個IP是不存在的是以ping結果逾時。

ping三個不存在的IP位址後,你能得到…

02 ping與誰都不在同一網段

逾時。結果類似5.2結果,A發出了關于網關11.1.1.1的請求,B做了應答。但ping是逾時的。

03 ping計算機B的位址

結果逾時,為什麼這個也不通呢?按說按照上面的測試,AB計算機都能獲得對方MAC,以太網下,有MAC應該就有通信的可能,可這個時候卻不通。

檢視Sniffer抓到的包可以發現:

ping三個不存在的IP位址後,你能得到…

A發出了關于11.1.1.1的ARP廣播請求,B對11.1.1.1做出應答,但是下面接到了多個B發來的關于100.1.1.1的ARP廣播請求,且100.1.1.1的請求沒有得到B的應答,看來B是一直在試圖查詢B的網關(100.1.1.1)所對應的MAC,在網關的MAC沒有獲得應答之前,B不會對ping産生回應。

從上面的所有實驗看出,計算機在與非本網段的位址通信時,計算機首先查找網關的MAC,如果網關MAC得不到回應,是不會對ping作出響應的;

是以,執行個體中1和2的情況是屬于特殊情況,正好利用了網關與主機IP相同,騙過了計算機。如果AB的網關都設定的與AB ip毫不相幹的話,互相肯定不通。

關注 工 仲 好:IT運維大學營,擷取60個G的《網工系統大禮包》

ping三個不存在的IP位址後,你能得到…