才子佳人博客

我的故事我讲述

网络监听工具tcpdump使用方法介绍
 
来源:xjh  编辑:xjh  2007-11-08

(一)网络监听简介

网络监听是在网络中的某一点上对流过此处的数据包进行采集,这一点可以是网络上的一台主机、网关、路由器或是传输线路上的某个部分。

(二)tcpdump

tcpdump(dumptrafficonanetwork)是linux或unix平台上最经典的网络监听和分析工具。它可以把通过一个网络接口上的数据包头根据一定的规则截取并显示出来,用以对网络状况进行分析,排查故障;也可以把整个包保存下来,供进一步分析使用。

tcpdump支持针对网络层、协议、主机、网络、端口的过滤,并提供and、or、not等逻辑语句来组合判断。

tcpdump用正则表达式来对数据包进行过滤,表达式有以下几种:

1)关于(type)类型的关键字,主要包括host,net,port,例如:

host210.27.48.2,指明210.27.48.2是一台主机

net202.0.0.0指明202.0.0.0是一个网络地址

port23指明端口号是23

如果没有指定类型,缺省的类型是host

2)确定(dir)传输方向的关键字,主要包括src,dst,dstorsrc,dstandsrc,这些关键字指明了传输的方向。例如:

src210.27.48.2,指明ip包中源地址是210.27.48.2

dstnet202.0.0.0指明目的网络地址是202.0.0.0

如果没有指明方向关键字,则缺省是srcordst关键字。

3)(proto)协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。

Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。

其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是not!,与运算是and,&&;或运算是or,││;这些关键字可以组合起来构成强大的组合条件来满足人们的需要。

(三)tcpdump参数选项说明

使用-i参数指定tcpdump监听的网络接口,具有多个网络接口时非常有用

使用-c参数指定要监听的数据包数量

使用-w参数指定将监听到的数据包写入文件中保存

(四)下面举几个例子来说明

1)普通情况下,不加参数,直接启动tcpdump,将监视第一个网络界面上所有流过的数据包。

#tcpdump

16:24:49.256560125.211.211.12.http>192.168.22.248.1290:.4380:5840(1460)ack1win6432(DF)
16:24:49.256578192.168.44.86.5154>58.56.6.3.24577:udp1314
16:24:49.256580192.168.44.86.5154>58.56.6.3.24577:udp1314
16:24:49.256582192.168.44.86.5154>58.56.6.3.24577:udp1314
16:24:49.256583192.168.44.86.5154>125.36.141.206.13968:udp6
16:24:49.256584192.168.22.248.1290>125.211.211.12.http:.ack4294961456win65535(DF)
16:24:49.266364192.168.1.254.3022>192.168.1.21.2753:P309632:309792(160)ack4081win15456(DF)[tos0x10]
16:24:49.4318921.2.3.4.3333>192.168.48.102.1249:udp73(DF)
16:24:49.788254192.168.1.254.3022>192.168.1.21.2753:P309792:309952(160)ack4081win15456(DF)[tos0x10]
16:24:49.844423192.168.1.254.3022>192.168.1.21.2753:P309952:310128(176)ack4081win15456(DF)[tos0x10]
16:24:49.844585

2)监听eth0接口的数据包
#tcpdump-ieth0

3)监听192.168.1.10的数据包,包括源地址和目地址
#tcpdumphost192.168.1.10

4)监听所有目的地址为192.168.1.10的tcp协议数据包
#tcpdumptcpdst192.168.1.10

5)监听所有端口为23,21的数据包,并记录到文件dumpfile中
#tcpdumpport23or21-wdumpfile

参考文章:

1)超级详细Tcpdump的用法(原创)
http://www.chinaunix.net/jh/29/674578.html

2)TCPDUMP入门Linux下的网络协议分析工具

http://linux.chinaitlab.com/administer/725256_2.html

3)TCPDUMP快速入门手册(网络管理)

http://www.vekee.com/b3696/

4)Linux下的网络协议分析工具-tcpdump快速入门手册
http://hi.baidu.com/zkheartboy/blog/item/92cc373f8766f3ef55e7235d.html

5)国家网络技术水平考试授权教材


分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: