既然我們可以自己來填充數據包,那麼來玩些ARP的“小遊戲”欺騙就是易如反掌了,當然,是在沒有安全防護的網絡裏,比如只有hub或者交換機把你們相連,而沒有路由分段……^_^
下面我就由淺入深的講一些介紹一些關於ARP的小伎倆。
1. 小伎倆
1) 你可以試着發一個請求包廣播,其中的ARP幀裏關於你的信息填成這樣:
(爲了節省篇幅,我只寫需要特別指出的填充字段)
發送方MAC | 6 | 隨便亂填一個錯誤的 |
發送方IP | 4 | 填上你的IP |
出現什麼結果?是不是彈出一個IP地址衝突的提示?呵呵,同樣的道理,如果發送方IP填成別人的,然後每隔1秒發一次………..-_-b
2) 比如你們都靠一個網關192.168.0.1 上網,如果你想讓192.168.0.77 上不了網,就可以僞裝成網關給192.168.0.77發一個錯誤的ARP響應包, like this
發送方MAC | 6 | 隨便亂填一個錯誤的 |
發送方IP | 4 | 網關IP 192.168.0.1 |
接收方就填192.168.0.77的相關信息,發送之後,它還能上網不?
這樣能折騰他好一陣子了,只要它的系統得不到正確的到網關的ARP映射表它就一直上不了網了 ^_^
呵呵類似的伎倆還有很多,不過只停留在這點東西上也沒什麼意思,還是看看稍微高深一點的吧^_^
2. ARP欺騙
因爲在以太網裏,網絡設備就是靠MAC信息來識別的計算機的,比如A電腦知道MAC地址爲22-22-22-22-22-22的電腦是B,而如果我給A發送一個ARP響應包,告訴它我的MAC是22-22-22-22-22-22的話,A同樣會認爲我的計算機是B了,那麼好,我們設想有這麼一個環境,
A的防火牆只對IP爲192.168.0.2 MAC爲 22-22-22-22-22-22的B有信任關係,而且A打開了21端口提供FTP服務,正常情況下因爲防火牆的緣故我們的計算機是連不到A的,
於是我們想辦法讓B down掉,或者在它關機的時候,我們把我們的IP改成B的192.168.0.2,然後給A發送一個ARP迴應包,告訴A更新一下ARP緩存列表,192.168.0.2的IP映射到我們的
MAC地址上來,於是,奇蹟出現了,我們可以連到A的FTP上了,防火牆失效了^_^
不過這個辦法只能在同網段內生效,如果我們和A不在一個網段內,那就要複雜的多了,還要配合ICMP的重定向來控制報文的路由,這個我準備在以後闡述ICMP包的時候詳細講解,就不再此多說了。
3. 基於ARP欺騙的監聽原理
監聽的技術有很多了,不過我們常用的sniffer工具只能在基於hub的網絡中起作用,碰到哪怕是交換機都無能爲力了,這個時候我們的ARP欺騙技術就派上用場了。
還是假設有三臺主機A,B,還有我們的主機,位於同一個交換式局域網中
A與B正在通信,如果我們想要刺探A――>B通信的內容,於是我們就可以給A發送一個僞造的ARP迴應包,告訴A,B的IP對應的MAC條目爲我們的MAC地址,於是,A也就會相應的刷新自己的ARP緩存,將發給B的數據,源源不斷的發送到我們的主機上來,這樣我就可以對接收到的數據包進行分析就好了,達到了監聽的目的。當然,因爲動態ARP緩存是動態的,有超時時間的,所以我們必須每隔一段時間就給A發送一個ARP迴應包
雖然我們這樣達到了目的,但是A到B的通信卻被停止了,爲了不讓B發現,我們還要對每次接收到的數據包進行轉發,全部都轉發給B,這樣就天衣無縫了^_^
同樣的,如果我們還想監聽B à A的數據包,一樣給B發一個ARP迴應包,告訴B,A的IP對應的MAC是我們的主機MAC,於是B到A的數據包也源源不斷的發到我們的主機上來了,當然我們也是一樣要對這些數據包進行轉發,如圖:
A <------> 我們的主機 <------> B
一切都無誤的話,A和B的通信內容就這樣不知不覺的被我們監聽到了^_^