天天看點

如何嗅聞交換網絡和ARP騙子-ARP解釋的原則

在嗅探以太網(一般指嗅探器可以對流經的網絡資料包竊聽)(sniff)不為網絡安全是好事,雖然網絡管理者能夠跟蹤資料包,發現 網際網路問題,但前提是,如果破壞者使用。在整個網絡帶來了嚴重的安全威脅。

至于嗅探(一般指嗅探器可以對流經的網絡資料包竊聽

  

以太網内的嗅探(一般指嗅探器可以竊聽網絡上流經的資料包)(sniff)對于網絡安全來說并非什麼好事。盡管對于網絡管理者可以跟蹤資料包而且發現

  網絡問題,可是假設被破壞者利用的話,就對整個網絡構成嚴重的安全威脅。至于嗅探(一般指嗅探器能夠竊聽網絡上流經的資料包)的優點和壞處就不羅嗦了。

  ARP快取記錄

  如果這樣一個網絡:

  ――――――――――

  | HUB |

  | | |

  HostA HostB HostC

  當中

  A的位址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA

  B的位址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB

  C的位址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC

  如果B是屬于一個嗅探(一般指嗅探器能夠竊聽網絡上流經的資料包)愛好者的,比方A機器的ARP緩存:

  C:\>arp -a

  Interface: 192.168.10.1 on Interface 0x1000003

  Internet Address Physical Address Type

  192.168.10.3 CC-CC-CC-CC-CC-CC dynamic

  這是192.168.10.1機器上的ARP快取記錄,如果。A進行一次ping 192.168.10.3操作。PING主機C,會查詢本地的

  ARP快取記錄,找到C的IP位址的MAC位址。那麼就會進行傳輸資料,目的地就是C 的MAC位址。假設A中沒有C的ARP記

  錄。那麼A首先要廣播一次ARP請求。當C接收到A 的請求後就發送一個應答,應答中包括有C的MAC位址,然後A接

  收到C的應答。就會更新本地的ARP緩存。接着使用這個MAC位址發送資料(由網卡附加MAC位址)。

  是以,本地快速緩存的這個ARP表是本地網絡流通的基礎,并且這個緩存是動态的。

  集線器網絡(Hub-Based)

  非常多網絡都是用Hub進行連接配接的。

資料包經過Hub傳輸到其它計算機的時候,Hub僅僅是簡單地把這個資料包廣播

  到Hub的全部port(網絡中的一對端其一端輸入的電流與還有一端輸出的電流是相等的)上。

  這就是上面舉例中的一種網絡結構。

  如今A須要發送TCP資料包給C。首先,A須要檢查本地的ARP 緩存表。檢視是否有IP為192.168.10.3即C的ARP記

  錄。假設沒有那麼A将要廣播一個ARP請求。當C接收到這個請求後,就作出應答。然後A更新自己的ARP快取記錄。并

  且獲得與C的IP相相應的MAC位址。這時就傳輸這個TCP資料包,Ethernet幀中就包括了C的MAC位址。當資料包傳輸

  到HUB的時候,HUB直接把整個資料包廣播到全部的port(網絡中的一對端其一端輸入的電流與還有一端輸出的電流是相等的),然後C就行接收到A發送的資料包。

  正由于HUB把資料廣播到全部的port(網絡中的一對端其一端輸入的電流與還有一端輸出的電流是相等的),是以計算機B也可以收到A發送給C的資料包。這正是達到了B嗅探的目的。

  是以,Hub-Based的網絡基本沒有安全可言。嗅探(一般指嗅探器能夠竊聽網絡上流經的資料包)在這種網絡中很easy。

  交換網絡(Switched Lan)

  交換機用來取代HUB,正是為了可以解決HUB的幾個安全問題,當中就是可以來解決嗅探(一般指嗅探器可以竊聽網絡上流經的資料包)問題。Switch不是把數

  據包進行port(網絡中的一對端其一端輸入的電流與還有一端輸出的電流是相等的)廣播。它将通過自己的ARP緩存來決定資料包傳輸到那個port(網絡中的一對端其一端輸入的電流與還有一端輸出的電流是相等的)上。是以。在交換網絡上。假設把上面

  樣例中的HUB換為Switch,B就不會接收到A發送給C的資料包。即便設定網卡為混雜模式。也不能進行嗅探(一般指嗅探器能夠竊聽網絡上流經的資料包)。

  ARP欺騙( ARP spoofing)

  ARP協定并不僅僅在發送了ARP請求才接收ARP應答。當計算機接收到ARP應答資料包的時候,就會對本地的ARP緩存

  進行更新,将應答中的IP和MAC位址存儲在ARP緩存中。是以。在上面的如果網絡中,B向A發送一個自己僞造的ARP應

  答。而這個應答中的資料為發送方IP位址是192.168.10.3(C的IP位址)。MAC位址是DD-DD-DD-DD-DD-DD(C的MAC地

  址本來應該是CC-CC-CC-CC-CC-CC,這裡被僞造了)。當A接收到B僞造的ARP應答,就會更新本地的ARP緩存(A可不

  知道被僞造了)。

  如今A機器的ARP緩存更新了:

  192.168.10.3 DD-DD-DD-DD-DD-DD dynamic

  這可不是小事。

區域網路的網絡流通可不是依據IP位址進行。而是依照MAC位址進行傳輸。如今192.168.10.3的

  MAC位址在A上被改變成一個本不存在的MAC位址。

如今A開始Ping 192.168.10.3,網卡遞交的MAC位址是

  DD-DD-DD-DD-DD-DD。結果是什麼呢?網絡不通。A根本不能Ping通C!!