科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道如何使用tcpdump对数据流进行分析

如何使用tcpdump对数据流进行分析

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

tcpdump -c 50 dst foo这个命令可以让你对导致名为“foo”的服务器过载的原因进行调查,通过对输出的前五十个数据包的分析,应该可以找出是什么流量造成的。

作者:乍得·佩林 来源:techrepublic.com【原创】 2008年8月11日

关键字: 命令 网络管理 tcpdump

  • 评论
  • 分享微博
  • 分享邮件

ZDNet网络频道原创翻译 转载请以文字链形式注明出处

作者:乍得·佩林

tcpdump是一个功能强大使用方便的开源命令行工具。只不过与Wireshark等同类图形工具相比,看起来象是比较难使用。但实际上,只要了解了基本知识,它的使用也是很方便的。
--------------------------------------------------------------------------------------------

tcpdump是一个老牌的网络调试和安全监测工具,被遍布世界各地的安全专家所采用。它采用了命令行的操作形式,而不是象Ettercap和Wireshark等同类流量分析工具那样采用专属的图形界面。这样的设置可能让一些用户觉得有些原始,但却可以提供更高的灵活性。

选项

tcpdump提供了很多的命令选项,在这里我只简单介绍几个:

· -A:将每个数据包以美国信息互换标准代码ASCII的格式打印出来。
· -c N:如果这个N是一个数字,这个选项表示tcpdump将在N个数据包后退出。
· -i interface:捕获指定网络端口的数据包。
· -n:不将地址进行解析。
· -q:提供较少的(“安静”)输出,这样的输出路线会比较短。
· -r filename(文件名):从指定的文件而不是网络端口读取数据包。它经常用在数据已经被记录到文件中的情况,需要和-w的选项共同使用。
· -t:在输出每一行的时间不打印时间戳。
· -v:提供更详细的输出。V可以增加,象-VV、甚至-VVV。
· -w filename(文件名):将数据包写到指定的文件中。
 
表达式

作为工具软件,tcpdump也支持利用过滤规则清除不需要的数据包,获得相关的信息。表达式支持基本的以及可选择的设置。下面的表达式并没有包括所有的部分,只是列举了比较常见和有用的。

基本设置

· dst foo:指定一个地址或主机名以限制捕获发送到某个特定主机的流量数据包
· host foo:指定一个地址或主机名以限制捕获发送和接受到某个特定主机的流量数据包
· net foo:指定一个使用无类域间路由的网络或者网关限制捕获数据包
· proto foo:指定一协议以限制捕获使用该协议的数据包
· src foo:指定一个地址或主机名以限制捕获某个特定主机发送的流量数据包

可选设置

· and:你可以利用该参数对符合要求的数据包进行设置,以选择共同的部分。
· not:你可以利用该参数对不符合要求的数据包进行设置,以去处不需要的部分。
· or:你可以利用该参数对有两种以上要求的数据包进行处理,选出需要的部分。

例子

在所有这些选项和表达式的帮助下,tcpdump可以建构非常具体的命令,产生出非常精确的输出。

tcpdump -c 50 dst foo这个命令可以让你对导致名为“foo”的服务器过载的原因进行调查,通过对输出的前五十个数据包的分析,应该可以找出是什么流量造成的。

tcpdump -c 500 -w `date +"%Y%j%T"`.log可以建立一个以当前时间和日期(类似200820715:16:31.log)命名的文件,并将五百个数据包添加到文件中,在稍后还可以过滤,找出你想要得到的信息。我在RC文件文件中已经使用了date +"%Y %j%T" 命令,因此,这个命令也可以简化为tcpdump -c 500 -w `stamp`.log,这样的话,我就不用记住关于时间命令的选项了。

tcpdump port 22 src or dst foo and src and dst not bar命令可以显示22号端口,“bar”主机(假设采用的是SSH协议)和服务器“foo”相关的所有活动。如果foo只是通过SSH和bar进行联络的话,这个命令将对所有未经验证的SSH流量进行监测。你甚至可以利用tcpdump启动了若干持续监测过程就象利用一台专门的监测服务器进行监测一样。

正如你看到的一样,毫无疑问,tcpdump的功能更类似一个非常容易理解的特定领域的编程语言。对于一般类型的流量分析工作来说,它的功能和灵活性都可以满足要求。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章