資源描述:
《Linux網(wǎng)絡(luò)協(xié)議分析工具tcpdump和tshark用法.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、Linux網(wǎng)絡(luò)協(xié)議分析工具tcpdump和tshark用法Tcpdump是網(wǎng)絡(luò)協(xié)議分析的基本工具。tshark是大名鼎鼎的開源網(wǎng)絡(luò)協(xié)議分析工具wireshark(原名叫ethereal)的命令行版本,wireshark可對(duì)多達(dá)千余種網(wǎng)絡(luò)協(xié)議進(jìn)行解碼分析。Wireshark和tcpdump均使用libpcap庫(參見libpcap編程教程)進(jìn)行網(wǎng)絡(luò)截包。TCPDUMP詳細(xì)manpage參見tcpdump網(wǎng)站?;居梅═cpdump的參數(shù)基本分為兩塊:選項(xiàng)(options)和過濾器表達(dá)式(filter_expression)Tcpdump是網(wǎng)絡(luò)協(xié)議分析的基本工
2、具。tshark是大名鼎鼎的開源網(wǎng)絡(luò)協(xié)議分析wireshark(原名叫ethereal)的命令行版本,wireshark可對(duì)多達(dá)千余種網(wǎng)絡(luò)協(xié)議進(jìn)行解碼分析。Wireshark和tcpdump均使用libpcap庫(參見libpcap編程教程)進(jìn)行網(wǎng)絡(luò)截包。TCPDUMP詳細(xì)manpage參見tcpdump網(wǎng)站?;居梅?Tcpdump的參數(shù)基本分為兩塊:選項(xiàng)(options)和過濾器表達(dá)式(filter_expression)。#tcpdump[options][filter_expression]例如#tcpdump-c100-ieth0-wlogtcp
3、dstport50000其中options部分參數(shù):-c100指定截取的包的數(shù)量-ieth0指定監(jiān)聽哪個(gè)網(wǎng)絡(luò)端口-wlog輸出到名為log的文件中(libpcap格式)filter_expression參數(shù)為tcpdstport50000,即只監(jiān)聽目標(biāo)端口為50000的tcp包。更多的例子:/*監(jiān)視目標(biāo)地址為除內(nèi)網(wǎng)地址(192.168.3.1-192.168.3.254)之外的流量*/#tcpdumpdstnetnot192.168.3.0/24?/*監(jiān)視除HTTP瀏覽(端口80/8080)、SSH(22)、POP3(110)之外的流量,注意在括號(hào)(之前添
4、加轉(zhuǎn)義符,-n和-nn的解釋見隨后*/#?tcpdump-n-nnportnot(wwwor22or110)或#tcpdump-n-nnport!(wwwor22or110)/*監(jiān)視源主機(jī)MAC地址為00:50:04:BA:9B的包*/#tcpdumpethersrc00:50:04:BA:9B/*?監(jiān)視源主機(jī)為192.168.0.1并且目的端口不是telnet的包*/#tcpdumpsrchost192.168.0.1anddstportnottelnet?ipicmparprarp和tcp、udp、icmp這些選項(xiàng)等都要放到第一個(gè)參數(shù)的位置,
5、用來過濾數(shù)據(jù)報(bào)的類型。例如:#tcpdumpipsrc……//只過濾數(shù)據(jù)-鏈路層上的IP報(bào)頭#tcpdumpudpandsrchost192.168.0.1//只過濾源主機(jī)192.168.0.1的所有udp報(bào)頭TcpDump提供了很多options參數(shù)來讓我們選擇如何處理得到的數(shù)據(jù),如下所示:?-l將數(shù)據(jù)重定向。如tcpdump-l>tcpcap.txt將得到的數(shù)據(jù)存入tcpcap.txt文件中。?-n不進(jìn)行IP地址到主機(jī)名的轉(zhuǎn)換。如果不使用這一項(xiàng),當(dāng)系統(tǒng)中存在某一主機(jī)的主機(jī)名時(shí),TcpDump會(huì)把IP地址轉(zhuǎn)換為主機(jī)名顯示,就像這樣:eth0<ntc9.1
6、165>router.domain.net.telnet,使用-n后變成了:eth0<192.168.0.9.1165>192.168.0.1.telnet。?-nn不進(jìn)行端口名稱的轉(zhuǎn)換。上面這條信息使用-nn后就變成了:eth0<ntc9.1165>router.domain.net.23。?-N不打印出默認(rèn)的域名。還是這條信息-N后就是:eth0<ntc9.1165>router.telnet。-O不進(jìn)行匹配代碼的優(yōu)化。?-t不打印UNIX時(shí)間戳,也就是不顯示時(shí)間。?-tt打印原始的、未格式化過的時(shí)間。?-v詳細(xì)的輸出,也就比普通的多了個(gè)TTL和服務(wù)類
7、型。參數(shù)詳解tcpdump采用命令行方式,它的命令格式為:tcpdump[-adeflnNOpqStvx][-c數(shù)量][-F文件名][-i網(wǎng)絡(luò)接口][-r文件名][-ssnaplen][-T類型][-w文件名][表達(dá)式]-a 將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)變成名字;-d 將匹配信息包的代碼以人們能夠理解的匯編格式給出;-dd 將匹配信息包的代碼以c語言程序段的格式給出;-ddd 將匹配信息包的代碼以十進(jìn)制的形式給出;-e 在輸出行打印出數(shù)據(jù)鏈路層的頭部信息;-f 將外部的Internet地址以數(shù)字的形式打印出來;-l 使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形
8、式;-n 不把網(wǎng)絡(luò)地址轉(zhuǎn)換成名字;-t 在輸出的每一行不打