QQ登录

只需要一步,快速开始

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

Tcpdump的使用

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

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

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

y9 D ~3 [7 D5 k% `0 E

" G- ]: U4 [' k8 \3 stcpdump采用命令行方式,它的命令格式为: 3 z; i0 ?$ M3 }& C2 V  tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] 6 T; c* u( ?% q' C          [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] 7 P% X' M. l' _: I2 w: P' E          [ -T 类型 ] [ -w 文件名 ] [表达式 ]

# o; U* C8 k6 [! U6 u

  1. tcpdump的选项介绍1 i% D4 a7 b& K, d# G5 K4 ?: y    -a    将网络地址和广播地址转变成名字; # c' d8 k9 }' M& D5 O) _9 W& k- e   -d    将匹配信息包的代码以人们能够理解的汇编格式给出; 3 }, K5 B- K5 f% ?9 H3 ~- ]   -dd    将匹配信息包的代码以c语言程序段的格式给出; & X2 P1 c" r; D2 g. ~7 o   -ddd    将匹配信息包的代码以十进制的形式给出;/ { V) N7 U1 p0 b6 X; |8 ]0 F2 a    -e    在输出行打印出数据链路层的头部信息;* @; V2 D9 ~2 q. b X7 H/ a2 B    -f    将外部的Internet地址以数字的形式打印出来; # J% f" t! U( P. E6 Q   -l    使标准输出变为缓冲行形式; ) f- _ z- F* v% k1 V0 J   -n    不把网络地址转换成名字; + Q# ?3 m* h2 v8 ^   -t    在输出的每一行不打印时间戳;: T, d3 U1 i& A* V# {) [    -v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; 1 T& L* Z1 j7 N% W/ Y! }   -vv    输出详细的报文信息;2 N4 T. `0 k/ z! v/ X1 X! w; }    -c    在收到指定的包的数目后,tcpdump就会停止; 3 l+ a) }- n* P0 R. P/ T   -F    从指定的文件中读取表达式,忽略其它的表达式; n+ K* i! r1 ~7 ^3 X    -i    指定监听的网络接口; % [$ m; o9 u$ c2 m9 y   -r    从指定的文件中读取包(这些包一般通过-w选项产生); ! j& N1 F' s9 k2 F   -w    直接将包写入文件中,并不分析和打印出来;, }1 B' V$ |) k. N) N K    -T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程5 Q6 \: }7 Q6 n" i' R; q' M 调用)和snmp(简单       网络管理协议;)

