QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3200|回复: 0
打印 上一主题 下一主题

Tcpdump的使用

[复制链接]
字体大小: 正常 放大
韩冰        

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

跳转到指定楼层
1#
发表于 2005-3-20 13:48 |只看该作者 |倒序浏览
|招呼Ta 关注Ta

作者:李国莉  来源:http://www.eviloctal.com/forum/

! l& h) E- v1 _6 s* p

& E/ D4 {! G/ X8 ?! P5 e7 E tcpdump采用命令行方式,它的命令格式为: ! V7 @8 c8 d. c2 u1 u& W) s/ K  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] , G) B3 m3 W0 _8 a          [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]: N$ m4 d+ m. v! k8 ?* P0 ?3 B           [ -T 类型 ] [ -w 文件名 ] [表达式 ]

1 A& a; ]6 u* ^, i

  1. tcpdump的选项介绍 I* l; ~) s2 M0 P! C* N& \   -a    将网络地址和广播地址转变成名字;* |0 M& x5 k6 R; K3 v+ J" ^ ]: H    -d    将匹配信息包的代码以人们能够理解的汇编格式给出; - s/ c0 P$ s( h2 t$ R0 g   -dd    将匹配信息包的代码以c语言程序段的格式给出;1 v, @* `$ m3 I; e7 y    -ddd    将匹配信息包的代码以十进制的形式给出;$ x$ m, A5 ^' P% Z    -e    在输出行打印出数据链路层的头部信息;* V6 Z* W/ n V! f& e    -f    将外部的Internet地址以数字的形式打印出来;4 k: M* z/ v- i& m; o x1 e    -l    使标准输出变为缓冲行形式;0 e) c( X4 _7 p. Q& w4 {    -n    不把网络地址转换成名字;5 |- u5 n+ l }0 e* k! o: D( g: T    -t    在输出的每一行不打印时间戳;9 w; \1 E: D+ K* C    -v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; 4 D" B. o' h* s# M8 ~   -vv    输出详细的报文信息; : x/ v2 X. n Z& C& h+ g8 U/ k   -c    在收到指定的包的数目后,tcpdump就会停止;% W1 P6 _" R# ^) p    -F    从指定的文件中读取表达式,忽略其它的表达式;( J3 X; D! Y. e. v    -i    指定监听的网络接口; 7 u& `" j8 O! X- c0 O% K   -r    从指定的文件中读取包(这些包一般通过-w选项产生);7 u/ C/ G- \6 x    -w    直接将包写入文件中,并不分析和打印出来;4 p# n* F' ^4 C }; H/ u    -T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程: Q3 \% Y8 g* b+ {2 Y 调用)和snmp(简单       网络管理协议;)

