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