国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

TCPDUMP中文手冊

2019-11-04 11:46:08
字體:
供稿:網(wǎng)友
名稱(NAME)
tcpdump-轉(zhuǎn)儲網(wǎng)絡(luò)上的數(shù)據(jù)流
總覽(SYNOPSIS)
tcpdump[-adeflnNOpqStvx][-ccount][-Ffile]

[-iinterface][-rfile][-ssnaplen]

[-Ttype][-wfile][eXPRession]

描述(DESCRipTION)
Tcpdump打印出在某個網(wǎng)絡(luò)界面上,匹配布爾表達(dá)式expression的報(bào)頭.

對于SunOS的nit或bpf界面:要運(yùn)行tcpdump,你必須有/dev/nit或/dev/bpf*的讀訪問權(quán)限.

對于Solaris的dlpi:你必須有網(wǎng)絡(luò)仿真設(shè)備(networkpseudodevice),如/dev/le的讀訪問權(quán)限.

對于HP-UX的dlpi:你必須是root,或者把它安裝成root的設(shè)置uid程序.對于IRIX的snoop:你必須是root,或者把它安裝成root的設(shè)置uid程序.對于linux:你必須是root,或者把它安裝成root的設(shè)置uid程序.

對于Ultrix和DigitalUNIX:一旦超級用戶使用pfconfig(8)開放了promiscuous操作模式(promiscuous-mode),任何用戶都可以運(yùn)行tcpdump.

對于BSD:你必須有/dev/bpf*的讀訪問權(quán)限.


選項(xiàng)(OPTIONS)
-a
試著把網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱.
-c
當(dāng)收到count報(bào)文后退出.
-d
把編譯好的報(bào)文匹配模板(packet-matchingcode)翻譯成可讀形式,傳往標(biāo)準(zhǔn)輸出,然后退出.
-dd
把報(bào)文匹配模板(packet-matchingcode)以C程序片斷的形式輸出.
-ddd
把報(bào)文匹配模板(packet-matchingcode)以十進(jìn)制數(shù)形式輸出(前面加上總數(shù)).
-e
每行都顯示鏈路層報(bào)頭.
-f
用數(shù)字形式顯示'外部的'互聯(lián)網(wǎng)地址,而不是字符形式(這個選項(xiàng)用來繞開腦殼壞光的SUN黃頁服務(wù)器的問題---一般說來它翻譯外部網(wǎng)絡(luò)數(shù)字地址的時(shí)候會長期掛起).
-F
把file的內(nèi)容用作過濾表達(dá)式.忽略命令行上的表達(dá)式.
-i
監(jiān)聽interface.假如不指定接口,tcpdump在系統(tǒng)的接口清單中,尋找號碼最小,已經(jīng)配置好的接口(loopback除外).選中的時(shí)候會中斷連接.
-l
行緩沖標(biāo)準(zhǔn)輸出.可用于捕捉數(shù)據(jù)的同時(shí)查看數(shù)據(jù).例如,
``tcpdump-lteedat''or``tcpdump-l>dat&tail-fdat''.
-n
別把地址轉(zhuǎn)換成名字(就是說,主機(jī)地址,端口號等)
-N
不顯示主機(jī)名字中的域名部分.例如,假如使用這個選項(xiàng),tcpdump只顯示``nic'',而不是``nic.ddn.mil''.
-O
禁止運(yùn)行報(bào)文匹配模板的優(yōu)化器.只有當(dāng)你懷疑優(yōu)化器有bug時(shí)才有用.
-p
禁止把接口置成promiscuous模式.注重,接口有可能因其他原因而處于promiscuous模式;因此,'-p'不能作為`etherhost{local-hw-addr}或etherbroadcast'的簡寫.
-q
快速輸出.顯示較少的協(xié)議信息,輸出行會短一點(diǎn)點(diǎn).
-r
從file中讀入數(shù)據(jù)報(bào)(文件是用-w選項(xiàng)創(chuàng)建的).假如file是``-'',就讀標(biāo)準(zhǔn)輸入.
-s
從每個報(bào)文中截取snaplen字節(jié)的數(shù)據(jù),而不是缺省的68(假如是SunOS的NIT,最小值是96).68個字節(jié)適用于IP,ICMP,TCP和UDP,但是有可能截掉名字服務(wù)器和NFS報(bào)文的協(xié)議信息(見下面).輸出時(shí)假如指定``[proto]'',tcpdump可以指出那些捕捉量過小的數(shù)據(jù)報(bào),這里的proto是截?cái)喟l(fā)生處的協(xié)議層名稱.注重,采用更大的捕捉范圍既增加了處理報(bào)文的時(shí)間,又相應(yīng)的減少了報(bào)文的緩沖數(shù)量,可能導(dǎo)致報(bào)文的丟失.你應(yīng)該把snaplen設(shè)的盡量小,只要能夠容納你需要的協(xié)議信息就可以了.

-T
把通過"expression"挑選出來的報(bào)文解釋成指定的type.目前已知的類型有:rpc(遠(yuǎn)程過程調(diào)用RemoteProcedureCall),rtp(實(shí)時(shí)應(yīng)用協(xié)議Real-Timeapplicationsprotocol),rtcp(實(shí)時(shí)應(yīng)用控制協(xié)議Real-TimeApplicationscontrolprotocol),vat(可視音頻工具VisualAudioTool),和wb(分布式白板distributedWhiteBoard).
-S
顯示絕對的,而不是相對的TCP序列號.
-t
禁止顯示時(shí)戳標(biāo)志.
-tt
顯示未格式化的時(shí)戳標(biāo)志.
-v
(稍微多一點(diǎn))繁瑣的輸出.例如,顯示IP數(shù)據(jù)報(bào)中的生存周期和服務(wù)類型.
-vv
更繁瑣的輸出.例如,顯示NFS應(yīng)答報(bào)文的附加域.
-w
把原始報(bào)文存進(jìn)file,而不是分析和顯示.它們可以以后用-r選項(xiàng)顯示.假如file是``-'',就寫往標(biāo)準(zhǔn)輸出.
-x
以16進(jìn)制數(shù)形式顯示每一個報(bào)文(去掉鏈路層報(bào)頭后).可以顯示較小的完整報(bào)文,否則只顯示snaplen個字節(jié).
expression
用來選擇要轉(zhuǎn)儲的數(shù)據(jù)報(bào).假如沒有指定expression,就轉(zhuǎn)儲網(wǎng)絡(luò)的全部報(bào)文.否則,只轉(zhuǎn)儲相對expression為`true'的數(shù)據(jù)報(bào).
expression一個或多個原語(primitive)組成.原語通常由一個標(biāo)識(id,名稱或數(shù)字),和標(biāo)識前面的一個或多個修飾子(qualifier)組成.修飾子有三種不同的類型:

