如何用Linux安全管理网络流量(二)

发表于:2011-5-25 10:04

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李洋    来源:51Testing软件测试网采编

  四、网络流量捕捉:命令行工具tcpdump

  1、tcpdump简介

  tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其是它提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。另外,由于其相对于Wireshark来说,没有非常详细的用户界面,所以非常适合于在终端上使用,网管员可以通过常见的命令行来进行流量捕捉和过滤等操作,所以非常方便,这也是它一直广泛为网络管理员欢迎和使用的原因。

  2、 安装tcpdump

  在linux下tcpdump的安装十分简单,一般是以源程序的形式安装。其实,Linux一个最大的诱人之处就是在她上面有很多软件是提供源程序的,人们可以修改源程序来满足自己的特殊的需要。所以我特别建议朋友们都采取这种源程序的安装方法。最新的tcpdump的源代码可以在网站http://www.tcpdump.org/上即时获得。

  在源程序的安装方式中,我们首先要取得tcpdump的源程序分发包。目前,该源程序包的最新版本为:tcpdump-4.0.0.tar.gz,安装的具体过程如下所示:

  (1)解压缩源代码包

#tar xvfz tcpdump-4.0.0.tar.gz

  (2)做好编译源程序前的准备活动

  在编译源程序之前,需要已经确定库文件libpcap已经安装完毕,这个库文件是tcpdump软件所需的库文件。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。在tcpdump的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST和MANDEST这两个宏定义,缺省值如下:

BINDEST = @sbindir@
MANDEST = @mandir@

  第一个宏值表明安装tcpdump的二进制文件的路径名,第二个表明tcpdump的man帮助页的路径名,用户可以修改它们来满足系统的需求。

  (3)编译源程序

  使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用。make 命令则根据Makefile文件中的规则编译tcpdump的源程序。使用make install命令安装编译好的tcpdump的二进制文件。

  具体的编译步骤,如下命令所示:

# . /configure
# make
# make install

  3、使用tcpdump

  普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。如下命令所示:

  tcpdump支持相当多的不同参数,如使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等。

  然而更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpdump查看这些过滤规则的具体用法。

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号