存档

文章标签 ‘tcpflow’

linux常用抓包工具: tcpdump和tcpflow

2015年10月13日 没有评论

简单总结一下这两个工具的使用方法。

1.  tcpdump

tcpdump无疑是最强大的抓包工具,网上资料很多,一篇文章也讲不完,请移步官网。

2.  tcpflow

tcpflow用于捕获tcp连接数据流,可将数据流保存为文件以便分析。

每个tcp连接都会保存为两个文件,上行和下行数据分别保存为一个文件。

tcpflow还能处理tcpdump输出的数据包文件。

tcpflow输出文件命名格式为:

[timestampT]sourceip.sourceport-destip.destport[--VLAN][cNNNN]

各字段含义如下:

timestampT:捕获的第一个包的时间戳,T是一个分隔符,用于标识文件名含有时间戳字段

sourceip.sourceport-destip.destport:数据包的源ip、端口和目的ip、端口

VLAN:VLAN端口

cNNNN:连接计数,c为分隔符,用于标识文件名含有连接计数字段。NNNN表示这对tcp端点第几次建立的连接,第一次为0.

以下是一些文件名示例:

  128.129.130.131.02345-010.011.012.013.45103
  从128.129.130.131的2345端口发到10.11.12.13的45103端口的tcp抓包文件
  128.129.130.131.02345-010.011.012.013.45103c0005
  这两个地址之间的第6次连接
  1325542703T128.129.130.131.02345-010.011.012.013.45103
  连接开始时间为5:19pm (-0500) on January 2, 2012
  128.129.130.131.02345-010.011.012.013.45103--3
  连接经过的VLAN端口为3

  可以使用-F及-T选项改变文件命名规则。若文件名中包含目录,tcpflow会自动创建这些目录。

  如果使用-a选项,tcpflow会自动解析tcp数据流的HTTP响应消息。
若输出文件为:
  208.111.153.175.00080-192.168.001.064.37314,
  tcpflow解析HTTP后会额外生成两个文件:
  208.111.153.175.00080-192.168.001.064.37314-HTTP
  208.111.153.175.00080-192.168.001.064.37314-HTTPBODY

  若响应数据使用了gzip压缩,tcpflow还将生成另外一个文件:
  208.111.153.175.00080-192.168.001.064.37314-HTTPBODY-GZIP

  tcpflow支持tcpdump使用的过滤器,可根据需要来捕获tcp流。

  CentOS上可以直接通过yum来安装tcpflow。
  yum install tcpflow

  安装完毕,直接输入tcpflow命令,就能抓取网卡上的tcp流。
  Ctrl C结束命令,你会看到生成了一堆抓包文件。没错,tcpflow默认会抓取所有tcp连接。
  在生成的文件中包含一个report.xml,这个包含了此次抓包的统计数据。

  使用tcpflow -h可以看到支持的参数。主要包含如下几个:
  -i:指定监听网卡
  -a:执行所有的捕获后处理,即解析HTTP数据
  -b max_bytes:每个流最大字节数
  -d debug_level:打开调试开关
  -H:输出每个扫描器的明细信息
  -r file:从tcpdump生成的pcap抓包文件读取数据流
  -v:详细输出调试信息,相当于-d 10
  -o:指定输出目录,默认为当前目录.
  [expression]:在命令选项之后使用tcpdump形式的过滤器表达式。
分类: 工具, 资料 标签: , ,