$ {2 ?* I5 T* f

  2. tcpdump的表达式介绍 ' J* o! D1 }0 I% L   表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表 . q; R5 _3 K5 N5 w" I: T达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会 ; x e" ~7 {* l6 {9 `被截获。4 W6 N8 z6 V+ p8 J    在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,3 i& o9 n/ y, F net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明$ b9 ]6 V5 E. N7 K1 O9 I 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是 " C9 }/ t1 h* ~0 N' [. E mhost.; b- W: H8 _ E* Y7 v" S    第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,3 }2 N9 H3 t6 P" z1 } 这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27. j: L- X9 V3 u- Q% `' w. M4 s 48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则 # i8 \1 J2 X' j d! A5 t7 `缺省是src or dst关键字。 # S2 o+ i% b% f" f R7 a: ]' G   第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi指明是在 4 U* q* H% t, h) ^9 JFDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和e. t/ e Q G6 N+ [& k5 P! `2 J ther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。 8 o# C9 I8 c; ^) m" Y. I其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会: u4 W& P9 C( J/ t/ J8 S D 监听所有协议的信息包。 2 f& C. R, C, l$ G3 M- i& Q& c   除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less, ; v3 a3 T6 o' n O ^, h5 Zgreater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'o 6 X5 u. s# F3 R& ar' ,'||';* e: W) K: U5 L3 A$ F8 y9 |8 }    这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来 $ e' h8 J3 ]3 ]/ {1 z说明。, A" ?7 _) J' M6 ~2 t B4 s8 \    (1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包: ) k# ^ |! N _) e    #tcpdump host 210.27.48.1 4 F; o; b, V0 B0 h0 D   (2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令 " ]; w% w, r4 z! Y8 N1 ?:(在命令行中适用   括号时,一定要 ' E9 n( z L, w6 m1 ^5 w! B+ P' Y    #tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) # \ V3 m0 ^* c    (3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包, x8 r# i( e4 S9 [2 R& U: C ,使用命令: ; [7 E* h, u- {% F    #tcpdump ip host 210.27.48.1 and ! 210.27.48.2" S2 `# q# m; {% o; ]0 y    (4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令: : j5 v" `7 o4 G3 ?% e    #tcpdump tcp port 23 host 210.27.48.1

# E5 @8 M8 F+ i) J; m

  3. tcpdump 的输出结果介绍 3 k, i! n! t" s" W" {   下面我们介绍几种典型的tcpdump命令的输出信息7 R1 M: G& H! K; z! h6 c    (1) 数据链路层头信息) a- X1 F, b* z* P8 \    使用命令#tcpdump --e host ice % k5 S+ H' o1 ~1 V   ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A . O2 ^8 @- `1 w4 b1 M' r   H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条 % }+ W8 ^. _' q4 B, N命令的输出结果如下所示:1 Z% }/ q& J: G* h 21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice. ) n- O9 c5 a* M6 b* ttelne - t( R0 \7 z3 c5 } m7 O) S, ft 0:0(0) ack 22535 win 8760 (DF) & \& u) M, \% ?/ `7 }  分析:21:50:12是显示的时间, 847509是ID号,eth0 <表示从网络接口eth0 接受该 7 ]1 C4 B3 s+ G( \( w) G. k: M0 x4 o数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它 $ F, z7 d5 U" k- P( F; `表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的 2 e3 t$ ?' n2 y% @" q0 o/ i目的地址是ICE . ip 是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice. , X1 C5 D& H0 S# htelnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535 5 w9 B: r N3 H# J5 G t6 d# k' Q" p表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.

, v, o* S7 n+ g$ P! f2 y

  (2) ARP包的TCPDUMP输出信息 : y" v+ p( M: o; K( `) k* D   使用命令#tcpdump arp , u% G: K, C, b/ w2 O- f) y \   得到的输出结果是:. j0 l2 s; K& m/ {$ M2 _' b   22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a) $ U: x1 g- A- j3 |  22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af 5 R# A; c/ t! _8 O# n:1a)0 B$ ~$ a, q0 A   分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是 9 h, J1 L: _& K C$ z2 O" F/ LARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0:90:27:5 6 P0 A+ {; K0 q9 |8:af:1a是主机ICE的MAC地址。

1 V6 z( K/ N- p; T0 {4 M

  (3) TCP包的输出信息# x' ^4 A6 z+ t    用TCPDUMP捕获的TCP包的一般输出信息是:& x! L; v- J+ p, l: ?9 a3 m   src > dst: flags data-seqno ack window urgent options' B8 O+ R6 A9 a y' s/ ]/ N6 x   src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (F 8 {5 i/ R, V) i+ s$ S" dIN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是( ^* I5 d: |3 x$ k4 |% R 下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. S8 l1 `# X* y; i3 e# d8 E Options是选项.

1 p# P% p6 C" s" D; M1 W

  (4) UDP包的输出信息/ W: G+ H- v s2 n3 n    用TCPDUMP捕获的UDP包的一般输出信息是: / z; \' K _+ _( d1 E5 M  route.port1 > ice.port2: udp lenth # b6 p0 R/ c7 H) u  UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机 8 F) N& K8 f: @+ H2 sICE的port2端口,类型是UDP, 包的长度是lenth. Y) s7 _) f0 Q- J # S% h+ z4 O S* I$ Q

P$ W/ S! S! s

5 X5 \+ ^4 G1 H8 t) {

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, 2026-6-13 08:31 , Processed in 0.403535 second(s), 52 queries .

回顶部