type
類型修飾子指出標(biāo)識名稱或標(biāo)識數(shù)字代表什么類型的東西.可以使用的類型有host,net和port.例如,`hostfoo',`net128.3',`port20'.假如不指定類型修飾子,就使用缺省的host.

dir
方向修飾子指出相對于標(biāo)識的傳輸方向(數(shù)據(jù)是傳入還是傳出標(biāo)識).可以使用的方向有src,dst,srcordst和srcanddst.例如,`srcfoo',`dstnet128.3',`srcordstportFTP-data'.假如不指定方向修飾子,就使用缺省的srcordst.對于`null'鏈路層(就是說象slip之類的點(diǎn)到點(diǎn)協(xié)議),用inbound和outbound修飾子指定所需的傳輸方向.
proto
協(xié)議修飾子要求匹配指定的協(xié)議.可以使用的協(xié)議有:ether,fddi,ip,arp,rarp,decnet,lat,sca,moprc,mopdl,tcp和udp.例如,`ethersrcfoo',`arpnet128.3',`tcpport21'.假如不指定協(xié)議修飾子,就使用所有符合類型的協(xié)議.例如,`srcfoo'指`(ip或arp或rarp)srcfoo'(注重后者不符合語法),`netbar'指`(ip或arp或rarp)netbar',`port53'指`(tcp或udp)port53'.
[`fddi'實(shí)際上是`ether'的別名;分析器把它們視為``用在指定網(wǎng)絡(luò)接口上的數(shù)據(jù)鏈路層.''FDDI報(bào)頭包含類似于以太協(xié)議的源目地址,而且通常包含類似于以太協(xié)議的報(bào)文類型,因此你可以過濾FDDI域,就象分析以太協(xié)議一樣.FDDI報(bào)頭也包含其他域,但是你不能在過濾器表達(dá)式里顯式描述.]


