本文子明特別用通俗的例子,說明ARP欺騙攻擊的原理,使ARP欺騙攻擊原理更加清楚的展現(xiàn)在你的面前。
了解ARP地址解析協(xié)議
我們先來簡單描述下什么是ARP,ARP是地址解析協(xié)議,ARP協(xié)議主要負(fù)責(zé)將局域網(wǎng)中的32位IP地址轉(zhuǎn)換為對應(yīng)的48位物理地址,即網(wǎng)卡的MAC地址,比如IP地址為192.168.0.1計算機上網(wǎng)卡的MAC地址為00-03-0F-FD-1D-2B。整個轉(zhuǎn)換過程是一臺主機先向目標(biāo)主機發(fā)送包含IP地址信息的廣播數(shù)據(jù)包,即ARP請求,然后目標(biāo)主機向該主機發(fā)送一個含有IP地址和MAC地址數(shù)據(jù)包,通過協(xié)商這兩個主機就可以實現(xiàn)數(shù)據(jù)傳輸了。
ARP緩存表
在安裝了以太網(wǎng)網(wǎng)絡(luò)適配器(既網(wǎng)卡)的計算機中有一個或多個ARP緩存表,用于保存IP地址以及經(jīng)過解析的MAC地址。在Windows中要查看或者修改ARP緩存中的信息,可以使用ARP命令來完成,比如在Windows XP的命令提示符窗口中鍵入“ARP -a”或“ARP -g”可以查看ARP緩存中的內(nèi)容;鍵入“ARP -d IPaddress”表示刪除指定的IP地址項(IPaddress表示IP地址)。ARP命令的其他用法可以鍵入“ARP /?”查看幫助信息。
什么是ARP欺騙
將ip地址轉(zhuǎn)換為mac地址是ARP的工作,在網(wǎng)絡(luò)中發(fā)送虛假的ARP respones,就是ARP欺騙。
在現(xiàn)實中,我們都知道郵政機構(gòu)的主要職責(zé)就是靠郵差來接收和收發(fā)包裹,我們只要填寫兩個正確信息:郵政編碼和收件人地址,就可以吧郵件送達目的地。這中間郵政編碼起到很大的作用,它的主要作用是把相應(yīng)的地址信息用數(shù)字的形式統(tǒng)一編碼,比如:10080,就代表了北京市某個行政地區(qū)。
如果我們清楚的知道郵政系統(tǒng)是怎樣把包裹送達目的地,就很容易立即ARP協(xié)議的處理過程。ARP同樣處理需要兩個信息來完成數(shù)據(jù)傳輸,一個是IP地址,一個是MAC地址。所以當(dāng)ARP傳輸數(shù)據(jù)包到目的主機時,就好像郵局送包裹到目的地,IP地址就是郵政編碼,MAC地址就是收件人地址。ARP的任務(wù)就是把已知的IP地址轉(zhuǎn)換成MAC地址,這中間有復(fù)雜的協(xié)商過程,這就好像郵局內(nèi)部處理不同目的地的郵件一樣。我們都清楚郵局也有可能送錯郵件,原因很簡單,就是搞錯了收件人地址,或是搞錯了郵政編碼,而這些都是人為的;同理,ARP解析協(xié)議也會產(chǎn)生這樣的問題,只不過是通過計算機搞錯,比如,在獲得MAC地址時,有其他主機故意頂替目的主機的MAC地址,就造成了數(shù)據(jù)包不能準(zhǔn)確到達。這就是所謂的ARP欺騙。
ARP欺騙會導(dǎo)致什么問題(這是本文的亮點)
假設(shè),李四在北京,郵編是100080。朋友張三要給李四發(fā)一封信,當(dāng)張三發(fā)現(xiàn)通訊錄里沒有李四的郵政編碼,他就把信件發(fā)到了北京市郵局,于是郵局發(fā)了個廣播給用戶,問誰的地址郵編是10080,結(jié)果李四發(fā)現(xiàn)自己的郵編是10080,李四就會舉手,說我是。這樣,信件就發(fā)到李四那兒了。同時李四的地址信息也被張三記在自己的通信錄里面了。
問題來了,如果在廣播的時候,有人假冒李四,發(fā)出應(yīng)答……。那信件就發(fā)不到李四那兒,并且,張三的通信表里面記錄了錯誤的郵編和地址對應(yīng)的信息。
李四收不到信件,就會給張三發(fā)信息詢問,張三又重新發(fā),但是他通信錄里面的地址是錯誤的,所以,每次發(fā)信李四都收不到。如果這樣反復(fù)詢問,那必然的結(jié)果就是錯誤信件越發(fā)越多,郵件的錯誤郵件也越收越多,超過了正常的接收量,由于超負(fù)荷運轉(zhuǎn),而最終導(dǎo)致郵局徹底癱瘓,郵差也相繼失業(yè)。可憐的李四,他始終沒有收到過張三的郵件。
這就好比是ARP欺騙造成的后果,錯誤信件就是錯誤數(shù)據(jù)包,當(dāng)它越來越多時,就會導(dǎo)致網(wǎng)絡(luò)癱瘓,從而導(dǎo)致主機不能上網(wǎng),影響企業(yè)的正常業(yè)務(wù)運轉(zhuǎn)。
通俗易懂的例子是不是更好的理解ARP欺騙攻擊原理了