用抓包工具輕輕鬆鬆排查網絡故障

以前在工作中,有時會碰到網絡風暴或病毒導致的網絡癱瘓,這個時候,我們通常會將所有交換機的電源全部關掉,稍候從啓交換機。

但是當交換機重啓後,我們發現問題並沒有解決,因爲很快網絡又癱瘓了,這時我們考慮到應該是網絡中的某一臺交換機或某一臺電腦有問題,我們通常會通過分段斷網的方式來解決,這樣通常經過很長時間,我們逐個打開交換機,並且同時開啓ping命令,ping電信的測試DNS,深圳的測試DNS是202.96.134.134,我們就用命令ping 202.96.134.134 -t來查看和電信的測試DNS是否連接, -t 參數的意思是不斷連接,不然ping命令會在連接四次後停止。

我們每開一個交換機,就查看和測試DNS的邊接是否正常,一直到連接中斷,我們就判斷出是哪個交換機出了問題,這個時候,我們再把那個交換機上的網絡全部拔掉,然後一根一根接上去,同時觀察連接是否正常,一直到連接中斷,就可以判斷出是哪根網線有問題,再通過網線找到有問題的主機。進行查看。通過查殺病毒,一般都能解決。

但我們看出,這個工作量是非常大的,如果交換機夠多,而且出問題的電腦不止一臺的時候,我們要花很長時間,才能完全將網絡問題解決。

但是我們有一種工具,叫抓包工具,也叫網絡嗅探,sniffer pro是國外一款業界很有名的專業嗅探軟件,國內的有科來網絡分析軟件,也比較有名。這個時候,我們可以通過這樣的嗅探軟件,對網絡狀況進行旁路監聽,也就是監聽網絡中所有的數據包,然後對這些數據包進行分析,我們就可以很快找到網絡故障的原因及故障點。
嗅探原理:
網絡中的一臺電腦,與另一臺電腦進行通訊,它會把數據包發到網絡上,這包括:
源地址:意思是這個數據是從哪臺電腦發過來的,
目標地址:這個包要發給誰。
數據包:具體發送的數據。
[其實網絡數據包的參數很多,不止這些,但我們瞭解這些,後面的就可以看懂了。]
這個數據包會發送到網絡中的每一臺電腦,意思就是網絡中的任何一臺電腦都會收到這個數據包,當電腦接收到數據包後,會檢查目標地址,如果發現目標地址是自已,就接收這個數據包。否則,就將這個數據包丟棄。
那如果我們在某一臺電腦上,將網卡設置成混雜模式,那這個電腦將會接收網絡上所有的數據包,而不丟棄。
這就是嗅探的原理。
具體分析:
一般網絡故障有2方面:
一是由於網絡是傳送大量垃圾數據包,導至網絡阻塞,如:網絡中的某臺主機中毒後,發送大量廣播包,就是目標地址爲192.168.0.255 [我們假設網絡網段爲192.168.0.0/24]。這時我們可以查看抓到的數據包,看哪臺電腦發送的數據包最多,一般很容易就能找到故障源頭。
二是由於網絡中的某臺電腦中毒後發送ARP欺騙包,那什麼又是ARP欺騙包呢?
我們來看看ARP的概念:
網絡中有兩種地址,一種是我們都知道的IP地址,形式如:192.168.0.1這個大家都知道,還有一種是物理地址,形式如:00-e0-4c-8c-25-69 就是MAC地址,這是網卡在出廠的時候就被廠家設定好的,全球唯一的地址。數據在網絡中傳輸時的源地址和目的地址,都不是使用的IP地址,而是MAC地址,我們再來看看數據是如何在網絡中傳輸的。
當一臺電腦需要發送數據給另一臺電腦,比如192.168.0.2 MAC地址是:00-19-e0-29-7f-47要發送數據給192.168.0.3,MAC地址是00-11-5b-7e-08-ae,這個時候,192.168.0.2就會在網絡上發送一個ARP廣播,這個ARP廣播包的數據結構就是

源地址:192.168.0.2 MAC地址:00-19-e0-29-7f-47
目標地址:192.168.0.3
數據包:“誰是192.168.0.3,請返回你的MAC地址”

當192.168.0.3收到後,就會迴應一個數據包
源地址:
IP地址:192.168.0.3
MAC地址:00-11-5b-7e-08-ae
數據包:“我的MAC地址是00-11-5b-7e-08-ae”

當192.168.0.2接收到這個數據包後,就會在本地緩存記下192.168.0.3的MAC地址。
我們可以通過ARP -a 命令看到這個緩存:

C:\>arp -a
Interface: 192.168.0.2 --- 0x2
Internet Address Physical Address Type
192.168.0.3 00-11-5b-7e-08-ae dynamic

這其中的Internet Address就是IP地址,Physical Address就是物地址,Type 下面是dynamic,表示是動態更新。

默認情況下ARP緩存的超時時限是兩分鐘,也就是2分鐘以後,又會發起一次ARP詢問,而ARP欺騙正是利用這個特點。

一般ARP欺騙都是進行網關欺騙,也就是大家上網都要通過的一個節點,如一般網絡中192.168.0.1是網關地址,假設他的MAC地址是00-90-7f-2e-47-bf,

我們看192.168.0.2如何進行ARP欺騙
首先192.168.0.2會在網絡中不斷地發送數據包,格式如下:

源地址:

IP:192.168.0.2 MAC:00-19-e0-29-7f-47
目標地址:192.168.0.255 [廣播,意思是所有網絡上的電腦都能接收到]
數據包:“我是192.168.0.1,我的MAC是00-19-e0-29-7f-47”

[其實真正的192.168.0.1的MAC地址應該是00-90-7f-2e-47-bf]

網絡中所有的電腦在接收到這個ARP欺騙數據包後,就會更新本地的ARP緩存,

將192.168.0.1對應的MAC地址由正確的00-90-7f-2e-47-bf改成192.168.0.2電腦的MAC地址:00-19-e0-29-7f-47

這樣,以後所有發往網關的數據,都會發到192.168.0.2這臺電腦上。但是發送的電腦並不知道自已發錯了。

192.168.0.2這臺電腦就可以對捕獲的數據包進行分析,獲得自已想要的數據,如帳號和密碼。這一般是一些病毒最終想要的東西。

通過上面的瞭解,我們知道,一個電腦如果進行ARP欺騙,必然要發送大量的ARP迴應,而不是ARP詢問,我們只要查看我們捕獲的數據包裏,誰發送了大量的ARP迴應,就可以很快找到這臺電腦。

通過專業網絡嗅探工具,大大方便了日常的網絡管理工作。

這樣我們再也不用一個個交換機斷電,一根根網絡去拔下來,再接上去。

網絡管理,從此變得輕鬆!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章