抓包工具
抓包工具是攔截查看網絡數據包內容的軟件。抓包工具由於其可以對數據通信過程中的所有lP報文實施捕獲並進行逐層拆包分析,一直是傳統固網數通維護工作中罐常用的故障排查工具,業內流行的抓包軟件有很多:Wire shark、SnifferPro、Snoop以及Tcpdump等各抓包軟件界面,應用平台稍有差別外,基本功能大同小異。
目錄
應用背景
移動分組網維護中常見的客戶應用故障分為兩大類:移動信令故障、數傳及應用層故障對於移動信令部分出現的問題,無論是會話管理(SM)還是移動性管理(MM)流程異常,利用核心同GSN或無線RNC設備的維護台通過信令跟蹤可很容易得到定位但對於那些移動信令交互正常。如終端可以正常完成附着澈活流程卻仍然無法訪問業務的故障。依靠移動分組}殳備的信令2B蹤工其進行排查則會變得相當麻煩終端在完成PDP激活後的數據傳輸出現問題時。只有對數傳的IP報文、IP通信的變換過程甚至IP:IE文的L7層數據做深人解析後才能最終定位問題而這正是傳統固嘲數通故障排查中常用的抓包工具軟件所獨有的優勢。 移動分組業務在終端完成對網絡的附着、PDP澈活流程後。後續的業務訪問流程與傳統的數據通信過程基本相同。只是在SGSN與GGSN間傳遞的報文需要進行GTP的封裝,在GTP隧道內完成傳輸。
前言
抓包工具是攔截查看網絡數據包內容的軟件。通過對抓獲的數據包進行分析,可以得到有用的信息。目前流行的抓包工具有很多,比較出名的有wireshark、sniffer、httpwatch、iptool等。這些抓包工具功能各異,但基本原理相同。我們的計算機通過向網絡上傳和從網絡下載一些數據包來實現數據在網絡中的傳播。通常這些數據包會由發出或者接受的軟件自行處理,普通用戶並不過問,這些數據包一般也不會一直保存在用戶的計算機上。抓包工具可以幫助我們將這些數據包保存下來,如果這些數據包是以明文形式進行傳送或者我們能夠知道其加密方法,那麼我們就可以分析出這些數據包的內容以及它們的用途。目前抓包工具更多的用於網絡安全,比如查找感染病毒的計算機。有時也用於獲取網頁的源代碼,以及了解攻擊者所用方法、追查攻擊者的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]
獲取
移動分組網中抓包文件的常用獲取方法有如下幾種: 1、轉換工具: 利用廠家提供的轉換工具對移動分組設備(GSN)的維護台跟蹤得到的信令文件實施轉換,得到抓包文件。目前移動分組網設備廠家基本都提供了類似的工具軟件,其中華為公司提供的轉包工具還支持對某台設備上跟蹤到的信令文件分in方向(Gn接口-GGSN)和out方向(GGSN->Gi接口)分別提取轉換,此功能極大地方便了對GSN設備丟包問題的分析。 2、端口鏡像: 如分組設備廠家未提供轉換工具,則必須自行在分組設備接入的數通設備上採用端口鏡像的方式進行抓包獲取。端口鏡像就是將被監控端口上的數據複製到指定的監控端口,對數據進行分析和監視。在使用抓包終端抓包時,需要將安裝有抓包軟件的主機的抓包網卡連接到監控端口,來捕獲流經被監控端口的I數據包。交換機端口鏡像的配置方法隨不同廠商、不同型號的交換機而有所區別,具體方法請查閱具體設備的指導手冊。
應用條件
在實際故障排查中,並非任何故障定位都需要開啟抓包工具進行分析。啟用抓包分析手段的前提是:利用信令跟蹤排除了移動分組信令接續異常(無法附着、無法激活等MM及SM流程異常)導致的故障,即終端成功激活並獲取到了GGSN分配的IP地址但訪問業務失敗,需要進一步對數傳過程及IP報文做深入分析才能定位故障。當然在利用抓包工具分析過程中,仍然需要考慮具體的通信過程是否與移動分組的信令接續有相關性,兩者結合全面分析才能得出正確的結果。 [2]
使用方法
下面我根據網絡病毒都有掃描網絡地址的特點,給大家介紹一個很實用的方法:用抓包工具尋找病毒源。 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地址。剩下的工作就是給該主機操作系統打補丁殺病毒了。