QQ登录

只需要一步,快速开始

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

Tcpdump的使用

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

823

主题

3

听众

4048

积分

我的地盘我做主

该用户从未签到

发帖功臣 元老勋章

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

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

5 _9 R* I& b& R/ {& |; z

: n" [% ^: @" S$ Ntcpdump采用命令行方式,它的命令格式为:1 M0 }( k) E7 ^" g( b" q5 q   tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]0 z, {8 S y2 r2 q) v8 p0 s           [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] 3 _$ H9 e0 _3 _# w9 i; _ u u: ?          [ -T 类型 ] [ -w 文件名 ] [表达式 ]

/ s8 X, O8 f9 w' H) o+ s

  1. tcpdump的选项介绍 7 A( ~5 ]" w! R' \5 d   -a    将网络地址和广播地址转变成名字;$ t }) [: H3 ^, H% U    -d    将匹配信息包的代码以人们能够理解的汇编格式给出; `" K9 b/ T2 a3 E- e1 n    -dd    将匹配信息包的代码以c语言程序段的格式给出;1 N* h- v/ m2 }    -ddd    将匹配信息包的代码以十进制的形式给出;- g- ]! t$ M8 E- Z( Q    -e    在输出行打印出数据链路层的头部信息; ( o4 ?9 r0 _. A' q4 H& \5 }   -f    将外部的Internet地址以数字的形式打印出来; , o1 [2 V6 b7 [2 G   -l    使标准输出变为缓冲行形式;% {) H$ p# B; ?# U, _    -n    不把网络地址转换成名字; , r9 i4 ~7 j. G3 K1 I# ]   -t    在输出的每一行不打印时间戳; % ?4 T% k7 j# E( R7 [   -v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; & }! t& u9 L3 m9 I   -vv    输出详细的报文信息; 5 D7 D, g5 Z& ~! `- E! S. D   -c    在收到指定的包的数目后,tcpdump就会停止;" |! _( W/ s$ w( k/ q    -F    从指定的文件中读取表达式,忽略其它的表达式;0 q1 Q B! y# I G) a" D    -i    指定监听的网络接口;$ G5 V0 j5 {6 Z- o; }6 _    -r    从指定的文件中读取包(这些包一般通过-w选项产生); ! E7 I" p# A* C+ h3 |- Z, \   -w    直接将包写入文件中,并不分析和打印出来; 4 t# v' e- c7 Y Q t   -T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程 3 O. x. G) B* J/ K9 t& I调用)和snmp(简单       网络管理协议;)

3 ]! j1 I5 }. d. M; |

  2. tcpdump的表达式介绍! S! f2 u& @# y9 J6 q    表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表! X! r6 x+ S% m0 F 达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会 ; [3 I' y4 V5 F% d3 ~被截获。9 S# K/ _5 Q; }1 K+ D. D    在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host, 0 Z. @8 I% I/ u2 onet,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明, A) I! w7 ^8 v! l# o1 L0 j1 @ 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是+ B, |- k! e$ A host.% u9 ~( L: \ l. P    第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src , # J9 @ j* ?9 k3 W/ S这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.( @( x( K$ \% I1 g 48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则 ! P+ S+ z8 `5 ]/ V9 y缺省是src or dst关键字。 3 J4 h9 i0 U3 g$ C8 i5 H6 q1 ^6 s   第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi指明是在' ~: _+ _8 M, n8 r6 h0 p+ e$ i# @: b FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和e ! E1 b$ b9 w$ r0 Y8 Nther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。 # t" ^. ] z8 _$ V+ H. i4 Z其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会 ' k5 p/ m- U4 i% S ^监听所有协议的信息包。; x) }; d2 X* o: y, t+ ~9 G, U    除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,) M7 `. H: i v greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'o5 m* P; O) P7 \* o* |( { r' ,'||'; ; x' {# h) X: a   这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来 " O5 X! ]0 ~2 g$ E) c2 W) r3 [说明。 4 @- R [3 H% H3 j   (1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包: 5 `' z9 b2 R" Z1 k    #tcpdump host 210.27.48.1 0 T9 Q1 ^/ `6 Q# V    (2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令 4 d( F: o9 K8 m N: w R1 C8 M$ O% A# U:(在命令行中适用   括号时,一定要* Z: e+ t1 \. K0 D     #tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) 4 b# j1 D- X! Q8 S4 N) d* L    (3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包 0 g8 P" E& p# G3 M# y' @* g1 j,使用命令:5 b, F$ q) Z( }! [9 h     #tcpdump ip host 210.27.48.1 and ! 210.27.48.2 ! U/ ? W7 n4 z9 d* r% M$ [' ^0 S   (4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令: 3 S1 o: j L$ `3 M/ A    #tcpdump tcp port 23 host 210.27.48.1

