tcpflow 1.0.0 is released
- I am happy to announce that I have taken over(*) maintenance of the tcpflow program and have issued a 1.0.0 release. You can download it from http://afflib.org/
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 and debugging. Each TCP flow is stored in its own file. Thus, the typical TCP flow will be stored in two files, one for each direction. tcpflow can also process stored 'tcpdump' packet flows.
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 220.127.116.11 port 2345, to host 10.11.12.13 port 45103.
tcpflow is similar to 'tcpdump', in that both process packets from the wire or from a stored file. But it's different in that it 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. Version 1.0 adds support for VLAN demultiplexing. However, tcpflow 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 at ftp://ftp.ee.lbl.gov/libpcap.tar.Z) 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.
Version 1.1.0, scheduled for release later this month, will include support for automatically decompressing GZIP-compressed HTTP transactions (similar to the way that bulk_extractor does). It will also include limited support for Digital Forensics XML.
Comments are appreciated.
(*) My take-over of the tcpflow maintenance has been done with the consent (and thanks) of the original author, Jeremy Elson.