版權聲明:原創作品,謝絕轉載!否則將追究法律責任。 ————— 作者:kirin
ARP解析MAC地址需要了解的:
以太網環境下,同一個網段的主機之間需要互相知道對方的MAC地址,才能訪問。
從上層到下層的封裝過程中,第三層封裝需要知道目的IP,第二層封裝需要知道目的MAC。
目的IP一般由用戶手工輸入,或者由應用程序填充,也可以通過名稱解析系統解析得到,而目的MAC就需要使用ARP來解析。
ARP解析MAC地址的過程:
第一步:
上層應用產生數據,這里用FTP協議為例,在FTP協議中定位了目的IP。
第二步:
那么,封裝的過程如下:
- 應用層:需要FTP的控制信息,包括用戶名、密碼等;
- 傳輸層:目的端口號為21,源為隨機端口號;
- 網絡層:目的IP為172.16.1.200,源IP為172.16.1.1;
- 數據鏈路層:因為不知道目的IP 172.16.1.200對應的MAC,所以目的IP到目的MAC的封裝映射失敗;
三層到二層的封裝失敗,由於二層是以太網,ARP的工作機制便會產生ARP Request去解析目的MAC,此時,源MAC為數據發起者的MAC,目的MAC地址為FFFF:FFFF:FFFF(代表所有MAC)
第三步:
ARP Request到達本網段中的所有設備上,因為目的為FFFF:FFFF:FFFF,所以所有設備都可以拆掉二層的封裝,然后解讀ARP數據包中需要解析的目的IP。
第四步:
目的IP不正確的設備直接忽略這個ARP請求包,目的IP正確的設備,會產生一個ARP Reply去回應這個ARP Request。
此時,二層的源MAC為被解析設備的MAC,目的為ARP解析發起者的MAC。
第五步:
數據的發起者接到ARP Reply后,將目的IP與目的MAC的對應關系添加到自己的ARP表中。
第六步:
之前未完成二層封裝的FTP數據,這時重新開始封裝二層頭部,此時,正確的目的MAC就被封裝到了整個數據幀中。
只有完成了整個TCP/IP協議棧封裝的數據幀,才能正常的從主機上發出去。
這就是ARP解析MAC地址的整個過程。
什么是ARP欺騙?
ARP欺騙是一種惡意行為者通過局域網發送偽造的ARP(地址解析協議)消息的攻擊類型。這會導致將攻擊者的MAC地址與網絡上的合法計算機或服務器的IP地址鏈接起來。一旦攻擊者的MAC地址連接到可信的IP地址,攻擊者將開始接收任何用於該IP地址的數據。ARP欺騙可以使惡意方攔截,修改甚至停止正在傳輸的數據。ARP欺騙攻擊只能發生在使用地址解析協議的局域網上。
ARP欺騙檢測,預防和保護
以下方法是檢測,防止和防范ARP欺騙攻擊的推薦措施:
-
數據包過濾:數據包過濾器在數據包通過網絡傳輸時檢查數據包。數據包篩選器在防止ARP欺騙方面很有用,因為它們能夠過濾和阻止源地址信息沖突的數據包(來自網絡外部的顯示網絡內部源地址的數據包,反之亦然)。
-
避免信任關系:組織應盡可能少地開發依賴信任關系的協議。信任關系僅依靠IP地址進行身份驗證,這使攻擊者在進行ARP欺騙攻擊時能夠更輕松地進行。
-
使用ARP欺騙檢測軟件:有許多程序可以幫助組織檢測ARP欺騙攻擊。這些程序通過在數據傳輸之前檢查和驗證數據並阻止似乎被欺騙的數據來工作。
-
-