TCPDUMP

TCPDUMP

專業的網絡管理工具
TcpDump可以将網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,并提供and、or、not等邏輯語句來幫助去掉無用的信息。TcpDump的總的輸出格式為:系統時間,來源主機、端口,目标主機、端口,數據包參數。
    軟件名稱:TCPDUMP 軟件平台: 軟件語言: 開發商: 軟件授權: 軟件版本: 軟件大小: 屬于:将網絡中傳送的數據包的"頭" 針對:網絡層、協議、主機 包含:幫助你去掉無用的信息

主要功能

Tcpdump是著名的sniffer,是一個被很多UNIX高手認為是一個專業的網絡管理工具,記得以前TsutomuShimomura(應該叫下村侵吧)就是使用他自己修改過的TCPDUMP版本來記錄了KEVINMITNICK攻擊他系統的記錄,後來就配合FBI抓住了KEVINMITNICK。你能夠利用這個工具檢查訪問你服務器中的文件包信息,監測你網絡中的問題所在。

簡介

在傳統的網絡分析和測試技術中,嗅探器(sniffer)是最常見,也是最重要的技術之一。sniffer工具首先是為網絡管理員和網絡程序員進行網絡分析而設計的。對于網絡管理人員來說,使用嗅探器可以随時掌握網絡的實際情況,在網絡性能急劇下降的時候,可以通過sniffer工具來分析原因,找出造成網絡阻塞的來源。對于網絡程序員來說,通過sniffer工具來調試程序。

用過windows平台上的sniffer工具(例如,NetXray和Sniffer Pro軟件)的朋友可能都知道,在共享式的局域網中,采用sniffer工具簡直可以對網絡中的所有流量一覽無馀!Sniffer工具實際上就是一個網絡上的抓包工具,同時還可以對抓到的包進行分析。由于在共享式的網絡中,信息包是會廣播到網絡中所有主機的網絡接口,隻不過在沒有使用sniffer工具之前,主機的網絡設備會判斷該信息包是否應該接收,這樣它就會抛棄不應該接收的信息包,sniffer工具卻使主機的網絡設備接收所有到達的信息包,這樣就達到了網絡監聽的效果。

Linux作為網絡服務器,特别是作為路由器和網關時,數據的采集和分析是必不可少的。所以,今天我們就來看看Linux中強大的網絡數據采集分析工具——TcpDump。

用簡單的話來定義tcpdump,就是:dump the traffice on a network,根據使用者的定義對網絡上的數據包進行截獲的包分析工具。

作為互聯網上經典的的系統管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成為每個高級的系統管理員分析網絡,排查問題等所必備的東東之一。

顧名思義,TcpDump可以将網絡中傳送的數據包的“頭”完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息。

tcpdump提供了源代碼,公開了接口,因此具備很強的可擴展性,對于網絡維護和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系統中,由于它需要将網絡界面設置為混雜模式,普通用戶不能正常執行,但具備root權限的用戶可以直接執行它來獲取網絡上的信息。因此系統中存在網絡分析工具主要不是對本機安全的威脅,而是對網絡上的其他計算機的安全存在威脅。

普通情況下,直接啟動tcpdump将監視第一個網絡界面上所有流過的數據包。

首先我們注意一下,從上面的輸出結果上可以看出來,基本上tcpdump總的的輸出格式為:系統時間來源主機端口>目标主機.端口數據包參數。

TcpDump的參數化支持

tcpdump支持相當多的不同參數,如使用-i參數指定tcpdump監聽的網絡界面,這在計算機具有多個網絡界面時非常有用,使用-c參數指定要監聽的數據包數量,使用-w參數指定将監聽到的數據包寫入文件中保存,等等。

然而更複雜的tcpdump參數是用于過濾目的,這是因為網絡中流量很大,如果不加分辨将所有的數據包都截留下來,數據量太大,反而不容易發現需要的數據包。使用這些參數定義的過濾規則可以截留特定的數據包,以縮小目标,才能更好的分析網絡中存在的問題。tcpdump使用參數指定要監視數據包的類型、地址、端口等,根據具體的網絡問題,充分利用這些過濾規則就能達到迅速定位故障的目的。請使用man tcpdump查看這些過濾規則的具體用法。

顯然為了安全起見,不用作網絡管理用途的計算機上不應該運行這一類的網絡分析軟件,為了屏蔽它們,可以屏蔽内核中的bpfilter僞設備。一般情況下網絡硬件和TCP/IP堆棧不支持接收或發送與本計算機無關的數據包,為了接收這些數據包,就必須使用網卡的混雜模式,并繞過标準的TCP/IP堆棧才行。在FreeBSD下,這就需要内核支持僞設備bpfilter。因此,在内核中取消bpfilter支持,就能屏蔽tcpdump之類的網絡分析工具。

并且當網卡被設置為混雜模式時,系統會在控制台和日志文件中留下記錄,提醒管理員留意這台系統是否被用作攻擊同網絡的其他計算機的跳闆。

雖然網絡分析工具能将網絡中傳送的數據記錄下來,但是網絡中的數據流量相當大,如何對這些數據進行分析、分類統計、發現并報告錯誤卻是更關鍵的問題。網絡中的數據包屬于不同的協議,而不同協議數據包的格式也不同。因此對捕獲的數據進行解碼,将包中的信息盡可能的展示出來,對于協議分析工具來講更為重要。昂貴的商業分析工具的優勢就在于它們能支持很多種類的應用層協議,而不僅僅隻支持tcp、udp等低層協議。

從上面tcpdump的輸出可以看出,tcpdump對截獲的數據并沒有進行徹底解碼,數據包内的大部分内容是使用十六進制的形式直接打印輸出的。顯然這不利于分析網絡故障,通常的解決辦法是先使用帶-w參數的tcpdump截獲數據并保存到文件中,然後再使用其他程序進行解碼分析。當然也應該定義過濾規則,以避免捕獲的數據包填滿整個硬盤。

其他信息

數據過濾

不帶任何參數的TcpDump将搜索系統中所有的網絡接口,并顯示它截獲的所有數據,這些數據對我們不一定全都需要,而且數據太多不利于分析。所以,我們應當先想好需要哪些數據,TcpDump提供以下參數供我們選擇數據:

-b在數據-鍊路層上選擇協議,包括ip、arp、rarp、ipx都是這一層的。

相關詞條

相關搜索

其它詞條