溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)于代理arp的原理以及通信過(guò)程解析

發(fā)布時(shí)間:2020-06-15 16:14:28 來(lái)源:網(wǎng)絡(luò) 閱讀:1238 作者:dearluo122 欄目:網(wǎng)絡(luò)安全

   在看一些技術(shù)文檔的時(shí)候,突然想到了代理arp這個(gè)東西,之前一直也沒(méi)注意,所以就趁著今天去學(xué)習(xí)了下。

首先就是拓?fù)鋱D:這里我用模擬器畫(huà)圖~~用真機(jī)(CISCO 1921)做的實(shí)驗(yàn)

      關(guān)于代理arp的原理以及通信過(guò)程解析

    網(wǎng)上大多數(shù)人以及網(wǎng)站對(duì)于代理ARP的解釋:當(dāng)PC沒(méi)有設(shè)置默認(rèn)網(wǎng)關(guān)時(shí),如果PC要和不同網(wǎng)段的客戶端進(jìn)行通信,那么需要知道目的的mac地址,如何獲取,當(dāng)然是通過(guò)ARP了,但是如果目的地址和本地地址不屬于同一個(gè)網(wǎng)段呢?問(wèn)題就出現(xiàn)在這里了,很多人認(rèn)為PC此時(shí)會(huì)發(fā)送ARP廣播,然后路由器的接口如果開(kāi)啟了代理arp(使用 no ip arp proxy開(kāi)啟,全局使用Ip arp proxy disable關(guān)閉)功能 就會(huì)以自己的接口mac回應(yīng),但是事實(shí)并非如此。實(shí)際的情況是,PC不會(huì)發(fā)送任何ARP的報(bào)文。見(jiàn)下圖

     關(guān)于代理arp的原理以及通信過(guò)程解析

        大家可以看到,PCA 沒(méi)有發(fā)送任何ARP和ICMP報(bào)文,因?yàn)槿绻康木W(wǎng)段和自己的網(wǎng)段不同,并且PC沒(méi)有設(shè)置默認(rèn)網(wǎng)關(guān),PC會(huì)直接丟棄,這個(gè)和是否開(kāi)啟ARP代理沒(méi)有半毛錢(qián)的關(guān)系。。。

        ARP代理此時(shí)是開(kāi)啟的

    關(guān)于代理arp的原理以及通信過(guò)程解析

這里請(qǐng)教下大神,這個(gè)Local Proxy ARP是干嘛的,始終不能顯示為enable。。求看到的大神指導(dǎo)


可以看到,就算PCA使用ping命令,路由器沒(méi)有獲得任何有關(guān)PCA和PCB的arp表項(xiàng)。

           關(guān)于代理arp的原理以及通信過(guò)程解析

          



說(shuō)到這里,大家應(yīng)該清楚了,ARP代理并不是網(wǎng)上說(shuō)的那樣充當(dāng)什么默認(rèn)網(wǎng)關(guān)啥的,那么到底這玩意怎么用呢?


接下來(lái)我們使用另外一個(gè)拓?fù)洌鐖D:

關(guān)于代理arp的原理以及通信過(guò)程解析

是的 就是這么奇怪的拓?fù)?,路由器左邊PC掩碼和路由器的G0/0不同,右邊則是一致的。

先關(guān)閉ARP代理

關(guān)于代理arp的原理以及通信過(guò)程解析

全局使用ip arp proxy disable關(guān)閉即可。

然后抓包。記住此時(shí)A B的網(wǎng)關(guān)都沒(méi)有設(shè)置

先查看PCA的arp表項(xiàng)

關(guān)于代理arp的原理以及通信過(guò)程解析

和之前說(shuō)的一樣,PCA不會(huì)產(chǎn)生任何報(bào)文,所以當(dāng)然也不會(huì)有任何其他的ARP表項(xiàng)了。

此時(shí)的路由器任然也是只有自己兩個(gè)接口的ARP表項(xiàng)。

那么接下來(lái)我們使用PCA ping PCB,會(huì)出現(xiàn)什么現(xiàn)象呢?

關(guān)于代理arp的原理以及通信過(guò)程解析

為什么這里PCA也沒(méi)有網(wǎng)關(guān),但是卻發(fā)送了ARP請(qǐng)求呢?

因?yàn)椋。。?/span>

PCA的網(wǎng)絡(luò)號(hào)為172.16.0.0.(ip地址和掩碼進(jìn)行與運(yùn)算),PCB的地址為172.16.2.2。PCA會(huì)將自己的掩碼和PC地址進(jìn)行與運(yùn)算,發(fā)現(xiàn)自己和目的地址屬于同一個(gè)網(wǎng)段(即使PCB的網(wǎng)段是172.16.2.0/24)。所以才會(huì)產(chǎn)生ARP請(qǐng)求,但是由于路由器關(guān)閉了ARP代理,所以不會(huì)對(duì)PCA的ARP請(qǐng)求進(jìn)行響應(yīng)。所以上圖只有arp request但是沒(méi)有arp reply。所以此時(shí)PCA的ARP表項(xiàng)以及路由器的ARP表項(xiàng)都不會(huì)產(chǎn)生變化。當(dāng)然,PCA多了幾個(gè)奇怪的ARP表項(xiàng)我也沒(méi)有去查是干嘛的。


