免費ARP 免費ARP,也稱無為ARP(Gratuitous ARP)正常,通常是指只有請求,沒有響應或者無需請求,就有響應的ARP協(xié)商
ARP的兩個作用
一、探測IP地址沖突
主機廣播發(fā)送ARP Req報文,其總,Dst IP Address就是自己的地址,其余參數(shù)都是正常值。
如果一直沒有收到ARP Response,則說明本廣播域中沒有IP地址沖突;如果有相同的IP,則對端收到之后會在操作系統(tǒng)的協(xié)調(diào)下將網(wǎng)卡置為不可用
通常,主機在初始化、復位網(wǎng)卡時自動發(fā)出
二、強制更新對方的ARP表項
強制更新對方的ARP表項,通常用于網(wǎng)管應用和ARP欺騙。該功能可有兩種方式實現(xiàn),分別是通過ARP Req和Response實現(xiàn),理解時請參閱ARP流程圖。
例如:
PC1、PC2等在上網(wǎng)時,需要通過網(wǎng)關Rouer的ARP信息,但由于ARP協(xié)議中沒有必要的認證等安全機制,導致Cheater有機可乘:
1、Cheater廣播一個ARP Response報文,其中的Src MAC Addr為Cheater的網(wǎng)卡地址,但是SrcIPAddr為Router的IP,即網(wǎng)關地址,其余的還是按照正常值設置
局域網(wǎng)中所有的PC收到更新之后都會更新自己的網(wǎng)關ARP信息,但實際上是錯誤信息。
2、Cheater單播一個ARP Request報文給的PC,其中的SrcMACAddr為Cheater的網(wǎng)卡地址,SrcIPAddr為Router的IP,DstIP為的PC的地址,其余的還是按照正常值設置
相關PC收到ARP請求之后會更新自己的ARP信息。
ARP欺騙小結(jié)
從欺騙的角度來看,用廣播ARP Response比較簡單,一次廣播即可解決問題;但對與被欺騙者的具體信息則不清楚;
從流量、網(wǎng)絡管理的角度來看,使用多次單播ARP Request的方式較好,雖然復雜一些,但對于網(wǎng)中用戶可以詳細監(jiān)管,例如“P2P*”軟件就是使用這種方式
代理ARP可能會引發(fā)其他的問題,如:
路由器GW的外網(wǎng)口連接的是廣播型的以太網(wǎng),GW路由的下一跳是R1,但使用者在寫路由器時,將GW的端口名字作為了next-hop,此時路由器在請求ARP時,永遠只會請求IP包中目的IP的ARP信息,由于以太網(wǎng)廣播的關系,R1和R2都能收到該請求,如果R1和R2都能到達目的地,且都開啟了代理ARP,則GW的ARP表會產(chǎn)生錯亂