4 x) h% N- b0 N" r9 v+ @

  3. tcpdump 的输出结果介绍- r6 I' k4 Q, `0 S7 G3 T4 U    下面我们介绍几种典型的tcpdump命令的输出信息, J) P: |8 a3 O5 @( L    (1) 数据链路层头信息% B0 r. q; B$ ~8 I Y }5 d2 `$ y    使用命令#tcpdump --e host ice4 `0 {. w0 O) n0 X% n    ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A ; n7 k A4 E1 T4 x8 b" l! g   H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条1 V W7 o9 f! _1 ~ 命令的输出结果如下所示: 0 j) l: Y! l: c" L r; d21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.: i3 X4 P4 ?. I1 N telne( A! b3 a3 T0 p& G. ?. m t 0:0(0) ack 22535 win 8760 (DF)$ A" r+ q- e9 n, g8 w0 ]& E   分析:21:50:12是显示的时间, 847509是ID号,eth0 <表示从网络接口eth0 接受该 2 q! k9 N B% [1 U/ U9 j数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它 * n2 Z: o1 z" C% K& P- V6 f3 p表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的3 `3 w: Y# N7 T2 Q* C 目的地址是ICE . ip 是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice. y, R: V4 e9 q. @, X( @8 A1 @ telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535 & B: _0 O6 o0 m表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.

2 W5 E- G' e, N( ]# W: o

  (2) ARP包的TCPDUMP输出信息9 P) r2 Q1 P, z! ]0 v* ?    使用命令#tcpdump arp ) |+ }9 @; l2 ?1 h( j   得到的输出结果是: 9 B2 ] R! G1 `  22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a) 3 [4 I0 D, Q% c Q7 k' H  22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af 0 w) v5 c: u7 J; s. ?+ |:1a)- v( c8 H) i8 Z6 J" E7 d9 W O   分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是 $ W) w; [# y H- W/ MARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0:90:27:5) `0 N* [: e; X8 Z 8:af:1a是主机ICE的MAC地址。

/ C- o) t$ n e* }1 i$ ~2 }5 N

  (3) TCP包的输出信息 3 t# R) j6 i2 t @7 l0 a C% V2 q   用TCPDUMP捕获的TCP包的一般输出信息是: ( M4 V0 \0 x u* ?: m  src > dst: flags data-seqno ack window urgent options, l+ b& `/ ~7 B8 e   src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (F 6 Y( ], Y9 O) p4 \9 n7 D( E ?IN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是 ' G" E0 }4 T1 U2 t8 w$ g- X/ i下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. - }3 k% X% |1 F% M. F$ o Options是选项.

/ b6 L3 a, N. m( E5 v& Q: m

  (4) UDP包的输出信息! c) [5 b0 G9 b+ q6 @, u6 {    用TCPDUMP捕获的UDP包的一般输出信息是: # R! E7 X' \7 l; d1 w% Z  route.port1 > ice.port2: udp lenth# {( ~9 S8 O% |, }* R8 Y   UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机% `; |, x ^; \ \5 G* Q; I: p ICE的port2端口,类型是UDP, 包的长度是lenth % ~0 g( p& Y& j( a5 T ; \! V5 v6 S2 C" b. i; a

! B) r# A5 V& v+ c$ j# W

& M$ k* H. Y6 m

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-8-7 17:36 , Processed in 0.991512 second(s), 52 queries .

回顶部