$ r+ I, y) C! y' Z+ E B# d- m4 H

  2. tcpdump的表达式介绍6 T6 D$ L, ?) [    表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表% u7 V# M1 W r- i! b6 k 达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会 # X0 z- Z" {7 G( e1 A4 q8 w8 U被截获。, w) n* l' \& |; h) I: l/ v9 K' u    在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,3 H8 y" t7 r& `1 C% m: g8 a: p% m net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明' ?- H- L/ H, z% Y3 g# K4 g4 K& F 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是0 F* S8 p2 {- z0 C host.0 j6 Z- _6 Z* Q( \- \2 U0 p- ]    第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src , " Q1 M6 h3 g: Y1 j% u这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27. 6 c& t* X* g) |48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则 3 {- {0 l6 S4 Y4 E: b0 s Z# v" _缺省是src or dst关键字。$ V# p7 v9 I) A) b: Q+ _" N    第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi指明是在 & d& Z# _! p$ j$ Y( f+ o! \3 CFDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和e & b& P! p& b' M& B7 Z0 o" r- Pther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。" Z4 @2 t0 {. E$ e8 h 其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会 ( J$ G7 K# E* f6 `* c8 G" _监听所有协议的信息包。$ S! b/ Y# g2 w/ V+ y    除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,$ ?! z7 h" E( B greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'o * N5 ]$ \6 ?! S' q, i" n3 Zr' ,'||'; 2 Q+ N; Z) g3 I) }" O& D   这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来 % N x1 j" U2 J1 R) i1 f说明。* @% L! W" m+ P7 j! T0 j    (1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包: 8 i7 J# i1 v# x7 }* ~! S    #tcpdump host 210.27.48.1 1 q* s( _' P) }' o1 v0 f    (2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令2 J5 q( y4 N6 B3 b. ?; U; H :(在命令行中适用   括号时,一定要 , t' t' l- E6 L" }' r7 S. i    #tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 4 h- q2 g+ `. i( W9 L3 Y    (3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包6 x7 D0 Z! `! p6 q4 g" i ,使用命令: 9 Y5 C" h1 H5 k: W    #tcpdump ip host 210.27.48.1 and ! 210.27.48.2! i+ W0 t+ K" D: x) S% Q    (4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令: " V y- v# V+ X& L: Z" x    #tcpdump tcp port 23 host 210.27.48.1

$ y& t4 G( O' j! X% ?6 G1 I

  3. tcpdump 的输出结果介绍% I1 M' Q/ E. `8 S7 l8 N/ r" d    下面我们介绍几种典型的tcpdump命令的输出信息0 _; e5 C: i: x, S/ C) V    (1) 数据链路层头信息2 i ` I5 u# h6 y- w    使用命令#tcpdump --e host ice/ Y4 \! ^1 Z+ g2 m; r) P) Z    ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A 1 T8 I3 [ p6 n: ~! c8 S/ t% T   H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条2 ^7 d5 ]- v- S" z. M: e 命令的输出结果如下所示: ; j. ~) Q" l6 {, B# t2 t: q21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice. 5 T+ p6 P$ b6 ]6 ttelne* V! v( @7 O% W& z t 0:0(0) ack 22535 win 8760 (DF)8 E% M6 {' d# T7 n9 D   分析:21:50:12是显示的时间, 847509是ID号,eth0 <表示从网络接口eth0 接受该 . O; K/ K: T/ l, @' X H7 [5 j数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它9 N* _( @: B9 d7 \ 表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的 " v9 G% ?3 b! u' O7 |* W; d9 Y) R目的地址是ICE . ip 是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice.& L/ b8 U; G( ?4 B" H2 d7 |4 y telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 225359 I! h% o* ?" b1 m 表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.

8 I( ~& @2 V- z

  (2) ARP包的TCPDUMP输出信息: U+ @ }- _( o( @    使用命令#tcpdump arp Q, ^$ `* ]- e" J! `; Q    得到的输出结果是: ! g- h, r1 J( D2 { l X0 J  22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a) * p2 w4 |! P: ?% q7 W: P  22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af ! H- J0 C. O" e3 r6 V:1a) $ T9 o" V# X; U2 G- R* {) C  分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是 / [4 d/ I7 S2 m4 |. s6 mARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0:90:27:54 }% C+ l; U4 N% e( n2 A& L 8:af:1a是主机ICE的MAC地址。

$ T' O) W/ p- {- U! s( }2 i; g

  (3) TCP包的输出信息* w3 {8 M- ^$ p# X7 Q    用TCPDUMP捕获的TCP包的一般输出信息是:( `) _' @2 I1 j$ m1 Q   src > dst: flags data-seqno ack window urgent options) I# V O4 k' X+ E8 J   src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (F0 ]9 @" @9 J' B1 R! v IN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是 0 w J/ p- u9 Q# P下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. 4 l- |; N% \( V: J- I' R: O; ]Options是选项.

; J1 m8 r4 O, R

  (4) UDP包的输出信息 z! O9 z+ H5 m6 n    用TCPDUMP捕获的UDP包的一般输出信息是:2 A5 ~2 W" G5 y6 L   route.port1 > ice.port2: udp lenth + x9 q9 f8 a! _: C7 h* { B  UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机 ' F: |* p9 Y; [3 F$ c+ u. SICE的port2端口,类型是UDP, 包的长度是lenth1 {2 k( d/ |+ j. d) ~! k " a0 j% R+ t9 f ?7 h/ ^4 Z

4 F# r$ \8 }! z0 w

$ v) X! G: q+ b5 V3 N4 }% r

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-12-17 12:02 , Processed in 0.323194 second(s), 52 queries .

回顶部