【文章內(nèi)容簡介】
該 IP 地址對2 應的 MAC 地址,如有 ,就直接將數(shù)據(jù)包發(fā)送到該 MAC 地址 ;如無, 就向本地網(wǎng)段發(fā)起一個 ARP 請求的廣播包,查詢此目的主機對應的 MAC 地址,此 ARP 請求數(shù)據(jù)包里包括源主機的 IP 地址、硬件地址、以及目的主機的 IP 地址。網(wǎng)絡中所有的主機收到該 ARP 請求后,會檢查數(shù)據(jù)包中的目的 IP 是否和自己的 IP 地址一致。如果不相同就忽略此數(shù)據(jù)包 ; 如果相同,該主機首先將發(fā)送端的 MAC 地址和 IP 地址添加到自己的 ARP 列表中,如果 ARP 表中已經(jīng)存在該 IP 的信息,則將其覆蓋,然后給源主機發(fā)送一個 ARP 口向應的數(shù)據(jù)包,告訴對方自己是它需要查找的 MAC 地址 。源主機收 到這個 ARP 口向應數(shù)據(jù)包后,將得到的目的主機的 IP地址和 MAC 地址添加到自己的 ARP 列表中,并利用此信息開始數(shù)據(jù)的傳輸。如果源主機一直沒有收到 ARP 響應數(shù)據(jù)包,表示 ARP 查詢失敗。 ARP 欺騙攻擊原理 ARP 欺騙 [ 1] 是黑客常用的攻擊手段之一, ARP 欺騙分為二種,一種是對路由器 ARP 表的欺騙;另一種是對內(nèi)網(wǎng) PC 的網(wǎng)關欺騙。 第一種 ARP 欺騙的原理是 —— 截獲網(wǎng)關數(shù)據(jù)。它通知路由器一系列錯誤的內(nèi)網(wǎng) MAC 地址,并按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結(jié)果路由器的所有數(shù)據(jù)只能 發(fā)送給錯誤的 MAC 地址,造成正常 PC無法收到信息。第二種 ARP 欺騙的原理是 —— 偽造網(wǎng)關。它的原理是建立假網(wǎng)關,讓被它欺騙的 PC 向假網(wǎng)關發(fā)數(shù)據(jù),而不是通過正常的路由器途徑上網(wǎng)。在 PC看來,就是上不了網(wǎng)了,“網(wǎng)絡掉線了”。 ARP 表是 IP 地址和 MAC 地址的映射關系表,任何實現(xiàn)了 IP 協(xié)議棧的設備,一般情況下都通過該表維護 IP 地址和 MAC 地址的對應關系,這是為了避免 ARP解析而造成的廣播數(shù)據(jù)報文對網(wǎng)絡造成沖擊。 ARP 表的建立一般情況下是通過二個途徑: ( 1)主動解析 :如果一臺計算機想與另外一臺不知道 MAC 地址的計算機通信,則該計算機主動發(fā) ARP 請求,通過 ARP 協(xié)議建立 (前提是這兩臺計算機位于同一個IP 子網(wǎng)上 )。 ( 2)被動請求 :如果一臺計算機接收到了一臺計算機的 ARP 請求,則首先在本地建立請求計算機的 IP 地址和 MAC 地址的對應表。 因此,針對 ARP 表項,一個可能的攻擊就是誤導計算機建立正確的 ARP 表。根據(jù) ARP 協(xié)議,如果一臺計算機接收到了一個 ARP 請求報文,在滿足下列兩個條件的情況下,該計算機會用 ARP 請求報文中的源 IP 地址和源物理地址更新自己的 ARP 緩存: ( 1) 如果發(fā)起該 ARP 請求的 IP 地址在自己本地的 ARP 緩存中; 3 ( 2) 請求的目標 IP 地址不是自己的。 可以舉一個例子說明這個過程,假設有三臺計算機 A, B, C,其中 B 已經(jīng)正確建立了 A 和 C 計算機的 ARP 表項。假設 A 是攻擊者,此時, A 發(fā)出一個 ARP 請求報文,該 ARP 請求報文這樣構(gòu)造: ( 1) 源 IP 地址是 C 的 IP 地址,源物理地址是 A 的 MAC 地址; ( 2) 請求的目標 IP 地址是 B 的 IP 地址。 這樣計算機 B 在收到這個 ARP 請求報文后 (ARP 請求是廣播報文,網(wǎng)絡上所有設備都能收到 ),發(fā)現(xiàn) B 的 ARP 表項已經(jīng)在自己的緩存中,但 MAC 地址與收到的請求的源物理地址不符,于是根據(jù) ARP 協(xié)議,使用 ARP 請求的源物理地址 (即A 的 MAC 地址 )更新自己的 ARP 表。 這樣 B 的 ARP 緩存中就存在這樣的錯誤 ARP 表項: C 的 IP 地址跟 A 的 MAC地址對應。這樣的結(jié)果是, B 發(fā)給 C 的數(shù)據(jù)都被計算機 A 接收到 。 假設主機 A (MAC: CCCCCCCCCC)已知 B 的 IP地址,于是他暫時將自己的 IP地址改為 B 的 IP 地址。當 C 想要向 B 發(fā)送數(shù)據(jù)時,假設目前他的 ARP 緩存中沒有關于 B 的記錄,那么他首先在局域網(wǎng)中廣播包含 B 主機 IP 地址的 ARP 請求。但此時 A 具有與 B 相同的 IP 地址,于是分別來自 B 與 A 的 響 應報文將相繼到達C。此時, A 是否能欺騙成功取決于 C 的操作系統(tǒng)處理重復 ARP 響應報文機制。