1. 網絡層
1.1. ARP協議
1.1.1. 前言
1.1.2. ARP的基本概念
Address Resolution Protocol,地址解析協議
通過對方的IP地址去解析對方的MAC地址
1.1.3. ARP的報文
ARP報文格式
硬件類型:標識硬件地址的類型,值爲1表示以太網地址
協議類型:表示要映射的協議地址類相關。0x0080表示IP地址類型
硬件地址長度和協議地址長度,對於以太網上的IP地址的ARP請求或應答來說,他們的值分別爲6和4
操作類型(op):1表示ARP請求,2表示ARP應答,3表示RARP請求,4表示進行RARP應答
發送方的硬件地址:發送方設備的硬件地址
發送方的協議地址:發送方設備IP地址
目標硬件地址:接收方設備硬件地址
目標協議地址:接收方設備IP地址
ARP請求報文
ARP應答報文
1.1.4. ARP的工作過程
假設主機A和C在同一個網段,主機A要向主機C發送信息,具體的地址解析過程如下:
主機A首先查看自己的ARP表,確定其中是否包含有主機C對應的ARP表項。如果找到了對應的MAC地址,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,並將數據包發送給主機C
如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然後以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址爲主機A的IP地址和MAC地址,目標IP地址和目標MAC地址爲主機C的IP地址和全0的MAC地址。由於ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但只有被請求的主機(即主機C)會對該請求進行處理
主機C比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之後以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址
主機A收到ARP響應報文後,將主機B的MAC地址加入到自己的ARP表中以用於後續報文的轉發,同時將IP數據包進行封裝後發送出去
1.1.5. ARP表
設備通過ARP解析到目的MAC地址後,將會在自己的ARP表中增加IP地址到MAC地址的映射表項,以用戶後續到同一目的地報文的轉發
當然我還有很多整理好的資料文檔和視頻文件,【 點這裏】 獲得更多資料文檔 往期教學視頻,主要也是想給新手小白少走點彎路。
動態ARP表
動態ARP表項由ARP協議通過ARP報文自動生成和維護,可以被老化,可以被新的報文更新,可以被靜態ARP表項覆蓋。
當到達老化時間、接口down時會刪除相應的動態ARP表項
靜態ARP表
靜態ARP表項通過手工配置和維護,不會被老化,不會被動態ARP表覆蓋
配置靜態ARP表項可以增加通信的安全性。靜態ARP表項可以限制和指定IP地址的設備通信時只使用指定的MAC地址,此時***報文無法修改此表項的IP地址和MAC地址的映射關係,從而保護了本設備和指定設備之間的正常通信
ARP表的更新和老化
ARP表的更新條件
在實際環境中,只有同時滿足兩個條件時,設備的ARP表項纔會更新
1. 設備收到來自某IP的ARP請求包或免費ARP包
2. 設備的現有ARP表項中已經存在該IP對應的ARP表項
ARP表的老化時間
不同的系統對ARP表項的老化時間設定不太一樣,在Windows2000/xp環境中,ARP表項的老化時間是2分鐘;大部分Cisco交換機中,該值爲5分鐘,華爲的設備一般是20分鐘。
ARP表老化時間定時器
滿足以下任一條件時,設備的ARP表項的老化時間定時器會充值
1. 設備響應的ARP表項更新時
2. 設備調用ARP表項轉發數據後
1.1.6. 免費ARP
免費ARP的概念
免費ARP指主機發送ARP查找自己的IP地址,通常發生在系統引導期間進行接口配置時,與標準ARP的區別就是免費ARP將目的IP地址封裝爲自己的IP地址,即向網絡中請求自己的MAC地址
免費ARP的作用
檢測地址衝突
正常情況下發送免費ARP請求不會收到ARP應答,如果收到一個ARP應答,則說明網絡中存在與本機相同的IP地址的主機,發生了地址衝突
更新其他主機高速緩存中舊的硬件地址
如果發送免費ARP的主機正好改變了硬件地址,如更換了接口卡
其他主機接收到這個ARP請求的時候,發現自己的ARP高速緩存表中存在對應的IP地址,但是MAC地址不匹配,那麼就需要利用接收到的ARP請求來更新本地的ARP高速緩存表項
網關利用免費ARP防止ARP***
有些網關設備在一定的時間間隔內向網絡主動發送免費的ARP報文,讓網絡內的其他主機更新ARP表項中的網關MAC地址信息,以達到防止或緩解ARP***的效果
利用免費ARP進行ARP***
ARP協議並不只在發送了ARP請求才接收ARP應答,計算機只要收到ARP應答數據包,就會使用應答包中的IP和MAC地址對本地的ARP緩存進行更新
主機可以虛構免費ARP應答,將ARP的源MAC設置爲錯誤的MAC地址,並把這個虛假的免費ARP應答發送到網絡中,那麼所有接收到這個免費ARP應答的主機都會更新本地ARP表項中相應IP地址對應的MAC地址
更新成功後,這些主機的數據報文就會被轉發到錯誤的MAC地址,從而實現了ARP欺騙
1.1.7. 代理ARP
代理ARP的概念
代理ARP(Proxy)就是通過使用一個主機(通常爲Router),來作爲指定的設備使用自己的MAC地址來對另一臺設備的ARP請求作出應答
通俗來說就是由中間設備來代替其他主機響應arp請求
爲什麼需要代理ARP
先要了解,路由器的重要功能之一就是把局域網的廣播報限制在該網段內,阻止其擴散,否則會造成廣播風暴
ARP請求是廣播報,他詢問的對象如果在同一個局域網內,就會收到ARP應答。如果詢問對象不在一個局域網內如何處理?路由器就提供了代理ARP爲這個問題提供瞭解決方案
代理ARP的工作機制
兩臺主機A和B處於同一網段但不同的廣播段(不在同一物理網絡)時,主機A發送ARP請求主機B的MAC地址時,因爲路由器不轉發廣播報的原因,ARP請求只能達到路由器。
如果路由器使用了ARP代理功能,並知道主機B屬於它連接的網絡,那麼路由器就用自己接口MAC地址代替主機B的MAC地址來對主機A進行ARP應答。主機A接收ARP應答,但並不知道代理ARP的存在
代理ARP的優缺點
優點
代理ARP能在不影響路由表的情況下添加一個新的Router,使子網對該主機變得透明化。
一般代理ARP應該使用在主機沒有配置默認網關或沒有任何路由策略得網絡上
缺點
從工作過程可以看到,這其實是一種ARP欺騙
通過兩個物理網絡之間的路由器的代理ARP功能其實互相隱藏了物理網絡,這導致無法對網絡拓撲進行網絡概括
代理ARP增加了使用它的那段網段的ARP流量,主機需要更大的ARP緩存空間,也不會爲不使用ARP進行地址解析的網絡工作
1.1.8. ARP***
ARP***的原理
ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的進行。基於ARP協議的這一工作特性,***向對方計算機不斷髮送有欺詐性質的ARP數據包,數據包內包含有與當前設備重複的Mac地址,使對方在迴應報文時,由於簡單的地址重複錯誤而導致不能進行正常的網絡通信
受到ARP***產生的現象
不斷彈出“本機的XXX段硬件地址與網絡中的XXX段地址衝突”的對話框。
計算機不能正常上網,出現網絡中斷的症狀
注:因爲這種***是利用ARP請求報文進行“欺騙”的,所以防火牆會誤以爲是正常的請求數據包,不予攔截。因此普通的防火牆很難抵擋這種***
當然我還有很多整理好的資料文檔和視頻文件,【 點這裏】 獲得更多資料文檔 往期教學視頻,主要也是想給新手小白少走點彎路。