ARP欺騙原理詳細介紹

2022-02-28 22:17:47 字數 2855 閱讀 7432

前面我們已經介紹過,一台主機a如果要向目標主機b傳送資料,無論主機b在本網段還是在遠端網路,這些需要發出去的資料報中需要四樣必不可少的位址,那就是源ip位址和源mac位址,以及目標ip位址和目標mac位址,當主機b在封裝資料報時,自己的ip位址和mac位址可以正確地,輕易地封裝進去,目標ip自己也知道,可以封裝進去,可是,關鍵就在目標mac該如何得來,由於主機a曾經和主機b發生過通訊,曾經通過arp得到過目標主機的mac位址,那麼它就會把主機b的ip位址和mac對應地記錄下來,放在快取表中,以備下一次再使用,但要說明的是,因為考慮到主機b有更換網絡卡的可能,所以無論何時當主機a再次收到關於主機b的mac位址更新資訊,它都將重新整理自己的arp快取表,將新收到的mac位址和主機b的ip位址對應起來,正因為主機a在任何時候收到arp資料報,都將再次更新arp快取,所以導致了另外乙個令人頭疼的事情發生:

如果現在一台不懷好意的主機c想要竊取網路中的資料或者其它目的,那麼這時它就可能向a傳送乙個arp資料報,資料報中聲稱主機b的mac位址已經改變,當主機a收到後,得知此訊息,就立刻更新原來主機b的mac位址,當它要和主機b進行通訊時,就會在資料報中封裝新的mac位址,如果這個mac位址是前面主機c的,那麼主機a就會把本來要發給主機b的資料錯誤地發給了主機c,被主機c竊取成功,而主機c為了掩人耳目,「看」過資料後,再發給主機b,從而不影響主機a和主機b之間的正常通訊,但如果前面主機c發給主機a的arp更新包中的mac位址不是自己的,而是偽造的根本不存在的mac位址,那麼這時主機a和主機b之間就不可能再正常通訊了,這就是arp病毒對pc主機在網路間通訊造成的嚴重威脅和後果,造成資料被竊聽或網路不通的慘局!

雖然區域網之間通訊是主機與主機之間直接通訊,但是,如果要與外網的主機通訊,這時,還需要用到閘道器或路由器(很多情況下乙個區域網的路由器就直接充當閘道器的角色),當區域網內的某台主機a想要與外網的主機通訊,那麼這時,它在對資料報進行封裝時,目標mac位址需要寫成閘道器的mac位址,再交由閘道器代為**,發到網外去,如果這台主機a在使用arp資料報請求閘道器的mac位址時,出現一台不懷好意的主機向主機a回應了乙個arp回應報,資料報中就將這台病毒主機或者根本不存在的mac位址告訴主機a,那麼這時,主機a發給遠端網路的資料由於經過不懷好意的主機「中轉」了一下,造成資料被竊聽,或因為錯誤的目標mac,而最終沒有閘道器給資料進行**,導致與外網不能能正常通訊,這就是為什麼arp病毒不僅能夠從主機下手來影響區域網內的通訊,也能影響區域網與外網的通訊。

既然arp病毒可以從主機的下手影響區域網與外網通訊,那麼它同樣又可以從閘道器和路由器下手來影響網路間的通訊,(多數時候路由器直接充當閘道器),那麼arp病毒是在什麼時候來讓路由器或閘道器的arp快取產生混亂的呢?那麼請先回想一下,區域網內的主機向外網傳送資料時,要通過arp來得到閘道器或路由器的mac,就有可能遭到arp欺騙,然後,當閘道器或路由器收到來自外網的資料報要發到本地網路時,那麼它同樣要把這些資料報的目標mac位址改寫成最終接收pc主機的mac位址,它首先是查自己的arp快取表,如果存在它需要的條目,就直接封裝進資料發出去,如果快取表裡沒有該怎麼辦呢?