如果此時(shí)讓路由器獲取到PCB的mac地址,在關(guān)閉ARP代理的前提下,路由器是否會(huì)將PCB的mac告知給PCA呢。

很簡(jiǎn)單,我們使用PCB ping路由器的G0/1接口地址,雖然PCB沒(méi)有默認(rèn)網(wǎng)關(guān),但是由于兩者屬于同一個(gè)網(wǎng)段,所以能夠ping通,而且路由器能夠獲取PCB的mac地址。

關(guān)于代理arp的原理以及通信過(guò)程解析

再次使用PCA ping PCB,然后觀察PCA的ARP表項(xiàng)。還是沒(méi)有任何變化,因?yàn)锳的ARP請(qǐng)求到達(dá)路由器之后, 路由器會(huì) 從OSI模型的第一層依次解封裝,解封裝到第二層的時(shí)候,由于目的mac為廣播,沒(méi)有開(kāi)啟ARP Proxy,路由器會(huì)直接丟棄廣播 包,所以即使路由器有B的MAC地址,也不會(huì)給A   ARP Reply。

即使此時(shí)所有設(shè)備都有了其他的MAC地址表項(xiàng)(使用靜態(tài)綁定), 也是無(wú)法 聯(lián)通的, 因?yàn)閱尾?bào)文拆包時(shí) ,到第二層,如果目的MAC不是路由器自身的接口地址,路由器也是會(huì)直接丟棄。


接下來(lái)就是開(kāi)啟ARP代理。使用no  ip arp proxy(看起來(lái)很奇怪)。

開(kāi)啟ARP代理之后,PCA能夠獲取到PCB的MAC地址,并且是路由器G0/0的mac地址。

關(guān)于代理arp的原理以及通信過(guò)程解析

使用ping命令,Icmp echo request報(bào)文能夠成功到達(dá)PCB。這點(diǎn)是由PCB上面使用Wireshark抓包得到的結(jié)論。我就不截圖了 太麻煩了。

但是PCB受到該報(bào)文之后 ,創(chuàng)建ICMP echo reply報(bào)文的時(shí)候,由于目的地址和自己不屬于同一個(gè)網(wǎng)段,并且 又不是廣播地址,而且自身又沒(méi)有設(shè)置 默認(rèn)網(wǎng)關(guān),所以直接 丟棄  ping的回包,所以對(duì)于PCA來(lái)說(shuō)是無(wú)法獲取reply的,如圖:

關(guān)于代理arp的原理以及通信過(guò)程解析

說(shuō)到這里 我就有一個(gè)疑問(wèn)了,在這誠(chéng)心請(qǐng)教大牛。

 我在PCB靜態(tài)綁定ARP  PCA'S ip-》G0/1's mac。按照我的想法,當(dāng)創(chuàng)建reply報(bào)文的時(shí)候,從上到下依次封裝,封裝到數(shù)據(jù)鏈路層的時(shí)候,目的mac地址為G0/1的mac地址。應(yīng)該會(huì)回復(fù),為什么PCB直接丟棄了而不是進(jìn)行回復(fù)!?。?/span>


如果想要PCA能夠ping通PCB,在PCB上指定默認(rèn)網(wǎng)關(guān)即可。

指定默認(rèn)網(wǎng)關(guān)后,A<->B可以雙向正常通信,原理見(jiàn)上面的那段

關(guān)于代理arp的原理以及通信過(guò)程解析


到現(xiàn)在應(yīng)該基本解釋清楚了代理ARP的功能和作用,其實(shí)非常雞肋。

對(duì)了還有一點(diǎn)。指定默認(rèn)默認(rèn)網(wǎng)關(guān)和使用ARP代理PC的arp表項(xiàng)完全不同。

使用ARP代理:會(huì)存在不同網(wǎng)段的ip和mac的對(duì)應(yīng) 如圖

關(guān)于代理arp的原理以及通信過(guò)程解析

但是使用默認(rèn)網(wǎng)關(guān)的時(shí)候只會(huì)存在一個(gè)對(duì)應(yīng)關(guān)系。那就是網(wǎng)關(guān)以及網(wǎng)關(guān)mac的對(duì)應(yīng)關(guān)系 如圖

關(guān)于代理arp的原理以及通信過(guò)程解析

最后就是,寫(xiě)這個(gè)的時(shí)候我百度了一些東西,有一部分和狼哥的差不多,只不過(guò)有些細(xì)節(jié)方面我測(cè)試了下。@狼哥 他的博客的地址是bbs.51cto.com/thread-651652-1.html.


希望高手能夠消除我之前的疑問(wèn),謝謝了~~

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI