arp 项删除失败: 请求的操作需要提升。_ccna必懂篇-arp协议工作原理详解。
本次呢,要說的是arp協議,那么什么是arp協議呢?有什么作用呢?
什么是arp
ARP(Address Resolution Protocol)地址解析協議,地址解析協議由互聯網工程任務組(IETF)在1982年11月發布的RFC 826中描述制定。
Arp的作用
我們知道OSI把網絡工作分為七層,當網絡設備有數據要發送給另一臺網絡設備時,必須要知道對方的網絡層地址(ip地址),ip地址由網絡層來提供,但是僅有ip地址是不夠的,ip數據報文必須封裝成幀才能通過數據鏈路層進行發送,數據幀必須要包含目的mac地址,因此發送端還必須獲取到目的mac地址,通過目的ip地址來獲取目的mac地址的過程是由ARP協議來實現的。
arp解析過程
1、每個主機都設有一個ARP高速緩存,里面有所在局域網上的各主機和路由器的ip地址到硬件地址的映射
2、當主機a向本局域網的某個主機b發送ip數據包時,現在本機arp表中產看是否有主機b的ip地址對應關系,如果有查處其mac地址,寫入MAC幀,然后通過局域網將MAC幀發往主機b
3、也有可能找不到主機b的mac地址,有可能主機b剛剛接入網絡,這種情況下,就要按照步驟找到主機b的mac地址
①發送端廣播發送arp請求包,請求對應主機的mac地址
②本局域網所有主機都會收到此ARP請求,只有對應主機才會做出應答
③接收端學習arp緩存
④接收端回復arp響應(單播)
⑤發送端學習arp緩存
4、每一條映射都設置生存時間(10-20分鐘),超過時間刪除此條目
5、如果目標設備位于其他網絡,則源設備會在ARP緩存表中查找網關的MAC地址,然后將數據發送給網關,網關再把數據轉發給目的設備。
取個例子:
如圖,當主機A想向主機B發送數據時,首先將B的地址和自己的地址進行一個與運算來確認兩主機是否處于同一個網段。
如果在同一個網段
首先主機A會查看本地的ARP表,是否有B主機地址所對應的MAC地址。
①如果存在:就直接把IP數據封裝成幀進行通信。
②如果不存在:
1.則a先緩存該數據報文,然后廣播發送arp請求包詢問主機b的mac地址是多少
2.交換機收到廣播包,從接收端口以外的所有端口轉發出去,這時候c收到之后發現不是請求自己,就丟棄此廣播包。
3.b收到之后看到再問自己的mac,首先將廣播包的源mac和ip綁定到自己的arp表
4.然后單播回復給a,告訴主機a自己的mac地址,a收到之后主機b的mac地址,將主機b的ip和mac進行綁定到自己的arp表
如果不在同一個網段
在進行跨網段傳輸的時候需要把數據交給網關,然后由網關進行轉發,所以只需要封裝網關的mac地址就好,如果不知道網關的mac地址還是會發arp請求網關的mac地址。請求步驟和上面一樣。
ARP報文結構解析
Hardware Type:表示硬件地址類型,一般為以太網
Protocol Type:表示三層協議地址類型,一般為IP
Hardware Length和Protocol Length:為MAC地址和IP地址的長度,單位是字節
Operation Code:指定了ARP報文的類型,包括ARP request(請求)和ARP reply(應答)
Source Hardware Address:指的是發送ARP報文的設備MAC地址
Source Protocol Address:指的是發送ARP報文的設備IP地址
Destination Hardware Address:指的是接收者MAC地址,在ARP request報文中,該字段值為0
Destination Protocol Address:指的是指接收arp報文的IP地址
ARP代理
我們說到對于不同網段的訪問會封裝網關的mac地址,如果此時主機a沒有網關,他將會以廣播的形式發送arp request報文,請求b的mac地址,但是廣播報文無法被路由器傳遞,所以主機b無法收到主機a的arp請求報文,也就無法應答。
這時候可以通過在路由器上開啟arp代理功能解決此問題,啟用arp代理的路由器收到請求包之后,會查找路由表,如果存在主機b的路由表項,路由器會使用自己的g0/0/0接口的mac地址來回應a發的arp request,主機a收到arp reply后,將以路由器的g0/0/0接口mac地址作為目的mac地址進行轉發數據。
Arp缺陷
在ARP緩存表機制存在一個缺陷,就是當請求主機收到ARP應答包后,不會去驗證自己是否向對方主機發送過ARP請求包就直接把這個返回包中的IP地址與MAC地址的對應關系保存進ARP緩存表中,如果原有相同IP對應關系,則原有的會被替換。這樣就導致了一種攻擊方式叫做arp欺騙攻擊。
還用這張圖,上面我們說到arp的缺陷是不會驗證自己有沒有向目的主機發送arp request,a請求一個包,b就應答一個包。
假如說a沒有請求的時候,主機a b c工作正常,這時候c作為攻擊者直接給a發送一個應答包,說自己是12.1.1.2(主機b),mac地址是cccc,這時候a會認為12.1.1.2對應的mac地址是cccc,a的緩存當中就存在了一條假記錄,這時候a往主機b發的數據包mac地址就是cccc,交換機轉發數據只讀取mac地址,這時候發現cccc這個mac綁定在自己的e0/3接口,這時候就將數據發給了主機c,這時候主機c就竊取到了a發給b的數據包。
C再使用相同的方法告訴b說自己就是a,這時候a和b的通訊完全經過了主機c。這就是利用arp缺陷而產生的攻擊方式。
Arp攻擊的防御方法:
Arp綁定將ip與mac進行綁定
通過arp防火墻來防御arp攻擊
總結
以上是生活随笔為你收集整理的arp 项删除失败: 请求的操作需要提升。_ccna必懂篇-arp协议工作原理详解。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 控制台输入命令无效_在控制台
- 下一篇: android device monit