26 November 2007 | 12,166 views

tcpflow – TCP Flow Recorder for Protocol Analysis and Debugging

Cybertroopers storming your ship?

tcpflow is a program that captures data transmitted as part of TCP connections (flows), 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. It should compile under most popular versions of UNIX; see the INSTALL file for details.

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.

The only downside to this tool is that it’s not being actively maintained, the last version was released in 2003.

The upside is that the TCP protocol hasn’t changed, so the tool still work just fine.

Definitely extremely useful for network forensics, it’s one of the tools I use to demo network dissection in classes.

You can download it here:

Version 0.21 source tarball
Version 0.21 Source RPM

Or read more here.


Recent in Forensics:
- Rekall – Memory Forensic Framework
- DAMM – Differential Analysis of Malware in Memory
- Malheur – Automatic Malware Analysis Tool

Related Posts:
- Chaosreader – Trace TCP/UDP Sessions from tcpdump
- Fiddler – Web Debugging Proxy For HTTP(S)
- Sniffjoke 0.4.1 Released – Anti-sniffing Framework & Tool For Session Scrambling

Most Read in Forensics:
- NetworkMiner – Passive Sniffer & Packet Analysis Tool for Windows - 66,214 views
- raw2vmdk – Mount Raw Hard Disk (dd) Images As VMDK Virtual Disks - 33,271 views
- sslsniff v0.6 Released – SSL MITM Tool - 27,160 views

Low-cost VPS Hosting

7 Responses to “tcpflow – TCP Flow Recorder for Protocol Analysis and Debugging”

  1. Goodpeople 26 November 2007 at 12:29 pm Permalink

    Can’t wait to have my students play with it.

  2. dirty 26 November 2007 at 5:25 pm Permalink

    oldie but goodie…thanks for the info Darknet

  3. Pantagruel 26 November 2007 at 9:59 pm Permalink

    A golden oldie, should be part of anyones network traffic analysis kit.
    A better maintained package with similar features is WireShark (http://www.wireshark.org/). The website even sports some tutorials and other nice tools.

  4. Reticent 27 November 2007 at 12:10 am Permalink

    I figure you’d be better off using the still-maintained application ‘argus’ for this type of stuff. It captures tcp flow information but also comes with a suite of applications to manipulate that data – service distribution, host analysis, and even has a graphing function. http://qosient.com/argus/

    correction: It seems tcpflow does full packet captures rather than just summaries like argus does. Regardless, check it out if you’re into network security monitoring

  5. Darknet 27 November 2007 at 6:54 am Permalink

    I still like tcpflow when I’m doing network forensics from tcpdump files. Wireshark is pretty nice for graphical interface too. Sometimes it’s just easier and faster on the commandline though.

    I’ll check argus out, thanks!

  6. dirty 29 November 2007 at 5:31 pm Permalink

    I spoke (email) with the author of TCPFlow briefly…
    When asked if a new version was coming out, he said “probably not” and that he hadnt worked on it in years…

    oh well…as long as it still works huh?