tcpflow 0.21

tcpflow is a program that captures data transmitted as part of TCP connections.
tcpflow is a program that captures data transmitted as part of TCP connections, and stores the data in a way that is convenient for protocol analysis or debugging.

A program like 'tcpdump' shows a summary of packets seen on the wire, but usually doesn't store the data that's actually being transmitted. In contrast, tcpflow reconstructs the actual data streams and stores each flow in a separate file for later analysis.

tcpflow understands sequence numbers and will correctly reconstruct data streams regardless of retransmissions or out-of-order delivery. However, it currently does not understand IP fragments; flows containing IP fragments will not be recorded properly.

tcpflow is based on the LBL Packet Capture Library (available from LBL) and therefore supports the same rich filtering expressions that programs like 'tcpdump' support.

tcpflow stores all captured data in files that have names of the form

where the contents of the above file would be data transmitted from host port 2345, to host port 45103.

I originally wrote this program to capture the data being sent by various programs that use undocumented network protocols in an attempt to reverse engineer them. RealPlayer (and most other streaming media players), ICQ, and AOL IM are good examples of this type of application. It should be compiled under most popular versions of UNIX; see the INSTALL file for details.

In tinkering with it, I later also found tcpflow to be useful for checking to see what cookies my browser was sending to various sites, looking at the MIME headers of HTTP requests people are sending to my web server, and verifying that various connections to my machine that were supposed to be encrypted actually were encrypted.

last updated on:
June 30th, 2006, 23:05 GMT
developed by:
Jeremy Elson
license type:
GPL (GNU General Public License) 
ROOT \ System \ Networking


In a hurry? Add it to your Download Basket!

user rating



Add your review!