巧用“IP地址衝突” 揪出ARP病毒

     對網絡管理員或用戶來說,發生“IP地址衝突”是不受歡迎的事情,因爲在一個網絡中,每個主機(嚴格來說是網絡接口)都應該有唯一的一個IP地址,如果出現2個或兩個以上主機使用相同的IP地址,這些使用相同IP地址的主機屏幕會彈出對話框報告IP地址衝突(如下圖):

  這將導致這些使用相同IP的機器不能正常訪問網絡。但是,前幾天筆者卻用這個有如雞肋的功能幫了一個大忙。是怎麼一回事呢?聽我慢慢道來。
  本月12號那天,我被派到月壇大廈的客服部門處理網路故障。經初步診斷,發現網絡時斷時續,重啓網關的話,能夠正常好一會,過一段時間後就不靈了。這是一個十分簡單的網絡:一條外網網線進來,接入一臺運行FreeBSD的網關(做NAT用),網關機的另外一個網絡接口接交換機,客戶端全部接2個在交換機上,同時,網關機提供DHCP服務,所有的客戶機使用DHCP自動獲取IP。首先,我得確定故障發生在那裏;重啓網關,發現客戶機能正常上網,但網關馬上提示DHCP請求超時的報警,除此而外看不出什麼端倪,去客戶端查IP,發現獲取的IP地址正常,於是又懷疑是不是交換機有問題,等一會,發現故障又出現了,重啓一下交換機,網絡又正常了問題到底在哪裏呢?一下犯暈了。
        整理了一下思路,然後找了一臺客戶機(客戶機全是windows),先ping一下網關,發現居然ping不通,ping網內的另外一臺機器則正常,重啓網關再用客戶機ping 網關則正常,毫無疑問,網絡中了ARP欺騙病毒了。進系統目錄,發現c:下有幾個異常的文件,該名某個文件,居然不讓操作,運行命令 arp –a 發現多行arp請求,看來是病毒引起的網絡堵塞故障。不能把所有的機器都與網絡段掉,當務之急是先找出當前正在作崇的主機然後隔離處理。
  怎麼辨別是網絡中那臺主機中毒厲害呢?網上已經有很多不錯的辦法。有人建議用抓包工具,然後分析抓到的包信息來確認中毒的主機,然而我手裏沒有任何抓包工具,看來只好自己想招了。經過摸索,總結了下面一些行之有效的辦法,供大家參考!
  在客戶機運行路由跟蹤命令如 tracert –d [url]www.csai.cn[/url],馬上就發現第一條不是網關機的內網ip,而是本網段內的另外一臺機器的IP,再下一跳纔是網關的內網IP;正常情況是路由跟蹤執行後的輸出第一條應該是默認網關地址,由此判定第一跳的那個非網關IP 地址的主機就是罪魁禍首。
  問題又出來了,由於網內的主機IP地址是通過DHCP自動獲取來的,怎麼找出這個主機又是一個難題,幾十個機器,挨個用 ipconfig/all查非累死不可,怎麼辦?得走捷徑才行。突然之間冒出一個念頭:設置一個與查出來的中毒主機相同的IP地址,然後…..,接下來,找一臺客戶端機器,查一下其自動獲取的IP地址,沒有那麼幸運-這臺機器不是要揪出來的那個IP,然後把這個主機的”自動獲取IP地址”取消,手動設置機器的IP與有病毒的那個IP相同,設置生效後就聽見一個妹妹嚷道:“我的IP地址怎麼跟別人衝突了呢?”,殊不知,我要找的就是你呢!把妹妹的主機隔離網絡,其他的機器上網立馬就順暢了。
  處理arp病毒的操作我想大家都應該有經驗了,在這裏就不再多羅嗦。
  簡單總結一下,其主要步驟有兩步:1、運行 tracert –d [url]www.csai.cn[/url] 找出作崇的主機IP地址。 2、設置與作崇主機相同的IP,然後造成IP地址衝突,使中毒主機報警然後找到這個主機。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章