017tcpflow的简单用法

tcpflow

tcpflow是服务器上经常使用的一个小程序,它能够捕获tcp的数据流,并将其存储为方便分析和调试的格式。每一条tcp流都会被存储到独立的文件中,因此,典型的tcp流将会被分别存储为进、出两个文件。

tcpflow和tcpdump比较相似,它们都能处理来自实时或者存储到文件中的数据包。不同点是,tcpflow会重新构建真实的数据流,并且会分开存储。

虽然tcp数据包存在重传和乱序的情况,tcpflow能够按照正常的顺序重建数据流。1.0版本支持VLAN多路复用,但是,当前不支持IP fragmentation,数据流中如果存在IP fragments,不能被正常的处理。

tcpflow基于LBL Packet Capture Library,支持丰富的过滤条件。

安装

centos上使用yum安装

yum install tcpflow

一个简单的例子简单使用

tcpflow -cp -i eth0 port 18223

-p:非杂乱模式-c:将数据流打印到控制台,不要存储到文件中。

-i:指定网络接口

port:指定监听的端口号

简单的说,将端口号18223的tcp流打印到控制台输出。

  • 只关心输入数据流
tcpflow -cp -i eth0 dst port 18223

只关心输出流量dst:18223是tcp数据流的目的端口

tcpflow -cp -i eth0 src port 18223

src:18223是tcp数据流的源端口