超级详细的Tcpdump用法(转载)
上一篇 / 下一篇 2009-03-29 21:04:18 / 个人分类:linux
来源: ChinaUnix博客 日期: 2007.09.05 14:07 (共有0条评论)我要评论 |
51Testing软件测试网,c:L(v%j4NOu(S 今天在CU上看到一篇关于Tcpdump的好文,原文作者jeffyan,转载留档,并与大家共享 5z.{ I i Tc0第一种是关于类型的关键字,主要包括host,net,port, 例如51Testing软件测试网#X;RG%sZ@ host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明51Testing软件测试网2h6@K8Mk B qM O9Uk 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host. ;D.]"g Vl#O0第二种是确定传输方向51Testing软件测试网(]S:_)nB"eUnC 的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src51Testing软件测试网6Z2d4M#p4tV5Sj 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.051Testing软件测试网-K1k U]3K"\ 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。 b#P)v!Cy#R#Ho0第三种是协议的关键字,主要包51Testing软件测试网&T [W| VsOy 括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是51Testing软件测试网B6n(M$O%O{ "ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字 1?5H;j,@{;v0就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。 PX!JT,Q.LuGE-X0 D*qE6D+D0除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 'K3v?l CimA0'not ' '! ', 与运算是'and','&&';或运算 是'or'51Testing软件测试网r&Wx:a#\!u ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。 o$i1U!u+qV0 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。51Testing软件测试网bgCo4a#Wb"m # tcpdump [KQfH gnSy~0tcpdump: listening on fxp051Testing软件测试网7B(M*oJ&vG 11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50 \+aD]Y yNw011:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=4351Testing软件测试网 rU*Q@f'B})v)p u"g 0000 0000 0080 0000 1007 cf08 0900 0000 }]GU&VNMybQ0 0e80 0000 902b 4695 0980 8701 0014 000251Testing软件测试网@ ^,YIl#Cv!| 000f 0000 902b 4695 0008 00 CS`M{ u*DP}011:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97 +C`za w;F(?0 ffff 0060 0004 ffff ffff ffff ffff ffff51Testing软件测试网ro.i}'[ J { d{ 0452 ffff ffff 0000 e85b 6d85 4008 000251Testing软件测试网iA S%a~)f A^ 0640 4d41 5354 4552 5f57 4542 0000 000051Testing软件测试网 y3m6Yh9eO 0000 0051Testing软件测试网 Wz1wBK5XX 使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用, /Cp xvd5q C"K%U0使用-c参数指定要监听的数据包数量, R aO,MQ,M PS;w`0使用-w参数指定将监听到的数据包写入文件中保存 P[A4JMn0 A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:51Testing软件测试网 WVFxnu #tcpdump host 210.27.48.151Testing软件测试网;QM _6QYx o B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用 括号时,一定要51Testing软件测试网'rKa]/~N6s #tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \) (H:yVQ Xr R0C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:51Testing软件测试网[+r&~q6cS ww;d;H2Up #tcpdump ip host 210.27.48.1 and ! 210.27.48.251Testing软件测试网1Pj)WT._7e,c D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:51Testing软件测试网eK _:u v #tcpdump tcp port 23 host 210.27.48.1 1[J$w@*Pt0E 对本机的udp 123 端口进行监视 123 为ntp的服务端口51Testing软件测试网J(}3u |E;N;I.`(Q8q # tcpdump udp port 123 ws.Nmo gXb1]0 ZRq^N@`i0F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据: h QSUk2u-[Vvz0#tcpdump -i eth0 src host hostname51Testing软件测试网e(t nKA$A|UG3j P G 下面的命令可以监视所有送到主机hostname的数据包: "|(R&KeD/cv-s5M n0#tcpdump -i eth0 dst host hostname51Testing软件测试网)Eh2a sT!a#a H 我们还可以监视通过指定网关的数据包:51Testing软件测试网R ^ayp9N7C #tcpdump -i eth0 gateway Gatewayname -K_VI8xqs0I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:51Testing软件测试网}.}#Nap?a3I q #tcpdump -i eth0 host hostname and port 80 @4x-N8\4B@0J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包 $u M3B`0cJ0,使用命令: /pj/eh#F.r:N s0#tcpdump ip host 210.27.48.1 and ! 210.27.48.251Testing软件测试网q7`h9Z6{_:n9mlf K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令 $X R3idV,z&ICm0:(在命令行中适用 括号时,一定要51Testing软件测试网2C'n&qPhL/| #tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)51Testing软件测试网)TLn5l@he L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令: :|!abELL&c4M0 #tcpdump ip host 210.27.48.1 and ! 210.27.48.251Testing软件测试网'~9t'd?9`|Qd M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令: |