不錯,還是使用老方法,用arp廣播來請求目標的mac位址,所以這時又會出現什麼情況呢,那就是遭到不懷好意的主機發來的錯誤的arp回應,讓閘道器路由器在資料報中封裝了錯誤的目標mac位址,從而造成資料報沒有能夠正確到達目的地,從而達到這台不懷好意的主機竊取資料和影響網路通訊的目的,因為路由器隨時收到主機發來的arp更新包,都會再次把新的mac和原來的ip位址對應起來,寫入快取表。到這裡為止,可以得知,arp病毒可以通過回應錯誤的arp資料報來讓主機和路由器的arp錯誤,也可以通過隨時傳送錯誤的arp更新包來讓主機和路由器的arp快取錯誤,這些錯誤導致網路的資料被竊聽和丟失,都是針對主機和路由器下手的,那麼有人應該會問,交換機會不會因為arp病毒而產生錯誤呢?那麼我可以鄭重地告訴大家,arp病毒所產生的錯誤與交換機無任何關係,也對交換機不能造成任何後果,理由如下:

無論交換機在收到主機或者路由器發過來的資料時,都有責任對這些資料進行**,當它從某個埠收到資料報後,讀取資料報中的源mac位址,從而就得到了此埠和mac位址的對映表,當它在對映表中還找不到目標mac位址來確定應該將資料發向哪個埠時,它就會在除源埠之外的其它所有埠進行泛洪(類似廣播),這時,因為是泛洪,所以真正的目標主機能夠收到這些資料報,也因為交換機在**資料報的時候,即使arp快取表是空的,它也不需要發arp廣播來請求mac位址,所以也根本不存在arp欺騙,如果下面繼續有其它埠的資料要**,交換機再使用上面同樣的方法,來學習到每個埠對應的mac位址,就是因為通過這樣向其它埠泛洪來學習到埠和mac位址的對映表,所以交換機從來沒有收到過任何關於mac位址到ip位址的arp資料報,況且交換機也從來不讀取資料報中的ip位址.

在這裡可以為交換機總結出:

1.交換機任何時候都不關心ip位址,因為交換機是二層裝置,(三層交換機除外,三層交換機就當路由器來對待了)。

2.交換機中的arp快取是埠號到mac位址的對映,與ip位址無關。

3.交換機中的arp快取表是通過在**資料報時讀取源埠和源mac時記錄下來的,而不是通過arp廣播去詢問的。

4.當交換機的快取表不能反應出目標mac和埠的對映時,就會向除源埠外的每個埠發乙份(泛洪),以保證真正的目標主機能夠收到資料。

5.因為arp快取中找不到埠號和mac位址的對映時,就會泛洪,所以人工地繫結埠和mac位址只是解決泛洪,讓交換機不要因為找不到目標mac位址而向每個埠都複製資料,這種方法與解決arp欺騙沒有任何關係!

請仔細理解交換機的工作原理:交換機是根據自己的arp快取表來提供資料**的,arp快取中記錄著埠號對應的mac位址,當收到資料需要**時,先讀取資料中的源mac位址,再看來自哪個埠,然後記錄下來寫入arp快取表,最後交換機查詢arp快取表以確定該把資料發向哪個埠,如果arp快取中沒有找到答應,那麼這時交換機便決定把資料向除了向源埠之外其它所有埠都複製乙份,這樣便可以萬無一失地把資料送到目的地,除非根本沒有這個目的地,所以交換機的arp快取表是通過讀取需要**的資料的源mac和源埠來學習到的,不是通過arp詢問來更新的!

ARP欺騙原理

乙太網內的嗅探sniff對於網路安全來說並不是什麼好事,雖然對於網路管理員能夠跟蹤資料報並且發現網路問題,但是如果被破壞者利用的話,就對整個網路構成嚴重的安全威脅。arp快取表假設這樣乙個網路 e cellspacing 0 bordercolordark ffffff cellpadding 2 ...

ARP欺騙原理

前面我們已經介紹過,一台主機a如果要向目標主機b傳送資料,無論主機b在本網段還是在遠端網路,這些需要發出去的資料報中需要四樣必不可少的位址,那就是源ip位址和源mac位址,以及目標ip位址和目標mac位址,當主機b在封裝資料報時,自己的ip位址和mac位址可以正確地,輕易地封裝進去,目標ip自己也知...

ARP攻擊與欺騙的原理

arp攻擊的原理 arp 攻擊很惡意,主要目的是使網路無法正常通訊 arp攻擊原理 1 pc2向pc1傳送乙個虛假的閘道器mac位址 2 pc1向pc2傳送資料時,就會傳送到虛假的mac位址當中,不 會傳到正常internet閘道器,而虛假位置不提供internet網路服務,所以pc1的資料一直發不...