處理ARP欺騙導致小區用戶上不了網
發表時間:2023-07-17 來源:明輝站整理相關軟件相關文章人氣:10
[摘要]近日某小區有用戶反映上網經常出現掉線現象, 而當工程人員上門檢修時并未發現用戶所說的故障現象。 后來幾天內又多次接到該用戶電話反映故障, 同時陸續接到該小區其他用戶反映有同類故障出現, 這時感覺到...
近日某小區有用戶反映上網經常出現掉線現象, 而當工程人員上門檢修時并未發現用戶所說的故障現象。 后來幾天內又多次接到該用戶電話反映故障, 同時陸續接到該小區其他用戶反映有同類故障出現, 這時感覺到了事態的嚴重性。
該小區有一百余戶住戶, 采用光纖+五類線入戶方式開通寬帶上網, 一直比較正常, 日常問題均是線路故障或用戶操作引起的問題。 這次出現的問題影響到該小區的大部分用戶, 故障出現的時間無任何規律性, 并且往往又能自動恢復正常。
并非病毒所致
因為有多個用戶反映出現該故障, 可以排除用戶的線路和機器故障的原因, 根據以往經驗懷疑是某用戶機器中毒, 開機后病毒發作發送大量數據包導致局域網通信擁塞使得用戶掉線。 于是我們將一臺電腦安裝上Sniffer軟件后接入小區局域網, 試圖找出中毒機器。 經過長時間觀測, 并未發現有任何機器的連接數或發出的數據包異常增多, 可仍有用戶在我們觀測時反映有掉線現象。
查找IP地址沖突點
我們分別更換了位于小區第一級的光纖收發器和交換機, 問題仍沒有得到解決。 既然小區局域網沒有發現問題, 我們將目光轉向了位于機房內的匯聚交換機, 懷疑接入該小區的端口性能不良, 準備更換端口。 該小區接在一臺huawei-s3526的16號端口上, 登錄到交換機上以后, 看到出現下面一些提示信息:
%1/15/2006 18:32:30-SYSM-5-IP COLLISION:Rcv src IP 10.4.1.50 arped 00-00-6a-60-78-a3 By 00-03-47-52-43-10 resided in port 16 %1/15/2006 18:32:32-SYSM-5-IP COLLISION:Rcv src IP 10.4.1.42 arped 00-00-93-64-48-d2 By 00-03-47-52-43-10 resided in port 16 …… %1/15/2006 18:32:35-SYSM-5-IP COLLISION:Rcv src IP 10.4.1.26 arped 00-00-34-3d-20-65 By 00-03-47-52-43-10 resided in port 16 |
信息中提示出現IP地址沖突, 顯示的端口號正是該小區的接入端口。 莫非問題的結癥在這里?仔細觀察, 發現所有提示均表示一個MAC地址為00-03-47-52-43-10的機器與其他機器在IP地址與MAC地址轉換的過程中發生了沖突, 即所有IP地址均被改成了與00-03-47-52-43-10地址相對應。 因為該小區用戶采用的是DHCP方式分配IP地址, 通過認證計費系統查找MAC地址為00-03-47-52-43-10的用戶, 到該用戶家與用戶進行溝通, 該用戶反映從未手動更改過IP地址, 上網一直很正常, 日常使用中也未感覺到機器有何異樣。
我們在其機器上用Netstat等命令查看, 也未發現有任何異常連接或過多連接, 不同于一般機器中毒狀況。 后經與用戶協商斷開該用戶與樓棟交換機的連接, 長時間觀察, 小區不再有用戶反映掉線, 看來掉線的確是由該用戶引起的。
木馬欺騙ARP緩存表
該現象應該是軟件方面的問題。 將該用戶機器硬盤拆下, 掛接到另外一臺機器上進行掃描殺毒, 發現存在十余種病毒, 通過查找資料, 最終發現肇事者是一個隱藏在外掛中的木馬程序。 通常來說, 木馬程序僅僅竊取用戶的信息, 而這個木馬為何會導致其他用戶掉線呢?
我們知道, 用戶訪問因特網的數據包必須通過多次路由才能到達目的服務器, 目的服務器返回用戶的數據包也必須通過多次路由才能回到用戶端。 數據包路由的第一步是用戶機器上填寫的默認網關, 如果網關出現問題, 那么用戶是無法上網的。 默認網關填寫的是IP地址, 而用戶機器與網關通信時采用的是MAC地址, 問題就發生在這里。
我們先了解一下ARP協議。
ARP協議是“Address Resoluti
on Protocol”(地址解析協議)的縮寫, 在局域網中, 網絡中實際傳輸的是“幀”, 幀里面有目標主機的MAC地址。 在以太網中, 一個主機要和另一個主機進行直接通信, 必須要知道目標主機的MAC地址。 但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。 所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。 ARP協議的基本功能就是通過目標設備的IP地址, 查詢目標設備的MAC地址, 以保證通信的順利進行。
采用以太網方式接入上網的電腦里都有一個ARP緩存表(見表1), 表里的IP地址與MAC地址是一一對應的。
表1 ARP緩存表
主機 | IP地址 | MAC地址 | 主機 |
網關 | 192.168.16.254 | xx-xx-xx-xx-xx-xx | 網關 |
A | 192.168.16.1 | aa-aa-aa-aa-aa-aa | A |
我們以主機A(192.168.16.1)上網為例。 當發送數據時, 主機A會在自己的ARP緩存表中尋找是否有網關的IP地址。 如果找到了, 也就知道了目標MAC地址, 直接把目標MAC地址寫入幀里面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址, 主機A就會在網絡上發送一個廣播, 目標MAC地址是“FF.FF.FF.FF.FF.FF”, 這表示向同一網段內的所有主機發出這樣的詢問:“192.168.16.254的MAC地址是什么?”網絡上其他主機并不響應ARP詢問, 只有網關接收到這個幀時, 才向主機A做出這樣的回應:“192.168.16.254的MAC地址是xx-xx-xx-xx-xx-xx”。 這樣, 主機A就知道了網關的MAC地址, 它就可以向網關發送信息了。 同時它還更新了自己的ARP緩存表, 下次再向網關發送信息時, 直接從ARP緩存表里查找就可以了。 ARP緩存表采用老化機制, 在一段時間內如果表中的某一行沒有使用, 就會刪除, 這樣可以大大減少ARP緩存表的長度, 加快查詢速度。
仔細觀察, 發現所有提示均表示一個MAC地址為00-03-47-52-43-10的機器與其他機器在IP地址與MAC地址轉換的過程中發生了沖突, 即所有IP地址均被改成了與00-03-47-52-43-10地址相對應。 因為該小區用戶采用的是DHCP方式分配IP地址, 通過認證計費系統查找MAC地址為00-03-47-52-43-10的用戶, 到該用戶家與用戶進行溝通, 該用戶反映從未手動更改過IP地址, 上網一直很正常, 日常使用中也未感覺到機器有何異樣。
我們在其機器上用Netstat等命令查看, 也未發現有任何異常連接或過多連接, 不同于一般機器中毒狀況。 后經與用戶協商斷開該用戶與樓棟交換機的連接, 長時間觀察, 小區不再有用戶反映掉線, 看來掉線的確是由該用戶引起的。
木馬欺騙ARP緩存表
該現象應該是軟件方面的問題。 將該用戶機器硬盤拆下, 掛接到另外一臺機器上進行掃描殺毒, 發現存在十余種病毒, 通過查找資料, 最終發現肇事者是一個隱藏在外掛中的木馬程序。 通常來說, 木馬程序僅僅竊取用戶的信息, 而這個木馬為何會導致其他用戶掉線呢?
我們知道, 用戶訪問因特網的數據包必須通過多次路由才能到達目的服務器, 目的服務器返回用戶的數據包也必須通過多次路由才能回到用戶端。 數據包路由的第一步是用戶機器上填寫的默認網關, 如果網關出現問題, 那么用戶是無法上網的。 默認網關填寫的是IP地址, 而用戶機器與網關通信時采用的是MAC地址, 問題就發生在這里。
我們先了解一下ARP協議。
ARP協議是“Address Resoluti
on Protocol”(地址解析協議)的縮寫, 在局域網中, 網絡中實際傳輸的是“幀”, 幀里面有目標主機的MAC地址。 在以太網中, 一個主機要和另一個主機進行直接通信, 必須要知道目標主機的MAC地址。 但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。 所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。 ARP協議的基本功能就是通過目標設備的IP地址, 查詢目標設備的MAC地址, 以保證通信的順利進行。
采用以太網方式接入上網的電腦里都有一個ARP緩存表(見表1), 表里的IP地址與MAC地址是一一對應的。
表1 ARP緩存表
主機 | IP地址 | MAC地址 | 主機 |
網關 | 192.168.16.254 | xx-xx-xx-xx-xx-xx | 網關 |
A | 192.168.16.1 | aa-aa-aa-aa-aa-aa | A |
我們以主機A(192.168.16.1)上網為例。 當發送數據時, 主機A會在自己的ARP緩存表中尋找是否有網關的IP地址。 如果找到了, 也就知道了目標MAC地址, 直接把目標MAC地址寫入幀里面發送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址, 主機A就會在網絡上發送一個廣播, 目標MAC地址是“FF.FF.FF.FF.FF.FF”, 這表示向同一網段內的所有主機發出這樣的詢問:“192.168.16.254的MAC地址是什么?”網絡上其他主機并不響應ARP詢問, 只有網關接收到這個幀時, 才向主機A做出這樣的回應:“192.168.16.254的MAC地址是xx-xx-xx-xx-xx-xx”。 這樣, 主機A就知道了網關的MAC地址, 它就可以向網關發送信息了。 同時它還更新了自己的ARP緩存表, 下次再向網關發送信息時, 直接從ARP緩存表里查找就可以了。 ARP緩存表采用老化機制, 在一段時間內如果表中的某一行沒有使用, 就會刪除, 這樣可以大大減少ARP緩存表的長度, 加快查詢速度。
上面是電腦上網安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。