資源描述:
《Linux下抓包工具tcpdump應用詳解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、TCPDUMP簡介 在傳統(tǒng)的網(wǎng)絡分析和測試技術(shù)中,嗅探器(sniffer)是最常見,也是最重要的技術(shù)之一。sniffer工具首先是為網(wǎng)絡管理員和網(wǎng)絡程序員進行網(wǎng)絡分析而設計的。對于網(wǎng)絡管理人員來說,使用嗅探器可以隨時掌握網(wǎng)絡的實際情況,在網(wǎng)絡性能急劇下降的時候,可以通過sniffer工具來分析原因,找出造成網(wǎng)絡阻塞的來源。對于網(wǎng)絡程序員來說,通過sniffer工具來調(diào)試程序。 用過windows平臺上的sniffer工具(例如,netxray和snifferpro軟件)的朋友可能都知道,在共享式的局域網(wǎng)中,采用sniffer工具簡直
2、可以對網(wǎng)絡中的所有流量一覽無余!Sniffer工具實際上就是一個網(wǎng)絡上的抓包工具,同時還可以對抓到的包進行分析。由于在共享式的網(wǎng)絡中,信息包是會廣播到網(wǎng)絡中所有主機的網(wǎng)絡接口,只不過在沒有使用sniffer工具之前,主機的網(wǎng)絡設備會判斷該信息包是否應該接收,這樣它就會拋棄不應該接收的信息包,sniffer工具卻使主機的網(wǎng)絡設備接收所有到達的信息包,這樣就達到了網(wǎng)絡監(jiān)聽的效果?! inux作為網(wǎng)絡服務器,特別是作為路由器和網(wǎng)關時,數(shù)據(jù)的采集和分析是必不可少的。所以,今天我們就來看看Linux中強大的網(wǎng)絡數(shù)據(jù)采集分析工具——TcpDump
3、?! ∮煤唵蔚脑拋矶xtcpdump,就是:dumpthetrafficeonanetwork,根據(jù)使用者的定義對網(wǎng)絡上的數(shù)據(jù)包進行截獲的包分析工具。 作為互聯(lián)網(wǎng)上經(jīng)典的的系統(tǒng)管理員必備工具,tcpdump以其強大的功能,靈活的截取策略,成為每個高級的系統(tǒng)管理員分析網(wǎng)絡,排查問題等所必備的東東之一。 顧名思義,TcpDump可以將網(wǎng)絡中傳送的數(shù)據(jù)包的“頭”完全截獲下來提供分析。它支持針對網(wǎng)絡層、協(xié)議、主機、網(wǎng)絡或端口的過濾,并提供and、or、not等邏輯語句來幫助你去掉無用的信息?! cpdump提供了源代碼,公開了接口,因此具
4、備很強的可擴展性,對于網(wǎng)絡維護和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系統(tǒng)中,由于它需要將網(wǎng)絡界面設置為混雜模式,普通用戶不能正常執(zhí)行,但具備root權(quán)限的用戶可以直接執(zhí)行它來獲取網(wǎng)絡上的信息。因此系統(tǒng)中存在網(wǎng)絡分析工具主要不是對本機安全的威脅,而是對網(wǎng)絡上的其他計算機的安全存在威脅?! ∑胀ㄇ闆r下,直接啟動tcpdump將監(jiān)視第一個網(wǎng)絡界面上所有流過的數(shù)據(jù)包。 ?。 ash-2.02#tcpdump tcpdump:listeningoneth0 11:5
5、8:47.873028202.102.245.40.netbios-ns>202.102.245.127.netbios-ns:udp50 11:58:47.9743310:10:7b:8:3a:56>1:80:c2:0:0:0802.1dui/Clen=43 00000000008000001007cf0809000000 0e800000902b46950980870100140002 000f0000902b4695000800 11:58:48.3731340:0:e8:5b:6d:85>Broadcastsape0u
6、i/Clen=97 ffff00600004ffffffffffffffffffff 0452ffffffff0000e85b6d8540080002 06404d41535445525f57454200000000 000000 ^C ------------------------ 首先我們注意一下,從上面的輸出結(jié)果上可以看出來,基本上tcpdump總的的輸出格式為:系統(tǒng)時間來源主機.端口>目標主機.端口數(shù)據(jù)包參數(shù) TcpDump的參數(shù)化支持 tcpdump支持相當多的不同參數(shù),如使用-i參數(shù)指定tcpdump監(jiān)聽
7、的網(wǎng)絡界面,這在計算機具有多個網(wǎng)絡界面時非常有用,使用-c參數(shù)指定要監(jiān)聽的數(shù)據(jù)包數(shù)量,使用-w參數(shù)指定將監(jiān)聽到的數(shù)據(jù)包寫入文件中保存,等等?! ∪欢鼜碗s的tcpdump參數(shù)是用于過濾目的,這是因為網(wǎng)絡中流量很大,如果不加分辨將所有的數(shù)據(jù)包都截留下來,數(shù)據(jù)量太大,反而不容易發(fā)現(xiàn)需要的數(shù)據(jù)包。使用這些參數(shù)定義的過濾規(guī)則可以截留特定的數(shù)據(jù)包,以縮小目標,才能更好的分析網(wǎng)絡中存在的問題。tcpdump使用參數(shù)指定要監(jiān)視數(shù)據(jù)包的類型、地址、端口等,根據(jù)具體的網(wǎng)絡問題,充分利用這些過濾規(guī)則就能達到迅速定位故障的目的。請使用mantcpdump查看
8、這些過濾規(guī)則的具體用法?! ★@然為了安全起見,不用作網(wǎng)絡管理用途的計算機上不應該運行這一類的網(wǎng)絡分析軟件,為了屏蔽它們,可以屏蔽內(nèi)核中的bpfilter偽設備。一般情況下網(wǎng)絡硬件和TCP/IP堆棧不支持接收