ARP原理 和防護

ARP 基本原理和防護

一、 ARP 基本原理:
地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是建立在網絡中各個主機互相信任的基礎上的,網絡上的主機可以自主發送ARP應答消息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此***者就可以向某一主機發送僞ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關係、添加或刪除靜態對應關係等。相關協議有RARP、代理ARP。NDP用於在IPv6中代替地址解析協議。

二、 ARP 功能:
地址解析協議由互聯網工程任務組(IETF)在1982年11月發佈的RFC 826中描述制定。 地址解析協議是IPv4中必不可少的協議,而IPv4是使用較爲廣泛的互聯網協議版本(IPv6仍處在部署的初期)。
OSI模型把網絡工作分爲七層,IP地址在OSI模型的第三層,MAC地址在第二層,彼此不直接打交道。在通過以太網發送IP數據包時,需要先封裝第三層(32位IP地址)、第二層(48位MAC地址)的報頭,但由於發送時只知道目標IP地址,不知道其MAC地址,又不能跨第二、三層,所以需要使用地址解析協議。使用地址解析協議,可根據網絡層IP數據包包頭中的IP地址信息解析出目標硬件地址(MAC地址)信息,以保證通信的順利進行。
三、 工作過程
主機A的IP地址爲192.168.1.1,MAC地址爲0A-11-22-33-44-01;
主機B的IP地址爲192.168.1.2,MAC地址爲0A-11-22-33-44-02;
當主機A要與主機B通信時,地址解析協議可以將主機B的IP地址(192.168.1.2)解析成主機B的MAC地址,以下爲工作流程:

第1步:根據主機A上的路由表內容,IP確定用於訪問主機B的轉發IP地址是192.168.1.2。然後A主機在自己的本地ARP緩存中檢查主機B的匹配MAC地址。

第2步:如果主機A在ARP緩存中沒有找到映射,它將詢問192.168.1.2的硬件地址,從而將ARP請求幀廣播到本地網絡上的所有主機。源主機A的IP地址和MAC地址都包括在ARP請求中。本地網絡上的每臺主機都接收到ARP請求並且檢查是否與自己的IP地址匹配。如果主機發現請求的IP地址與自己的IP地址不匹配,它將丟棄ARP請求。

第3步:主機B確定ARP請求中的IP地址與自己的IP地址匹配,則將主機A的IP地址和MAC地址映射添加到本地ARP緩存中。

第4步:主機B將包含其MAC地址的ARP回覆消息直接發送回主機A。

第5步:當主機A收到從主機B發來的ARP回覆消息時,會用主機B的IP和MAC地址映射更新ARP緩存。本機緩存是有生存期的,生存期結束後,將再次重複上面的過程。主機B的MAC地址一旦確定,主機A就能向主機B發送IP通信了

四、 ARP欺騙:

地址解析協議是建立在網絡中各個主機互相信任的基礎上的,它的誕生使得網絡能夠更加高效的運行,但其本身也存在缺陷:
ARP地址轉換表是依賴於計算機中高速緩衝存儲器動態更新的,而高速緩衝存儲器的更新是受到更新週期的限制的,只保存最近使用的地址的映射關係表項,這使得***者有了可乘之機,可以在高速緩衝存儲器更新表項之前修改地址轉換表,實現***。ARP請求爲廣播形式發送的,網絡上的主機可以自主發送ARP應答消息,並且當其他主機收到應答報文時不會檢測該報文的真實性就將其記錄在本地的MAC地址轉換表,這樣***者就可以向目標主機發送僞ARP應答報文,從而篡改本地的MAC地址表。 ARP欺騙可以導致目標計算機與網關通信失敗,更會導致通信重定向,所有的數據都會通過***者的機器,因此存在極大的安全隱患。

五、基本防禦措施
1.不要把網絡安全信任關係建立在IP基礎上或MAC基礎上(RARP同樣存在欺騙的問題),理想的關係應該建立在IP+MAC基礎上。
2.設置靜態的MAC-->IP對應表,不要讓主機刷新設定好的轉換表。
3.除非很有必要,否則停止使用ARP,將ARP做爲永久條目保存在對應表中。
4.使用ARP服務器。通過該服務器查找自己的ARP轉換表來響應其他機器的ARP廣播。確保這臺ARP服務器不被黑。
5.使用“proxy”代理IP的傳輸。
6.使用硬件屏蔽主機。設置好路由,確保IP地址能到達合法的路徑(靜態配置路由ARP條目),注意,使用交換集線器和網橋無法阻止ARP欺騙。
7.管理員定期用響應的IP包中獲得一個RARP請求,然後檢查ARP響應的真實性。
8.管理員定期輪詢,檢查主機上的ARP緩存。
9.使用防火牆連續監控網絡。注意有使用SNMP的情況下,ARP的欺騙有可能導致陷阱包丟失。
10.若感染ARP病毒,可以通過清空ARP緩存、指定ARP對應關係、添加路由信息、使用防病毒軟件等方式解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章