環(huán)境:一臺中文XP,一臺英文XP,雙機(jī)用交叉線直連.起Sniffer抓包觀察.
A:IP 10.1.1.1/8
B:IP 11.1.1.1/8
From:http://www.mycisco.cn
>1.無網(wǎng)關(guān),A ping B,報(bào)Destination host unreachable.顯然,A機(jī)器發(fā)現(xiàn)對方與自己不是同一網(wǎng)段,試圖尋找網(wǎng)關(guān),但網(wǎng)關(guān)不存在,所以報(bào)主機(jī)不可達(dá),B上的Sniffer未抓到任何包,觀察網(wǎng)卡也是只發(fā)不收.顯然數(shù)據(jù)沒有出去,也沒有發(fā)生卷一上所說的ARP廣播過程.
2.網(wǎng)關(guān)設(shè)成對方IP,能正常PING通.為什么能通?從A計(jì)算機(jī)Sniffer上抓到的包可以看出,A在PING對方過程中,A首先進(jìn)行了ARP廣播,它廣播詢問11.1.1.1的MAC是什么!但這里有個(gè)問題,這個(gè)11.1.1.1到底指的是PING中指定的11.1.1.1還是網(wǎng)關(guān)中的11.1.1.1呢?先不管它,一會(huì)實(shí)驗(yàn)就明白了.反正此時(shí)的結(jié)果是A問11.1.1.1的MAC,顯然這個(gè)ARP廣播是可以被B收到的(為什么就不用說了吧),而11.1.1.1正好就是B的IP地址,理所當(dāng)然B要回應(yīng)這個(gè)ARP請求.下圖是A上的SNIFFER,A首先進(jìn)行了ARP廣播,然后收到了B的應(yīng)答.
這樣A就有了B的MAC,而B在接到A的ARP廣播時(shí)候就學(xué)到A的MAC,所以雙方可以PING通.
3.網(wǎng)關(guān)設(shè)成自己,A PING 對方一樣是通的,A上抓包如下:
(抓到的結(jié)果與第2種情況一樣,所以借用第2種情況的圖),A依然是先廣播詢問11.1.1.1的MAC,這個(gè)ARP廣播被B接到后,B有義務(wù)應(yīng)答,于是雙方知道對方MAC,所以能PING通.與第2種情況不同的是,這里可以明確知道ARP中的11.1.1.1指的是PING中所指定的IP地址而不是網(wǎng)關(guān)(此時(shí)A網(wǎng)關(guān)是10.1.1.1了),那么第2種情況中的11.1.1.1也指的是PING中所指定的IP ?做個(gè)實(shí)驗(yàn)4看看!
4.網(wǎng)關(guān)設(shè)成自己,PING 3個(gè)不存在的IP,一個(gè)是和自己在同一網(wǎng)段的,一個(gè)是和網(wǎng)關(guān)在同一網(wǎng)段的,一個(gè)是和誰都不在同一網(wǎng)段的:
4.1:PING和自己同一網(wǎng)段的IP,PING返回超時(shí),在B上抓包結(jié)果如下:
可以看出,A發(fā)出了詢問10.1.1.2的ARP廣播而不是詢問網(wǎng)關(guān)(10.1.1.1)的廣播,由于這個(gè)IP不存在,所以沒有機(jī)器做出回應(yīng).
4.2:PING和網(wǎng)關(guān)同一網(wǎng)段的IP,超時(shí),B上接到的是A發(fā)出的關(guān)于11.1.1.2的ARP廣播,由于不存在11.1.1.2這個(gè)地址,所以沒有機(jī)器回應(yīng).圖略.
4.3:PING和誰都不在一個(gè)網(wǎng)段的IP,超時(shí),B上接到是A發(fā)出的關(guān)于100.1.1.1的ARP廣播,由于不存在100.1.1.1這個(gè)地址,所以沒有機(jī)器回應(yīng).圖略.
從上面的3個(gè)付實(shí)驗(yàn)來看,當(dāng)網(wǎng)關(guān)設(shè)置成自己的時(shí)候,不管PING的地址是什么,計(jì)算機(jī)發(fā)出的ARP廣播都是直接詢問PING中所指定IP對應(yīng)的MAC,沒有詢問網(wǎng)關(guān)的MAC,這符合卷一上的描述,其實(shí)計(jì)算機(jī)在廣播詢問PING命令指定的IP之前還是會(huì)先問網(wǎng)關(guān)的MAC的,只是這里由于網(wǎng)關(guān)是自己所以這一步就被跳過了,到底是不是這樣,繼續(xù)做下面的實(shí)驗(yàn)來測試.
5.A計(jì)算機(jī)網(wǎng)關(guān)設(shè)成B的IP地址,但B的網(wǎng)關(guān)設(shè)置成一個(gè)不存在的IP(且與A/B都不在同一網(wǎng)絡(luò)),PING實(shí)驗(yàn)4中的三種情況,
5.1:PING與自己同一網(wǎng)段IP,抓包可以看到B上接到詢問10.1.1.2的ARP廣播,但10.1.1.2是不存在的IP,所以沒有得到回應(yīng).
5.2:PING與網(wǎng)關(guān)同一網(wǎng)段IP,在A上抓包,可以看到A首先發(fā)出了關(guān)于網(wǎng)關(guān)11.1.1.1的ARP廣播請求(對應(yīng)B接到這個(gè)廣播請求,圖略),B對這個(gè)11.1.1.1進(jìn)行了ARP應(yīng)答.但這個(gè)IP是不存在的所以PING結(jié)果超時(shí).
5.3:PING與誰都不在同一網(wǎng)段,超時(shí),結(jié)果類似5.2結(jié)果,A發(fā)出了關(guān)于網(wǎng)關(guān)11.1.1.1的請求,B做了應(yīng)答.但PING是超時(shí)的.
5.4:PING計(jì)算機(jī)B的地址,結(jié)果超時(shí),為什么這個(gè)也不通呢?按說按照上面的測試,AB計(jì)算機(jī)都能獲得對方MAC,以太網(wǎng)下,有MAC應(yīng)該就有通信的可能,可這個(gè)時(shí)候卻不通,查看Sniffer抓到的包可以發(fā)現(xiàn):
A發(fā)出了關(guān)于11.1.1.1的ARP廣播請求,B對11.1.1.1做出應(yīng)答,但是下面接到了多個(gè)B發(fā)來的關(guān)于100.1.1.1的ARP廣播請求,且100.1.1.1的回顯請求沒有得到B的應(yīng)答.看來B是一直在試圖查詢B的網(wǎng)關(guān)(100.1.1.1)所對應(yīng)的MAC,在網(wǎng)關(guān)的MAC沒有獲得應(yīng)答之前,B不會(huì)對PING產(chǎn)生回應(yīng).
從上面的所有實(shí)驗(yàn)看出,計(jì)算機(jī)在與非本網(wǎng)段的地址通信時(shí),計(jì)算機(jī)首先查找網(wǎng)關(guān)的MAC,如果網(wǎng)關(guān)MAC得不到回應(yīng),是不會(huì)對PING作出響應(yīng)的.因此,實(shí)現(xiàn)1和2的情況是屬于特殊情況,正好利用了網(wǎng)關(guān)與主機(jī)IP相同,騙過了計(jì)算機(jī).如果AB的網(wǎng)關(guān)都設(shè)置的與ABip毫不相干的話,相互肯定不通.
在兩臺主機(jī)之間接上交換機(jī),效果一樣.
對于卷一上提到的,路由器可以通過代理ARP實(shí)現(xiàn)網(wǎng)關(guān)與主機(jī)不在同一網(wǎng)段通信,在2514/12.3IOS上測試不成功,路由器確實(shí)可以接到對網(wǎng)關(guān)的ARP廣播,但是路由器會(huì)過濾
*Mar 1 00:24:45.063: IP ARP req filtered src 21.1.1.2 0016.d30d.1906, dst 10.0.4.5 0000.0000.0000 wrong cable, interface Ethernet0.實(shí)驗(yàn)沒有成功.
聯(lián)系客服