版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Linux網絡協議分析工具tcpdump和tshark用法Tcpdump是網絡協議分析的基本工具。tshark是大名鼎鼎的開源網絡協議分析工具wireshark(原名叫ethereal)的命令行版本,wireshark可對多達千余種網絡協議進行解碼分析。Wireshark和tcpdump均使用libpcap庫(參見libpcap編程教程)進行網絡截包。TCPDUMP詳細manpage參見tcpdump網站?;居梅═cpdump的參數基本分為兩塊:選項(options)和過濾器表達式(filter_expression)Tcpdump是網絡協議分析的基本工具。tshark是大名鼎鼎的開源網絡協
2、議分析wireshark(原名叫ethereal)的命令行版本,wireshark可對多達千余種網絡協議進行解碼分析。Wireshark和tcpdump均使用libpcap庫(參見libpcap編程教程)進行網絡截包。TCPDUMP詳細manpage參見tcpdump網站?;居梅═cpdump的參數基本分為兩塊:選項(options)和過濾器表達式(filter_expression)。#tcpdumpoptionsfilter_expression例如tcpdump-c100-ieth0-wlogtcpdstport50000其中options部分參數:-c100指定截取的包的數量-iet
3、h0指定監(jiān)聽哪個網絡端口-wlog輸出到名為log的文件中(libpcap格式)filter_expression參數為tcpdstport50000,即只監(jiān)聽目標端口為50000的tcp包。更多的例子:/*監(jiān)視目標地址為除內網地址(-54)之外的流量*/tcpdumpdstnetnot/24/*監(jiān)視除HTTP瀏覽(端口80/8080)、SSH(22)POP3(110)之外的流量,注意在括號(之前添加轉義符,-n和-nn的解釋見隨后*/#tcpdump-n-nnportnot(wwwor22or110)或tcpdump-n-nn
4、port!(wwwor22or110)/*監(jiān)視源主機MAC地址為00:50:04:BA:9B的包*/tcpdumpethersrc00:50:04:BA:9B/*監(jiān)視源主機為并且目的端口不是telnet的包*/tcpdumpsrchostanddstportnottelnetipicmparprarp和tcp、udp、icmp這些選項等者8要放至第個參數的位置,用來過濾數據報的類型。例如:tcpdumpipsrc只過濾數據-鏈路層上的IP報頭tcpdumpudpandsrchost/只過濾源主機的所有udp
5、報頭TcpDump提供了很多options參數來讓我們選擇如何處理得到的數據,如下所示:-l將數據重定向。如tcpdump-l>tcpcap.txt將得到的數據存入tcpcap.txt文件中。-n不進行IP地址到主機名的轉換。如果不使用這一項,當系統(tǒng)中存在某一主機的主機名時,TcpDump會把IP地址轉換為主機名顯示,就像這樣:eth0vntc9.1165>.telnet,使用-n后變成了:eth0v.1165>.telnet。-nn不進行端口名稱的轉換。上面這條信息使用-nn后就變成了:eth0vntc9.1165>.23。
6、-N不打印出默認的域名。還是這條信息-N后就是:eth0vntc9.1165>router.telneto-O不進行匹配代碼的優(yōu)化。-t不打印UNIX時間戳,也就是不顯示時間。-tt打印原始的、未格式化過的時間。-v詳細的輸出,也就比普通的多了個TTL和服務類型。參數詳解tcpdump采用命令行方式,它的命令格式為:tcpdump-adeflnNOpqStvx-c數量-F文件名-i網絡接口-r文件名-ssnaplen-T類型-w文件名表達式-a將網絡地址和廣播地址轉變成名字;-d將匹配信息包的代碼以人們能夠理解的匯編格式給出;-dd將匹配信息包的代碼以c語言程序段的格式給出;-ddd將匹
7、配信息包的代碼以十進制的形式給出;-e在輸出行打印出數據鏈路層的頭部信息;-f將外部的Internet地址以數字的形式打印出來;-1使標準輸出變?yōu)榫彌_行形式;-n不把網絡地址轉換成名字;-t在輸出的每一行不打印時間戳;-v輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;-vv輸出詳細的報文信息;-c在收到指定的包的數目后,tcpdump就會停止;-F從指定的文件中讀取表達式,忽略其它的表達式;-i指定監(jiān)聽的網絡接口;-r從指定的文件中讀取包(這些包一般通過-w選項產生);-w直接將包寫入文件中,并不分析和打印出來;-T將監(jiān)聽到的包直接解釋為指定的類型的報文,常見的類型有r
8、pc(遠程過程調用)和snmp(簡單網絡管理協議;)tcpdump的表達式介紹表達式是一個正則表達式,tcpdump利用它作為過濾報文的條件,如果一個報文滿足表達式的條件,則這個報文將會被捕獲。如果沒有給出任何條件,則網絡上所有的信息包將會被截獲。在表達式中一般如下幾種類型的關鍵字,一種是關于類型的關鍵字,主要包括host,net,port,例如host,指明是一臺主機,net指明是一個網絡地址,port23指明端口號是23。如果沒有指定類型,缺省的類型是host.第二種是確定傳輸方向的關鍵字,主要包括src,ds
9、t,dstorsrc,dstandsrc,這些關鍵字指明了傳輸的方向。舉例說明,src指明ip包中源地址是,dstnet指明目的網絡地址是。如果沒有指明方向關鍵字,則缺省是srcordst關鍵字。第三種是協議的關鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等類型。Fddi指明是在FDDI份布式光纖數據接口網絡)上的特定的網絡協議,實際上它是"ether"的別名,fddi和ether具有類似的源地址和目的地址,所以可以將fddi協議包當作ether的包進行處理和分析。其他的幾個關
10、鍵字就是指明了監(jiān)聽的包的協議內容。如果沒有指定任何協議,貝tcpdump將會監(jiān)聽所有協議的信息包。除了這三種類型的關鍵字之外,其他重要的關鍵字如下:gateway,broadcast,less,greater還有三種邏輯運算,取非運算是'not''!',與運算是'and','&&'或運算是'or'川;這些關鍵字可以組合起來構成強大的組合條件來滿足人們的需要,下面舉幾個例子來說明。(1)想要截獲所有的主機收到的和發(fā)出的所有的數據包:#tcpdumphost想
11、要截獲主機和主機或的通信,使用命令:(在命令行中適用括號時,一定要#tcpdumphostand(or)如果想要獲取主機除了和主機之外所有主機通信的ip包,使用命令:#tcpdumpiphostand!(4)如果想要獲取主機接收或發(fā)出的telnet包,使用如下命令:#tcpdumptcpport23hosttcpdump的輸出結果介紹
12、下面我們介紹幾種典型的tcpdump命令的輸出信息(1)數據鏈路層頭信息使用命令#tcpdump-ehosticeice是一臺裝有l(wèi)inux的主機,她的MAC地址是0:90:27:58:AF:1AH219是一臺裝有SOLARIC勺SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一條命令的輸出結果如下所示:21:50:12.847509eth0<8:0:20:79:5b:460:90:27:58:af:1aip60:h219.33357>ice.telnet0:0(0)ack22535win8760(DF)分析:21:50:12是顯示的時間,847509是ID號,et
13、h0<表示從網絡接口eth0接受該數據包,eth0>表示從網絡接口設備發(fā)送數據包,8:0:20:79:5b:46是主機H219的MAC地址,它表明是從源地址H219發(fā)來的數據包.0:90:27:58:af:1a是主機ICE的MAC地址,表示該數據包的目的地址是ICE.ip是表明該數據包是IP數據包,60是數據包的長度,h219.33357>ice.telnet表明該數據包是從主機H219的33357端口發(fā)往主機ICE的TELNET(23口.ack22535表明對序列號是222535的包進行響應.win8760表明發(fā)送窗口的大小是8760.AR池的TCPDUMP出信息使用命令#
14、tcpdumparp得到的輸出結果是:22:32:42.802509eth0>arpwho-hasroutetellice(0:90:27:58:af:1a)22:32:42.802902eth0<arpreplyrouteis-at0:90:27:12:10:66(0:90:27:58:af:1a)分析:22:32:42是時間戳,802509是ID號,eth0>表明從主機發(fā)出該數據包,arp表明是ARP請求包,who-hasroutetellice表明是主機ICE請求主機ROUTE的MAC地址。0:90:27:58:af:1a是主機ICE的MAC地址。(3)TCPM的輸出信
15、息用TCPDUMP甫獲的TCP包的一般輸出信息是:src>dst:flagsdataseqnoackwindowurgentoptionssrc>dst:表明從源地址到目的地址,flags是TCP包中的標志信息,S是SYNfe志,F(FIN),P(PUSH),R(RST)”.沒有標記);data-seqno是數據包中的數據的順序號,ack是下次期望的順序號,window是接收緩存的窗口大小,urgent表明數據包中是否有緊急指針.Options是選項.UDP包的輸出信息用TCPDUMP甫獲的UDP包的一般輸出信息是:route.port1>ice.port2:udplenth
16、UDP十分簡單,上面的輸出行表明從主機ROUTE勺port1端口發(fā)出的一個UDP數據包到主機ICE的port2端口,類型是UDP,包的長度是lenthTshark詳細參數參見tshark的manpage。/列出可監(jiān)聽流量的網絡接口列表。tshark使用1,2,.等數字來標識eth0,eth1.tshark-D/監(jiān)聽接口eth0上的UDP端口為1234的流量tshark-f"udpport1234"-i1tshark的強悍之處在于對協議進行完全解碼,甚至對分片的TCP包進行重組再行解碼,例如/監(jiān)聽接口eth0上目標端口為80的http流量,并將http請求頭的host和location打印tshark-f"dstport80"-Tfields-ehttp.host-ehttp.location-i1其中-f參數指定過濾表達式(即等同tcpdump的filter_expression)-Tfields
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款合同印花稅稅率借款合同
- 營銷顧問服務合同協議書
- 工程招投標與合同管理大學
- 高科技產品研發(fā)生產合同
- 涂層材料對主被動一體化熱防護效果影響的實驗研究
- 復雜電子對抗中的組網雷達功率分配與干擾智能識別及對抗研究
- 《動物的激素調節(jié)》課件
- 2025年西師新版七年級生物上冊階段測試試卷含答案
- 2025年中圖版九年級歷史下冊階段測試試卷
- 2025年浙教版七年級歷史下冊月考試卷
- 包裝品質彩盒外箱知識課件
- 神經外科課件:神經外科急重癥
- 頸復康腰痛寧產品知識課件
- 2024年低壓電工證理論考試題庫及答案
- 微電網市場調查研究報告
- 《民航服務溝通技巧》教案第14課民航服務人員上行溝通的技巧
- MT/T 538-1996煤鉆桿
- 小學六年級語文閱讀理解100篇(及答案)
- CB/T 467-1995法蘭青銅閘閥
- 氣功修煉十奧妙
- 勾股定理的歷史與證明課件
評論
0/150
提交評論