Tcpdump的輸出結(jié)果
在對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)包進(jìn)行過(guò)濾后,Tcpdump的輸出結(jié)果中包含網(wǎng)絡(luò)管理員關(guān)心的網(wǎng)絡(luò)狀態(tài)信息。由于Tcpdump只是一個(gè)命令行方式的嗅探器,因而其輸出結(jié)果不是很直觀,下面以幾種典型的輸出信息為例,介紹如何對(duì)Tcpdump的輸出結(jié)果進(jìn)行分析。
1. 數(shù)據(jù)鏈路層頭信息
使用“tcpdump -e host tiger”命令截獲主機(jī)“tiger”所有發(fā)出和收到的數(shù)據(jù)包,并在輸出結(jié)果中包含數(shù)據(jù)鏈路層的頭部信息。
“tiger”是一臺(tái)裝有Linux的主機(jī),其MAC地址是00:D0:59:BF:DA:06;“mag”是一臺(tái)裝有SCO Unix的工作站,其MAC地址是08:90:B0:2F:AF:46,上述命令的輸出結(jié)果如下:
20:15:20.735429 eth0
< 08:90:b0:2f:af:46 00:d0:59:bf:da:06 ip 60: mag.36579 >
tiger.ftp 0:0(0) ack 25565 win 8970 (DF) |
在輸出的信息中,“20:15:20”為截獲數(shù)據(jù)包的時(shí)間,“735429”是毫秒數(shù),“eth0 <”表示從網(wǎng)絡(luò)接口eth0接收該數(shù)據(jù)包(若為“eth0 >”,則表示從網(wǎng)絡(luò)接口eth0發(fā)送數(shù)據(jù)包)。“08:90:b0:2f:af:46”是主機(jī)mag的MAC地址,指明發(fā)送該數(shù)據(jù)包的源主機(jī)為“mag”,“00:d0:59:bf:da:06”是主機(jī)tiger的MAC地址,指明該數(shù)據(jù)包發(fā)送的目標(biāo)主機(jī)為“tiger”。“ip”表明該數(shù)據(jù)包是IP數(shù)據(jù)包,“60”是數(shù)據(jù)包的長(zhǎng)度,“mag.36579 > tiger.ftp”表明該數(shù)據(jù)包是從主機(jī)“mag”的36579端口發(fā)往主機(jī)“tiger”的FTP(21)端口。“ack 25565”表示對(duì)序列號(hào)為25565的包進(jìn)行確認(rèn),“win 8970”則指明發(fā)送窗口的大小為8760。
2. ARP包的輸出信息
若使用“tcpdump arp -c 2”命令截獲ARP數(shù)據(jù)包,得到的輸出結(jié)果可能是:
20:42:22.713502 eth0
> arp who-has mag tell tiger
(00:d0:59:bf:da:06)
20:42:22.713907 eth0
< arp reply mag is-at 08:90:b0:2f:af:46
(00:d0:59:bf:da:06) |
在輸出的信息中,“20:42:22”為截獲數(shù)據(jù)包的時(shí)間;“713502”和“713907”為毫秒數(shù);“eth0 >”表明從主機(jī)發(fā)出該數(shù)據(jù)包;“eth0 <”表明從主機(jī)接收該數(shù)據(jù)包。“arp”表明該數(shù)據(jù)包是ARP請(qǐng)求,“who-has mag tell tiger”表明是主機(jī)“tiger”請(qǐng)求主機(jī)“mag”的MAC地址,“00:d0:59:bf:da:06”是主機(jī)“tiger”的MAC地址。“reply mag is-at”表明主機(jī)“mag”響應(yīng)“tiger”的ARP請(qǐng)求,“08:90:b0:2f:af:46”是主機(jī)“mag”的MAC地址。
3. TCP包的輸出信息
用Tcpdump截獲的TCP包的一般輸出格式如下:
src > dst: flags data-sequno ack window urgent options |
“src > dst:”標(biāo)明從源地址到目的地址;flags是TCP包中的標(biāo)志信息,包括S(SYN)標(biāo)志、F(FIN)標(biāo)志、P(PUSH)標(biāo)志、R(RST)標(biāo)志和“.”(沒(méi)有標(biāo)志);data-sequno是數(shù)據(jù)包中的數(shù)據(jù)序列號(hào);ack是下次期望的數(shù)據(jù)序列號(hào);window是接收緩存的窗口大小;urgent標(biāo)明數(shù)據(jù)包中是否有緊急指針;options是可能的選項(xiàng)值。
4. UDP包的輸出信息
用Tcpdump截獲的UDP包的一般輸出格式如下:
src.port1 > dst.port2: udp lenth |
UDP中包含的信息很簡(jiǎn)單。上面的輸出結(jié)果表明從主機(jī)“src”的“port1”端口發(fā)出的一個(gè)UDP數(shù)據(jù)包被送到主機(jī)“dst”的“port2”端口,數(shù)據(jù)包的類(lèi)型是UDP,其長(zhǎng)度為“l(fā)enth”。
通過(guò)上面的介紹可以知道,Tcpdump是一個(gè)命令行方式的嗅探器。它可以根據(jù)需要顯示出經(jīng)過(guò)一個(gè)網(wǎng)絡(luò)接口的所有數(shù)據(jù)包,供網(wǎng)絡(luò)管理員對(duì)網(wǎng)絡(luò)進(jìn)行檢測(cè)。但由于采用的是命令行方式,對(duì)這些數(shù)據(jù)包的分析可能會(huì)比較困難。利用Tcpdump提供的表達(dá)式過(guò)濾一些截獲的數(shù)據(jù)包,可以從截獲的大量數(shù)據(jù)包中提取出有用的信息,從而能夠有針對(duì)性地對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)測(cè)。
由于所有網(wǎng)絡(luò)嗅探器的原理都大體相似,因而Tcpdump的基本知識(shí)可以應(yīng)用于幾乎所有的嗅探器。Tcpdump是基于命令行方式的嗅探器,其輸出結(jié)果比較難于分析,因此很多網(wǎng)絡(luò)管理員都使用圖形化的嗅探器來(lái)檢測(cè)網(wǎng)絡(luò)故障,并處理可能存在的安全問(wèn)題。下次將介紹兩個(gè)圖形化的網(wǎng)絡(luò)嗅探器—Ethereal和EhterApe。同Tcpdump相比,使用這兩個(gè)嗅探器的分析過(guò)程要簡(jiǎn)單許多。