抓包工具
攔截查看網路數據包內容的軟體
抓包工具是攔截查看網路數據包內容的軟體。抓包工具由於其可以對數據通信過程中的所有lP報文實施捕獲並進行逐層拆包分析,一直是傳統固網數通維護工作中罐常用的故障排查工具,業內流行的抓包軟體有很多:Wire shark、SnifferPro、Snoop以及Tcpdump等各抓包軟體界面,應用平台稍有差別外,基本功能大同小異。
你是網路管理員嗎?你是不是有過這樣的經歷:在某一天的早上你突然發現網路性能急劇下降,網路服務不能正常提供,伺服器訪問速度極慢甚至不能訪問,網路交換機埠指示燈瘋狂地閃爍、網路出口處的路由器已經處於滿負荷的工作狀態、路由器CPU已經到了百分之百的負荷……重啟動后沒有幾分鐘現象又重新出現了。
這是什麼問題?設備壞了嗎?不可能幾台設備同時出問題。一定是有什麼大流量的數據文件,耗盡了網路設備的資源,它們是什麼?怎麼看到它們?這時有經驗的網管人員會想到用區域網抓包工具來分析一下。
你一定聽說過紅色代碼、Nimda、衝擊波以及震蕩波這些臭名昭著的網路殺手。就是它們製造了上述種種惡行。它們來勢洶洶,阻塞網路、感染主機,讓網路管理員苦不堪言。當網路病毒出現時,如何才能及時發現染毒主機?
移動分組網維護中常見的客戶應用故障分為兩大類:移動信令故障、數傳及應用層故障對於移動信令部分出現的問題,無論是會話管理(SM)還是移動性管理(MM)流程異常,利用核心同GSN或無線RNC設備的維護台通過信令跟蹤可很容易得到定位但對於那些移動信令交互正常。如終端可以正常完成附著澈活流程卻仍然無法訪問業務的故障。依靠移動分組}殳備的信令2B蹤工其進行排查則會變得相當麻煩終端在完成PDP激活后的數據傳輸出現問題時。只有對數傳的IP報文、IP通信的變換過程甚至IP:IE文的L7層數據做深人解析后才能最終定位問題而這正是傳統固嘲數通故障排查中常用的抓包工具軟體所獨有的優勢。
移動分組業務在終端完成對網路的附著、PDP澈活流程后。後續的業務訪問流程與傳統的數據通信過程基本相同。只是在SGSN與GGSN間傳遞的報文需要進行GTP的封裝,在GTP隧道內完成傳輸。
移動分組網中抓包文件的常用獲取方法有如下幾種:
1、轉換工具:
利用廠家提供的轉換工具對移動分組設備(GSN)的維護台跟蹤得到的信令文件實施轉換,得到抓包文件。目前移動分組網設備廠家基本都提供了類似的工具軟體,其中華為公司提供的轉包工具還支持對某台設備上跟蹤到的信令文件分in方向(Gn介面-GGSN)和out方向(GGSN->Gi介面)分別提取轉換,此功能極大地方便了對GSN設備丟包問題的分析。
2、埠鏡像:
如分組設備廠家未提供轉換工具,則必須自行在分組設備接入的數通設備上採用埠鏡像的方式進行抓包獲取。埠鏡像就是將被監控埠上的數據複製到指定的監控埠,對數據進行分析和監視。在使用抓包終端抓包時,需要將安裝有抓包軟體的主機的抓包網卡連接到監控埠,來捕獲流經被監控埠的I數據包。交換機埠鏡像的配置方法隨不同廠商、不同型號的交換機而有所區別,具體方法請查閱具體設備的指導手冊。
抓包工具界面
在實際故障排查中,並非任何故障定位都需要開啟抓包工具進行分析。啟用抓包分析手段的前提是:利用信令跟蹤排除了移動分組信令接續異常(無法附著、無法激活等MM及SM流程異常)導致的故障,即終端成功激活並獲取到了GGSN分配的IP地址但訪問業務失敗,需要進一步對數傳過程及IP報文做深入分析才能定位故障。當然在利用抓包工具分析過程中,仍然需要考慮具體的通信過程是否與移動分組的信令接續有相關性,兩者結合全面分析才能得出正確的結果。
抓包工具常用數通分析功能有:
1、TCP/UDP/ICMP等報文交互過程分析
這是抓包工具最基本的功能,此處不再詳述。
2、數據包傳輸時延分析
抓包工具支持記錄每一抓取報文的時間點,還支持用任一報文與前一報文的時間差來作為記錄報文抓取的時間點。據此可以實現對特定時間點報文的分析和對節點轉發報文時延的計算。
3、L3-L7層IP數據報文分析
實現對IP報文的L3層IP地址頭、L4層TCP/UDP頭直到7層的內部信息的直觀分析。
4、數傳丟包分析
通過比對某節點進出兩側的抓包的IP報文中經節點轉發后保持不變的identification欄位,或者利用TCP通信的SEQ及ACK序列號分析節點或鏈路丟包情況,可分析判斷轉發報文的設備(路由器、交換機、SGSN、GGSN)是否發生了故障或出現了報文轉發瓶頸。
系統漏洞。
下面我根據網路病毒都有掃描網路地址的特點,給大家介紹一個很實用的方法:用抓包工具尋找病毒源。
1.安裝抓包工具。目的就是用它分析網路數據包的內容。找一個免費的或者試用版的抓包工具並不難,Sniffer,wireshark,WinNetCap.WinSock Expert都是當前流行的抓包工具,我使用了一種叫做SpyNet3.12的抓包工具,非常小巧,運行的速度也很快。安裝完畢后我們就有了一台抓包主機。你可以通過SpyNet設置抓包的類型,比如是要捕獲IP包還是ARP包,還可以根據目的地址的不同,設置更詳細的過濾參數。
2.配置網路路由。你的路由器有預設網關嗎?如果有,指向了哪裡?在病毒爆發的時候把預設網關指向另外一台路由器是很危險的(除非你想搞癱這台路由器)。在一些企業網裡往往僅指出網內地址段的路由,而不加預設路由,那麼就把預設路由指到抓包主機上吧(它不下地獄誰下地獄?當然這台主機的性能最好是高一點的,否則很容易被病毒衝擊而亡)。這樣可以讓那些病毒主機發出的絕大部分掃描都自動送上門來。或者把網路的出口映像到抓包主機上,所有對外訪問的網路包都會被分析到。
3.開始抓包。抓包主機已經設置好了,網路里的數據包也已經送過來了,那麼我們看看網路里傳輸的到底是些什麼。打開SpyNet 點擊Capture你會看到好多的數據顯示出來,這些就是被捕獲的數據包(如圖)。
圖中的主體窗口裡顯示了抓包的情況。列出了抓到數據包的序號、時間、源目的MAC地址、源目的IP地址、協議類型、源目的埠號等內容。很容易看出IP地址為10.32.20.71的主機在極短的時間內向大量的不同主機發出了訪問請求,並且目的埠都是445。
4.找出染毒主機。從抓包的情況看,主機10.32.20.71值得懷疑。首先我們看一下目的IP地址,這些地址我們網路里存在嗎?很可能網路里根本就沒有這些網段。其次,正常情況下訪問主機有可能在這麼短的時間裡發起這麼多的訪問請求嗎?在毫秒級的時間內發出幾十甚至幾百個連接請求,正常嗎?顯然這台10.32.20.71的主機肯定有問題。再了解一下Microsoft-DS協議,該協議存在拒絕服務攻擊的漏洞,連接埠是445,從而進一步證實了我們的判斷。這樣我們就很容易地找到了染毒主機的IP地址。剩下的工作就是給該主機操作系統打補丁殺病毒了。