作為上述的補(bǔ)充,有一些非凡的`原語'要害字,它們不同于上面的模式:gateway,broadcast,less,greater和數(shù)學(xué)表達(dá)式.這些在后面有敘述.

更復(fù)雜的過濾器表達(dá)式可以通過and,or和not連接原語來組建.例如,`hostfooandnotportftpandnotportftp-data'.為了少敲點(diǎn)鍵,可以忽略相同的修飾子.例如,`tcpdstportftporftp-dataordomain'實(shí)際上就是`tcpdstportftportcpdstportftp-dataortcpdstportdomain'.

答應(yīng)的原語有:

dsthosthost
假如報(bào)文中IP的目的地址域是host,則邏輯為真.host既可以是地址,也可以是主機(jī)名.
srchosthost
假如報(bào)文中IP的源地址域是host,則邏輯為真.
hosthost
假如報(bào)文中IP的源地址域或者目的地址域是host,則邏輯為真.上面所有的host表達(dá)式都可以加上ip,arp,或rarp要害字做前綴,就象:
iphosthost

它等價(jià)于:
etherproto/ipandhosthost

假如host是擁有多個IP地址的主機(jī)名,它的每個地址都會被查驗(yàn).

etherdstehost
假如報(bào)文的以太目的地址是ehost,則邏輯為真.Ehost既可以是名字(/etc/ethers里有),也可以是數(shù)字(有關(guān)數(shù)字格式另見ethers(3N)).
ethersrcehost
假如報(bào)文的以太源地址是ehost,則邏輯為真.
etherhostehost
假如報(bào)文的以太源地址或以太目的地址是ehost,則邏輯為真.
gatewayhost
假如報(bào)文把host當(dāng)做網(wǎng)關(guān),則邏輯為真.也就是說,報(bào)文的以太源或目的地址是host,但是IP的源目地址都不是host.host必須是個主機(jī)名,而且必須存在/etc/hosts和/etc/ethers中.(一個等價(jià)的表達(dá)式是
etherhostehostandnothosthost

對于host/ehost,它既可以是名字,也可以是數(shù)字.)
dstnetnet
假如報(bào)文的IP目的地址屬于網(wǎng)絡(luò)號net,則邏輯為真.net既可以是名字(存在/etc/networks中),也可以是網(wǎng)絡(luò)號.(詳見networks(4)).
srcnetnet
假如報(bào)文的IP源地址屬于網(wǎng)絡(luò)號net,則邏輯為真.
netnet
假如報(bào)文的IP源地址或目的地址屬于網(wǎng)絡(luò)號net,則邏輯為真.
netnetmaskmask
假如IP地址匹配指定網(wǎng)絡(luò)掩碼(netmask)的net,則邏輯為真.本原語可以用src或dst修飾.
netnet/len
假如IP地址匹配指定網(wǎng)絡(luò)掩碼的net,則邏輯為真,掩碼的有效位寬為len.本原語可以用src或dst修飾.
dstportport
假如報(bào)文是ip/tcp或ip/udp,并且目的端口是port,則邏輯為真.port是一個數(shù)字,也可以是/etc/services中說明過的名字(參看tcp(4P)和udp(4P)).假如使用名字,則檢查端口號和協(xié)議.假如使用數(shù)字,或者有二義的名字,則只檢查端口號(例如,dstport513將顯示tcp/login的數(shù)據(jù)和udp/who的數(shù)據(jù),而portdomain將顯示tcp/domain和udp/domain的數(shù)據(jù)).
srcportport
假如報(bào)文的源端口號是port,則邏輯為真.
portport
假如報(bào)文的源端口或目的端口是port,則邏輯為真.上述的任意一個端口表達(dá)式都可以用要害字tcp或udp做前綴,就象:
tcpsrcportport

它只匹配源端口是port的TCP報(bào)文.
lesslength
假如報(bào)文的長度小于等于length,則邏輯為真.它等同于:
len<=length.

greaterlength
假如報(bào)文的長度大于等于length,則邏輯為真.它等同于:
len>=length.

ipprotoprotocol
假如報(bào)文是IP數(shù)據(jù)報(bào)(參見ip(4P)),其內(nèi)容的協(xié)議類型是protocol,則邏輯為真.Protocol可以是數(shù)字,也可以是下列名稱中的一個:icmp,igrp,udp,nd,或tcp.注重這些標(biāo)識符tcp,udp,和icmp也同樣是要害字,所以必須用反斜杠(/)轉(zhuǎn)義,在C-shell中應(yīng)該是//.
etherbroadcast
假如報(bào)文是以太廣播報(bào)文,則邏輯為真.要害字ether是可選的.
ipbroadcast
假如報(bào)文是IP廣播報(bào)文,則邏輯為真.Tcpdump檢查全0和全1廣播約定,并且檢查本地的子網(wǎng)掩碼.
ethermulticast
假如報(bào)文是以太多目傳送報(bào)文(multicast),則邏輯為真.要害字ether是可選的.這實(shí)際上是`ether[0]&1!=0'的簡寫.
ipmulticast
假如報(bào)文是IP多目傳送報(bào)文,則邏輯為真.
etherprotoprotocol
假如報(bào)文協(xié)議屬于以太類型的protocol,則邏輯為真.Protocol可以是數(shù)字,也可以是名字,如ip,arp,或rarp.注重這些標(biāo)識符也是要害字,所以必須用反斜杠(/)轉(zhuǎn)義.[假如是FDDI(例如,`fddiprotocolarp'),協(xié)議標(biāo)識來自802.2邏輯鏈路控制(LLC)報(bào)頭,它通常位于FDDI報(bào)頭的頂層.當(dāng)根據(jù)協(xié)議標(biāo)識過濾報(bào)文時(shí),Tcpdump假設(shè)所有的FDDI報(bào)文含有LLC報(bào)頭,而且LLC報(bào)頭用的是SNAP格式.]

decnetsrchost
假如DECNET的源地址是host,則邏輯為真,該主機(jī)地址的形式可能是``10.123'',或者是DECNET主機(jī)名.[只有配置成運(yùn)行DECNET的Ultrix系統(tǒng)支持DECNET主機(jī)名.]
decnetdsthost
假如DECNET的目的地址是host,則邏輯為真.
decnethosthost
假如DECNET的源地址或目的地址是host,則邏輯為真.
ip,arp,rarp,decnet
是:
etherprotop

的簡寫形式,其中p為上述協(xié)議的一種.
lat,moprc,mopdl
是:
etherprotop

的簡寫形式,其中p為上述協(xié)議的一種.注重tcpdump目前不知道如何分析這些協(xié)議.
tcp,udp,icmp
是:
ipprotop

的簡寫形式,其中p為上述協(xié)議的一種.
exprrelopexpr
假如這個關(guān)系成立,則邏輯為真,其中relop是>,<,>=,<=,=,!=之一,expr是數(shù)學(xué)表達(dá)式,由常整數(shù)(標(biāo)準(zhǔn)C語法形式),普通的二進(jìn)制運(yùn)算符[+,-,*,/,&,],一個長度運(yùn)算符,和指定的報(bào)文數(shù)據(jù)訪問算符組成.要訪問報(bào)文內(nèi)的數(shù)據(jù),使用下面的語法:
proto[expr:size]

Proto是ether,fddi,ip,arp,rarp,tcp,udp,oricmp之一,同時(shí)也指出了下標(biāo)操作的協(xié)議層.expr給出字節(jié)單位的偏移量,該偏移量相對于指定的協(xié)議層.Size是可選項(xiàng),指出感愛好的字節(jié)數(shù);它可以是1,2,4,缺省為1字節(jié).由要害字len給出的長度運(yùn)算符指明報(bào)文的長度.
例如,`ether[0]&1!=0'捕捉所有的多目傳送報(bào)文.表達(dá)式`ip[0]&0xf!=5'捕捉所有帶可選域的IP報(bào)文.表達(dá)式`ip[6:2]&0x1fff=0'只捕捉未分片和片偏移為0的數(shù)據(jù)報(bào).這種檢查隱含在tcp和udp下標(biāo)操作中.例如,tcp[0]一定是TCP報(bào)頭的第一個字節(jié),而不是其中某個IP片的第一個字節(jié).

原語可以用下述方法結(jié)合使用:

園括弧括起來的原語和操作符(園括弧在Shell中有專用,所以必須轉(zhuǎn)義).
取反操作(`!'or`not').
連結(jié)操作(`&&'or`and').
或操作(`'or`or').
取反操作有最高優(yōu)先級.或操作和連結(jié)操作有相同的優(yōu)先級,運(yùn)算時(shí)從左到右結(jié)合.注重連結(jié)操作需要顯式的and算符,而不是并列放置.

假如給出標(biāo)識符,但沒給要害字,那么暗指最近使用的要害字.例如,

nothostvsandace

作為
nothostvsandhostace

的簡寫形式,不應(yīng)該和
not(hostvsorace)

混淆.
表達(dá)式參數(shù)可以作為單個參數(shù)傳給tcpdump,也可以作為復(fù)合參數(shù),后者更方便一些.一般說來,假如表達(dá)式包含Shell元字符(metacharacter),傳遞單個括起來的參數(shù)要輕易一些.復(fù)合參數(shù)在被解析前用空格聯(lián)接一起.


示例(EXAMPLES)
顯示所有進(jìn)出sundown的報(bào)文:

tcpdumphostsundown

顯示helios和主機(jī)hot,ace之間的報(bào)文傳送:

tcpdumphostheliosand/(hotorace/)

顯示ace和除了helios以外的所有主機(jī)的IP報(bào)文:

tcpdumpiphostaceandnothelios

顯示本地的主機(jī)和Berkeley的主機(jī)之間的網(wǎng)絡(luò)數(shù)據(jù):

tcpdumpnetUCb-ether

顯示所有通過網(wǎng)關(guān)snup的ftp報(bào)文(注重這個表達(dá)式被單引號括起,防止shell解釋園括弧):

tcpdump'gatewaysnupand(portftporftp-data)'

顯示既不是來自本地主機(jī),也不是傳往本地主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)(假如你把網(wǎng)關(guān)通往某個其他網(wǎng)絡(luò),這個做法將不會把數(shù)據(jù)發(fā)往你的本地網(wǎng)絡(luò)).

tcpdumpipandnotnetlocalnet

顯示每個TCP會話的起始和結(jié)束報(bào)文(SYN和FIN報(bào)文),而且會話方中有一個遠(yuǎn)程主機(jī).

tcpdump'tcp[13]&3!=0andnotsrcanddstnetlocalnet'

顯示經(jīng)過網(wǎng)關(guān)snup中大于576字節(jié)的IP數(shù)據(jù)報(bào):

tcpdump'gatewaysnupandip[2:2]>576'

顯示IP廣播或多目傳送的數(shù)據(jù)報(bào),這些報(bào)文不是通過以太網(wǎng)的廣播或多目傳送形式傳送的:

tcpdump'ether[0]&1=0andip[16]>=224'

顯示所有不是回響請求/應(yīng)答的ICMP報(bào)文(也就是說,不是ping報(bào)文):

tcpdump'icmp[0]!=8andicmp[0]!=0"

輸出格式(OUTPUTFORMAT)
tcpdump的輸出格式取決于協(xié)議.下面的描述給出大多數(shù)格式的簡要說明和范例.

鏈路層報(bào)頭(LinkLevelHeaders)

假如給出'-e'選項(xiàng)就顯示鏈路層報(bào)頭.在以太網(wǎng)上,顯示報(bào)文的源目地址,協(xié)議和報(bào)文長度.

在FDDI網(wǎng)絡(luò)上,'-e'選項(xiàng)導(dǎo)致tcpdump顯示出`幀控制(framecontrol)'域,源目地址和報(bào)文長度.(`幀控制'域負(fù)責(zé)解釋其余的報(bào)文.普通報(bào)文(比如說載有IP數(shù)據(jù)報(bào))是`異步'報(bào)文,優(yōu)先級介于0到7;例如,`async4'.這些被認(rèn)為載有802.2邏輯鏈路控制(LLC)報(bào)文;假如它們不是ISO數(shù)據(jù)報(bào)或者所謂的SNAP報(bào)文,就顯示出LLC報(bào)頭.

(注重:以下描述中假設(shè)你熟悉RFC-1144中說明的SLIP壓縮算法.)

在SLIP鏈路上,tcpdump顯示出方向指示(``I''指inbound,``O''指outbound),報(bào)文類型和壓縮信息.首先顯示的是報(bào)文類型.有三種類型ip,utcp和ctcp.對于ip報(bào)文不再顯示更多的鏈路信息.對于TCP報(bào)文,在類型后面顯示連接標(biāo)識.假如報(bào)文是壓縮過的,就顯示出編碼的報(bào)頭.非凡情形以*S+n和*SA+n的形式顯示,這里的n是順序號(或順序號及其確認(rèn))發(fā)生的改變總和.假如不是非凡情形,就顯示0或多少個改變.改變由U(urgentpointer),W(window),A(ack),S(sequencenumber)和I(packetID)指明,后跟一個變化量(+nor-n),或另一個值(=n).最后顯示報(bào)文中的數(shù)據(jù)總和,以及壓縮報(bào)頭的長度.

例如,下面一行顯示了一個傳出的壓縮的TCP報(bào)文,有一個隱含的連接標(biāo)識;確認(rèn)(ack)的變化量是6,順序號是49,報(bào)文ID是6;有三個字節(jié)的數(shù)據(jù)和六個字節(jié)的壓縮報(bào)頭:

Octcp*A+6S+49I+63(6)

ARP/RARP報(bào)文

Arp/rarp報(bào)文的輸出顯示請求類型及其參數(shù).輸出格式傾向于能夠自我解釋.這里是一個簡單的例子,來自主機(jī)rtsg到主機(jī)csam的'rlogin'開始部分:

arpwho-hascsamtellrtsg
arpreplycsamis-atCSAM


第一行說明rtsg發(fā)出一個arp報(bào)文詢問internet主機(jī)csam的以太網(wǎng)地址.Csam用它的以太地址作應(yīng)答(這個例子中,以太地址是大寫的,internet地址為小寫).
假如用tcpdump-n看上去要清楚一些:

arpwho-has128.3.254.6tell128.3.254.68
arpreply128.3.254.6is-at02:07:01:00:01:c4

假如用tcpdump-e,可以看到實(shí)際上第一個報(bào)文是廣播,第二個報(bào)文是點(diǎn)到點(diǎn)的:

RTSGBroadcast080664:arpwho-hascsamtellrtsg
CSAMRTSG080664:arpreplycsamis-atCSAM


這里第一個報(bào)文指出以太網(wǎng)源地址是RTSG,目的地址是以太網(wǎng)廣播地址,類型域?yàn)?6進(jìn)制數(shù)0806(類型ETHER_ARP),報(bào)文全長64字節(jié).
TCP報(bào)文

(注重:以下的描述中假設(shè)你熟悉RFC-793中說明的TCP協(xié)議,假如你不了解這個協(xié)議,無論是本文還是tcpdump都對你用處不大)

一般說來tcp協(xié)議的輸出格式是:

src>dst:flagsdata-seqnoackwindowurgentoptions


Src和dst是源目IP地址和端口.Flags是S(SYN),F(FIN),P(PUSH)或R(RST)或單獨(dú)的`.'(無標(biāo)志),或者是它們的組合.Data-seqno說明了本報(bào)文中的數(shù)據(jù)在流序號中的位置(見下例).Ack是在這條連接上信源機(jī)希望下一個接收的字節(jié)的流序號(sequencenumber).Window是在這條連接上信源機(jī)接收緩沖區(qū)的字節(jié)大小.Urg表明報(bào)文內(nèi)是`緊急(urgent)'數(shù)據(jù).Options是tcp可選報(bào)頭,用尖括號括起(例如,).
Src,dst和flags肯定存在.其他域依據(jù)報(bào)文的tcp報(bào)頭內(nèi)容,只輸出有必要的部分.

下面是從主機(jī)rtsgrlogin到主機(jī)csam的開始部分.

rtsg.1023>csam.login:S768512:768512(0)win4096
csam.login>rtsg.1023:S947648:947648(0)ack768513win4096
rtsg.1023>csam.login:.ack1win4096
rtsg.1023>csam.login:P1:2(1)ack1win4096
csam.login>rtsg.1023:.ack2win4096
rtsg.1023>csam.login:P2:21(19)ack1win4096
csam.login>rtsg.1023:P1:2(1)ack21win4077
csam.login>rtsg.1023:P2:3(1)ack21win4077urg1
csam.login>rtsg.1023:P3:4(1)ack21win4077urg1


第一行是說從rtsg的tcp端口1023向csam的login端口發(fā)送報(bào)文.S標(biāo)志表明設(shè)置了SYN標(biāo)志.報(bào)文的流序號是768512,沒有數(shù)據(jù).(這個寫成`first:last(nbytes)',意思是`從流序號first到last,不包括last,有nbytes字節(jié)的用戶數(shù)據(jù)'.)此時(shí)沒有捎帶確認(rèn)(piggy-backedack),有效的接收窗口是4096字節(jié),有一個最大段大小(max-segment-size)的選項(xiàng),請求設(shè)置mss為1024字節(jié).
Csam用類似的形式應(yīng)答,只是增加了一個對rtsgSYN的捎帶確認(rèn).然后Rtsg確認(rèn)csam的SYN.`.'意味著沒有設(shè)置標(biāo)志.這個報(bào)文不包含數(shù)據(jù),因此也就沒有數(shù)據(jù)的流序號.注重這個確認(rèn)流序號是一個小整數(shù)(1).當(dāng)tcpdump第一次發(fā)現(xiàn)一個tcp會話時(shí),它顯示報(bào)文攜帶的流序號.在隨后收到的報(bào)文里,它顯示當(dāng)前報(bào)文和最初那個報(bào)文的流序號之差.這意味著從第一個報(bào)文開始,以后的流序號可以理解成數(shù)據(jù)流中的相對位移asrelativebytepositionsintheconversation'sdatastream(withthefirstdatabyteeachdirectionbeing`1').`-S'選項(xiàng)能夠改變這個特性,直接顯示原始的流序號.

在第六行,rtsg傳給csam19個字節(jié)的數(shù)據(jù)(字節(jié)2到20).報(bào)文中設(shè)置了PUSH標(biāo)志.第七行csam表明它收到了rtsg的數(shù)據(jù),字節(jié)序號是21,但不包括第21個字節(jié).顯然大多數(shù)數(shù)據(jù)在socket的緩沖區(qū)內(nèi),因?yàn)閏sam的接收窗口收到的數(shù)據(jù)小于19個字節(jié).同時(shí)csam向rtsg發(fā)送了一個字節(jié)的數(shù)據(jù).第八和第九行顯示csam發(fā)送了兩個字節(jié)的緊急數(shù)據(jù)到rtsg.

假如捕捉區(qū)設(shè)置的過小,以至于tcpdump不能捕捉到完整的TCP報(bào)頭,tcpdump會盡可能的翻譯已捕捉的部分,然后顯示``[tcp]'',表明無法翻譯其余部分.假如報(bào)頭包含一個偽造的選項(xiàng)(onewithalengththat'seithertoosmallorbeyondtheendoftheheader),tcpdump顯示``[badopt]''并且不再翻譯其他選項(xiàng)部分(因?yàn)樗豢赡芘卸ǔ鰪哪膬洪_始).假如報(bào)頭長度表明存在選項(xiàng),但是IP數(shù)據(jù)報(bào)長度不夠,不可能真的保存選項(xiàng),tcpdump就顯示``[badhdrlength]''.

UDP報(bào)文

UDP格式就象這個rwho報(bào)文顯示的:

actinide.who>broadcast.who:udp84


就是說把一個udp數(shù)據(jù)報(bào)從主機(jī)actinide的who端口發(fā)送到broadcast,Internet廣播地址的who端口.報(bào)文包含84字節(jié)的用戶數(shù)據(jù).
某些UDP服務(wù)能夠識別出來(從源目端口號上),因而顯示出更高層的協(xié)議信息.非凡是域名服務(wù)請求(RFC-1034/1035)和NFS的RPC調(diào)用(RFC-1050).

UDP域名服務(wù)請求(NameServerRequests)

(注重:以下的描述中假設(shè)你熟悉RFC-1035說明的域名服務(wù)協(xié)議.假如你不熟悉這個協(xié)議,下面的內(nèi)容就象是天書.)

域名服務(wù)請求的格式是

src>dst:idop?flagsqtypeqclassname(len)

h2opolo.1538>helios.domain:3+A?ucbvax.berkeley.edu.(37)

主機(jī)h2opolo訪問helios上的域名服務(wù),詢問和ucbvax.berkeley.edu.關(guān)聯(lián)的地址記錄(qtype=A).查詢號是`3'.`+'表明設(shè)置了遞歸請求標(biāo)志.查詢長度是37字節(jié),不包括UDP和IP頭.查詢操作是普通的Query操作,因此op域可以忽略.假如op設(shè)置成其他什么東西,它應(yīng)該顯示在`3'和`+'之間.類似的,qclass是普通的C_IN類型,也被忽略了.其他類型的qclass應(yīng)該在`A'后面顯示.
Tcpdump會檢查一些不規(guī)則情況,相應(yīng)的結(jié)果作為補(bǔ)充域放在方括號內(nèi):假如某個查詢包含回答,名字服務(wù)或治理機(jī)構(gòu)部分,就把a(bǔ)ncount,nscount,或arcount顯示成`[na]',`[nn]'或`[nau]',這里的n代表相應(yīng)的數(shù)量.假如在第二和第三字節(jié)中,任何一個回答位(AA,RA或rcode)或任何一個`必須為零'的位被置位,就顯示`[b2&3=x]',這里的x是報(bào)頭第二和第三字節(jié)的16進(jìn)制數(shù).

UDP名字服務(wù)回答

名字服務(wù)回答的格式是

src>dst:idoprcodeflagsa/n/autypeclassdata(len)

helios.domain>h2opolo.1538:33/3/7A128.32.137.3(273)
helios.domain>h2opolo.1537:2NXDomain*0/1/0(97)


第一個例子里,helios回答了h2opolo發(fā)出的標(biāo)識為3的詢問,一共是3個回答記錄,3個名字服務(wù)記錄和7個治理結(jié)構(gòu)記錄.第一個回答紀(jì)錄的類型是A(地址),數(shù)據(jù)是internet地址128.32.137.3.回答的全長為273字節(jié),不包括UDP和IP報(bào)頭.作為A記錄的class(C_IN)可以忽略op(詢問)和rcode(NoError).
在第二個例子里,helios對標(biāo)識為2的詢問作出域名不存在(NXDomain)的回答,沒有回答記錄,一個名字服務(wù)記錄,而且沒有治理結(jié)構(gòu).
`*'表明設(shè)置了權(quán)威回答(authoritativeanswer).由于沒有回答記錄,這里就不顯示type,class和data.

其他標(biāo)志字符可以顯示為`-'(沒有設(shè)置遞歸有效(RA))和`'(設(shè)置消息截短(TC)).假如`問題'部分沒有有效的內(nèi)容,就顯示`[nq]'.

注重名字服務(wù)的詢問和回答一般說來比較大,68字節(jié)的snaplen可能無法捕捉到足夠的報(bào)文內(nèi)容.假如你的確在研究名字服務(wù)的情況,可以使用-s選項(xiàng)增大捕捉緩沖區(qū).`-s128'應(yīng)該效果不錯了.


NFS請求和響應(yīng)

SunNFS(網(wǎng)絡(luò)文件系統(tǒng))的請求和響應(yīng)顯示格式是:

src.xid>dst.nfs:lenopargs
src.nfs>dst.xid:replystatlenopresults


sushi.6709>wrl.nfs:112readlinkfh21,24/10.73165
wrl.nfs>sushi.6709:replyok40readlink"../var"
sushi.201b>wrl.nfs:
144lookupfh9,74/4096.6878"xcolors"
wrl.nfs>sushi.201b:
replyok128lookupfh9,74/4134.3150

在第一行,主機(jī)sushi向wrl發(fā)送號碼為6709的交易會話(注重源主機(jī)后面的數(shù)字是交易號,不是端口).這項(xiàng)請求長112字節(jié),不包括UDP和IP報(bào)頭.在文件句柄(fh)21,24/10.731657119上執(zhí)行readlink(讀取符號連接)操作.(假如運(yùn)氣不錯,就象這種情況,文件句柄可以依次翻譯成主次設(shè)備號,i節(jié)點(diǎn)號,和事件號(generationnumber).)Wrl回答`ok'和連接的內(nèi)容.
在第三行,sushi請求wrl在目錄文件9,74/4096.6878中查找`xcolors'.注重?cái)?shù)據(jù)的打印格式取決于操作類型.格式應(yīng)該是可以自我說明的.

給出-v(verbose)選項(xiàng)可以顯示附加信息.例如:


sushi.1372a>wrl.nfs:
148readfh21,11/12.1958192bytes@24576
wrl.nfs>sushi.1372a:
replyok1472readREG100664ids417/0sz29388

(-v同時(shí)使它顯示IP報(bào)頭的TTL,ID,和分片域,在這個例子里把它們省略了.)在第一行,sushi請求wrl從文件21,11/12.195的偏移位置24576開始,讀取8192字節(jié).Wrl回答`ok';第二行顯示的報(bào)文是應(yīng)答的第一個分片,因此只有1472字節(jié)(其余數(shù)據(jù)在后續(xù)的分片中傳過來,但由于這些分片里沒有NFS甚至UDP報(bào)頭,因此根據(jù)所使用的過濾器表達(dá)式,有可能不顯示).-v選項(xiàng)還會顯示一些文件屬性(它們作為文件數(shù)據(jù)的附帶部分傳回來):文件類型(普通文件``REG''),存取模式(八進(jìn)制數(shù)),uid和gid,以及文件大小.
假如再給一個-v選項(xiàng)(-vv),還能顯示更多的細(xì)節(jié).

注重NFS請求的數(shù)據(jù)量非常大,除非增加snaplen,否則很多細(xì)節(jié)無法顯示.試一試`-s192'選項(xiàng).

NFS應(yīng)答報(bào)文沒有明確標(biāo)明RPC操作.因此tcpdump保留有``近來的''請求記錄,根據(jù)交易號匹配應(yīng)答報(bào)文.假如應(yīng)答報(bào)文沒有相應(yīng)的請求報(bào)文,它就無法分析.

KIPAppletalk(UDP上的DDP)

AppletalkDDP報(bào)文封裝在UDP數(shù)據(jù)報(bào)中,解包后按DDP報(bào)文轉(zhuǎn)儲(也就是說,忽略所有的UDP報(bào)頭信息).文件/etc/atalk.names用來把a(bǔ)ppletalk網(wǎng)絡(luò)和節(jié)點(diǎn)號翻譯成名字.這個文件的行格式是

numbername

1.254ether
16.1icsd-net
1.254.110ace


前兩行給出了appletalk的網(wǎng)絡(luò)名稱.第三行給出某個主機(jī)的名字(主機(jī)和網(wǎng)絡(luò)依據(jù)第三組數(shù)字區(qū)分-網(wǎng)絡(luò)號一定是兩組數(shù)字,主機(jī)號一定是三組數(shù)字.)號碼和名字用空白符(空格或tab)隔開./etc/atalk.names文件可以包含空行或注釋行(以`#'開始的行).
Appletalk地址按這個格式顯示

net.host.port

144.1.209.2>icsd-net.112.220
Office.2>icsd-net.112.220
jssmag.149.235>icsd-net.2


(假如不存在/etc/atalk.names,或者里面缺少有效項(xiàng)目,就以數(shù)字形式顯示地址.)第一個例子里,網(wǎng)絡(luò)144.1的209節(jié)點(diǎn)的NBP(DDP端口2)向網(wǎng)絡(luò)icsd的112節(jié)點(diǎn)的220端口發(fā)送數(shù)據(jù).第二行和上面一樣,只是知道了源節(jié)點(diǎn)的全稱(`office').第三行是從網(wǎng)絡(luò)jssmag的149節(jié)點(diǎn)的235端口向icsd-net的NBP端口廣播(注重廣播地址(255)隱含在無主機(jī)號的網(wǎng)絡(luò)名字中-所以在/etc/atalk.names中區(qū)分節(jié)點(diǎn)名和網(wǎng)絡(luò)名是個好主意).
Tcpdump可以翻譯NBP(名字聯(lián)結(jié)協(xié)議)和ATP(Appletalk交互協(xié)議)的報(bào)文內(nèi)容.其他協(xié)議只轉(zhuǎn)儲協(xié)議名稱(或號碼,假如還沒給這個協(xié)議注冊名稱)和報(bào)文大小.

NBP報(bào)文的輸出格式就象下面的例子:

icsd-net.112.220>jssmag.2:nbp-lkup190:"=:LaserWriter@*"
jssmag.209.2>icsd-net.112.220:nbp-reply190:"RM1140:LaserWriter@*"250
techpit.2>icsd-net.112.220:nbp-reply190:"techpit:LaserWriter@*"186


第一行是網(wǎng)絡(luò)icsd的112主機(jī)在網(wǎng)絡(luò)jssmag上的廣播,對名字laserwriter做名字查詢請求.名字查詢請求的nbp標(biāo)識號是190.第二行顯示的是對這個請求的回答(注重它們有同樣的標(biāo)識號),主機(jī)jssmag.209表示在它的250端口注冊了一個laserwriter的資源,名字是"RM1140".第三行是這個請求的其他回答,主機(jī)techpit的186端口有l(wèi)aserwriter注冊的"techpit".
ATP報(bào)文格式如下例所示:

jssmag.209.165>helios.132:atp-req12266<0-7>0xae030001
helios.132>jssmag.209.165:atp-resp12266:0(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:1(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:2(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:3(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:4(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:5(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:6(512)0xae040000
helios.132>jssmag.209.165:atp-resp*12266:7(512)0xae040000
jssmag.209.165>helios.132:atp-req12266<3,5>0xae030001
helios.132>jssmag.209.165:atp-resp12266:3(512)0xae040000
helios.132>jssmag.209.165:atp-resp12266:5(512)0xae040000
jssmag.209.165>helios.132:atp-rel12266<0-7>0xae030001
jssmag.209.133>helios.132:atp-req*12267<0-7>0xae030002


Jssmag.209向主機(jī)helios發(fā)起12266號交易,請求8個報(bào)文(`<0-7>').行尾的十六進(jìn)制數(shù)是請求中`userdata'域的值.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰兴市| 赫章县| 望城县| 禹州市| 五家渠市| 石棉县| 故城县| 滨海县| 莒南县| 鹰潭市| 龙游县| 巨野县| 南岸区| 建宁县| 社旗县| 汤原县| 彰武县| 保康县| 白玉县| 乐陵市| 亳州市| 尉氏县| 犍为县| 平乐县| 曲水县| 长春市| 华池县| 镇远县| 兴隆县| 耿马| 拜城县| 宁强县| 晋中市| 苏州市| 古田县| 门源| 湖南省| 峡江县| 焦作市| 浮山县| 区。|