对于网络管理人员来说,使用嗅探器能够随时掌控网络的实际情况,在网络性能急剧下降的时候,能够通过嗅探器来分析原因,找出造成网络阻塞的根源。Tcpdump就是Linux平台下一个以命令行方式运行的网络流量监测工具。他能截获网卡上收到的数据包,并能够协助网络管理员对其中的内容进行相应的分析。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
嗅探器能够截获指定接口或任何接口的数据包,这取决于如何对嗅探器进行配置。缺省情况下嗅探器一般会显示任何从网络上截获的数据包,但通常会因为数据量过大而使网络管理员理不清头绪。因此,嗅探器一般都提供有相应的机制来对截获的数据包进行过滤,从而只显示符合特定需要的数据包。Tcpdump提供了一整套完善的规则来对截获的数据包进行过滤,由于大多数图像化的嗅探器都使用类似的过滤机制,因此对Linux网络管理员来说,了解如何使用Tcpdump来捕获感兴趣的数据包是一项必须掌控的基本功。
Tcpdump的安装
在一些Linux发行版中,Tcpdump通常作为标准的软件包被默认安装,执行“tcpdump”命令能够确定是否已安装了Tcpdump。假如系统中还没有安装Tcpdump,能够去“http://www.tcpdump.org”下载最新的Tcpdump源码包。下面以Tcpdump 3.7.1为例,讲述如何安装Tcpdump,此处使用的操作系统是Red Hat 8.0。
首先下载最新的源码包,并将其解压缩,命令如下:
# cp tcpdump-3.7.1.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar xzvf tcpdump-3.7.1.tar.gz
在编译Tcpdump之前,应先确定pcap库(libpcap)已安装完毕。这个库是编译Tcpdump时所必需的。假如该库已安装,就能够执行下面的命令来编译并安装Tcpdump:
# cd tcpdump-3.7.1
# ./configure
# make
# make install
Tcpdump的命令行选项
Tcpdump是个命令行方式的网络嗅探器。他通过使用命令选项来过滤网卡截获的数据包,假如不进行过滤,过多数量的包会使网络管理员很难理清头绪。Tcpdump的命令格式如下:
tcpdump [ -adeflnNOpqRStuvxX ] [ -c 数量 ] [ -C 文档尺寸 ] [ -F 文档名 ] [ -i 网络接口 ] [ -m 文档名 ] [ -r 文档名 ] [ -s 长度 ] [ -T 类型 ] [ -w 文档名 ] [ -E algo:secret ] [ 表达式 ]
表1 Tcpdump常用命令行选项 -a 将网络地址和广播地址转变成容易识别的名字
-d 将已截获的数据包的代码以人容易理解的格式输出;
-dd 将已截获的数据包的代码以C程式的格式输出;
-ddd 将已截获的数据包的代码以十进制格式输出;
-e 输出数据链路层的头部信息;
-f 将internet地址以数字形式输出;
-l 将标准输出变为行缓冲方式;
-n 不将网络地址转换成易识别的主机名,只以数字形式列出主机地址(如IP地址),这样能够避免DNS查询;
-t 不输出时间戳;
-v 输出较周详的信息,例如IP包中的TTL和服务类型信息;
-vv 输出详尽的报文信息;
-c 在捕获指定个数的数据包后退出;
-F 从指定的文档中读取过滤规则,忽略命令行中指定的其他过滤规则;
-i 指定监听的网络接口;
-r 从指定的文档中读取数据包(该文档一般通过-w选项产生);
-w 将截获的数据包直接写入指定的文档中,不对其进行分析和输出;
-T 将截获的数据包直接解释为指定类型的报文,现在支持的类型有cnfp、rpc、rtp、snmp、vat和wb。
表1给出了一些常用的Tcpdump命令行选项,使用这些选项能够过滤出真正感兴趣的数据包。
使用Tcpdump的命令行选项能够很方便地过滤出需要的数据包。例如,要过滤掉任何除ARP请求和应答的通信数据,能够输入“tcpdump arp”命令。该命令只对ARP的请求和应答信息进行截获,在Tcpdump的输出信息中,请求是“arp who-has”这样的条目,而应答则是“arp reply”这样的条目,如图1所示。
图1 ARP过滤
假如要做更多的处理,比如从指定的网络接口截获5个ARP数据包,并且不将网络地址转换成主机名,则能够用命令“tcpdump arp -i eth0 -c 5 -n”。
Tcpdump的过滤表达式
Tcpdump的过滤表达式是个正则表达式,Tcpdump利用其作为过滤数据包的条件。假如一个数据包满足表达式的条件,则这个数据据包将会被捕获;假如不指定表达式,则在网络上任何两台主机间的任何数据包都将被截获。过滤表达式的作用就是使Tcpdump只输出网络管理员所需要的数据,如一个指定的网络接口和特定主机间的IP数据包。
Tcpdump的过滤表达式中一般有如下几种类型的关键字:
◆ 类型关键字
这类关键字用于指定主机、网络或端口,包括host、net和port三个关键字。例如,能够用“host 9.185.10.57”来标明监听的主机;用“net 9.185.0.0”来标明监听的网络;用“port 23”来标明监听的端口。假如没有在表达式中指明类型,则缺省的类型为host。
◆ 方向关键字
这类关键字用于指定截获的方向,包括dst、src、dst or src、dst and src四个关键字。例如,能够用src 9.185.10.57来指明截获的数据包中的源主机地址;用“dst net 9.185.0.0”来指明截获的数据包中的目标网络地址。假如没有在表达式中指明方向,则缺省的方向为“dst or src”,即两个方向的数据包都将被捕获。对于数据链路层协议(如SLIP和PPP),使用inbound和outbound来定义方向。
◆ 协议关键字
这类关键字用于指定要截获的数据包所属的协议,包括ether、fddi、tr、ip、ip6、arp、rarp、decnet、tcp和udp等关键字。关键字fddi指明在FDDI(分布式光纤数据接口网络)上的特定网络协议。实际上他是ether的别名。fddi和ether具备类似的源地址和目标地址,所以能够将fddi协议包当作ether的包进行分析和处理。其他几个关键字只是指定了所要截获的协议数据包。假如没有在表达式中指明协议,则Tcpdump会截获任何协议的数据包。
除了上述三种类型的关键字外,Tcpdump的过滤表达式中还能够指定的一些重要关键字包括gateway、broadcast、multicast、less、greater。这些关键字对于监听网络中的广播和多播很有帮助。关于这些关键字的更多信息和用法请参考Tcpdump的man手册。
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
用Tcpdump过滤数据包
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
Tcpdump的安装及使用例子
热点关注
- 快速学习如何搭建一个赚钱
- 什么是CPA、CPC、CPM、CPO
- 论文:Web安全对策研究
- 新手站长35天自学引路
- 站长资讯网第二版上线
- 网络营销网站功能设计的几
- 女站长的建站理财文章
- 也谈域名备案 -- 撤销已存
- 自己动手做网站 个人站长
- 对第一次做网站的朋友说些
- 传统网站逼得Web2.0没法活
- 被K过的域名如何被百度重
- 如何选择理想IDC服务商十
- 技巧:Vimdiff 使用
- 网络创业经历 靠卖域名来
- 如何提高网站流量之小节
- 王晨昀:个人网站为什么要
- 企业开展网络营销存在的误
- 一个失败者谈地方门户的运
- 域名注册与虚拟主机的选购
- SEO360的搜索引擎优化推广
- 网站运营与网络运营的一字
- 做网站要做出自己的个性—
- 中国网站内容不可逾越的三
- 如何将新网及商务中国的域
- 08年,个人站长赚钱将更加
- 保证能增加RSS订阅量的35
- 企业网站英文版制作几个关
- 龚文祥:互联网运营关键词
- 我的行业垃圾站
- 2008最新申请Google adsen
- 虚拟主机的陷阱
- 网站建设发展的几点中肯建
- 企业如何安全高效使用垃圾
- 计算机文件夹删除不掉怎么
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD



