2011年7月2日 星期六

網路傳送封包抓取及分析工具-Wireshark

網路傳送封包抓取及分析工具-Wireshark
2011年3月17日
同事A:我怎麼只收到10筆資料?你少送了喔…
同事B:我送了15筆資料啊,程式的Log有完整紀錄也…
同事AB:(第三方,指網路服務)幫我們查查看吧…
BF:(@#$%)已TCP的標準而言,一定會完整的送完….
同事AB:好了不要再談理論了,看有什麼好方法幫我們看是誰的問題…
BF:網路通訊會把要傳送的資料切割成一個個的封包,這些封包可以擷取下來並進行內容分析,Wireshark封包分析工具

Wireshark是一支基於開源協議(GNU GPL標準)所設計出來的一支網路封包抓取及分析軟體,它的功能主要是設計來擷取網路封包,並分析顯示詳細的封包資料內容,讓管理者了解傳輸的內容,對於網路管理工作、網路上的異常流量行為有非常好的分析協助功能…
軟體名稱:Wireshark
軟體版本:1.4.4
軟體用途:封包抓取及分析
適用系統:Win 2k/XP/2003/Vista/7
官方網站:參觀官方網站
軟體下載:點擊下載
解壓密碼:無

A送了15筆資料,B只收10筆資料,真相倒底為何?Wireshark封包分析
雖然以網路上標準的TCP傳送協定來看,在雙方傳送的過程中彼此一定會互相確認這筆傳送的資料(切割成數個封包)一定會正確的傳送完畢,這次的連線才會結束,不然就會不斷的要求重傳直到成功或程式設定的Time Out時間結束,但如果溝通的雙方沒有一個認為問題在那裏,那麼很難找出到底是誰少送或少收了資料,這個時候我們可以利用封包擷取及分析工具,來幫忙看看經過網卡的封包到底送了些什麼(只要沒有加密傳送都看得到傳送內容),藉由這樣的判斷來找出到底是傳送資料的人還是接收資料的人出了問題,Wireshark就是一支非常實用的封包擷取及分析工具,我們先來看看它的工作擷圖…

Wireshark封包擷取及分析工具,簡易使用的操作介面

設定要擷取的網卡及要過濾的內容
點擊主介面的Capture Option就會出現以上的視窗,在這個功能中最主要的就是選擇要擷取封包的網卡(如果你的電腦有多張網卡的話,就要設定正確才能抓到所要的封包喔),另外就是過濾的設定了,如果沒有進行目標的過濾,擷取下來的封包將會非常的多,就會變得難以分析。

過濾目的物的設定視窗
這個過濾功能可是Wireshark的使用重點,如BF所要解決的問題,A與B伺服器是使用TCP Port11122的位置來連線並進行資料的傳輸,因此筆者選擇TCP/UDP port為過濾的方法,並且指定只要擷取port 11122的內容,設定方式如上擷圖所示。

啟動後,Wireshark就會開始進行封包擷取的動作

點擊每筆抓取的封包,可以觀看細部的資料
因為筆者使用過濾條件來擷取,因此只有符合過濾條件的封包才會被擷取下來,同時可以看出,A與B完成這次的連線共傳送了9個封包,其中的第4及5個封包正顯示了所傳送的內容,經比對A原始資料(共15筆),而網路上抓到的傳送封包資料(也是15筆資料),但B卻只呈現了10筆資料,並不符合,由此可見問題是出在B的部份,如此一來就解開了A與B的疑問了(A傳送了15筆資料,經過B的網卡時也是15筆,但B的程式卻只出現10筆資料),這樣答案是不是很明顯呢。
網路及系統管理除錯好工具,網路封包擷取及分析
擔任公司行號或學校的網管及系統人員,一定會常常遇到雙方扯不清、程式Log沒有紀錄、程式設計人員將問題委推給系網服務,這個時候沒有強而有力的證據來佐證問題點在那,系管及網管人員常常會是背黑鍋的第一人選,這時系網人員要做的事不是意氣用事(因為用講的人大多聽不懂,懂了就不需要你了->往好處想),而是花點心思把問題所在給找出來,證明出問題是那裏,而這個時候,本文所介紹的這支網路封包抓取及分析工具,就是一個非常有力的證明及說明工具(傳送的內容判別、封包是否有傳送及傳送的時間等等),對於工作將會有很不錯的助益喔。

沒有留言:

張貼留言