123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
- <!--Converted with LaTeX2HTML 2002-2-1 (1.70)
- original version by: Nikos Drakos, CBLU, University of Leeds
- * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
- * with significant contributions from:
- Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
- <HTML>
- <HEAD>
- <TITLE>5 pcap vs flow File Format</TITLE>
- <META NAME="description" CONTENT="5 pcap vs flow File Format">
- <META NAME="keywords" CONTENT="flowreplay">
- <META NAME="resource-type" CONTENT="document">
- <META NAME="distribution" CONTENT="global">
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
- <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
- <LINK REL="STYLESHEET" HREF="flowreplay.css">
- <LINK REL="next" HREF="node6.html">
- <LINK REL="previous" HREF="node4.html">
- <LINK REL="up" HREF="flowreplay.html">
- <LINK REL="next" HREF="node6.html">
- </HEAD>
- <BODY >
- <DIV CLASS="navigation"><!--Navigation Panel-->
- <A NAME="tex2html84"
- HREF="node6.html">
- <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
- <A NAME="tex2html82"
- HREF="flowreplay.html">
- <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
- <A NAME="tex2html76"
- HREF="node4.html">
- <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
- <BR>
- <B> Next:</B> <A NAME="tex2html85"
- HREF="node6.html">6 Plug-ins</A>
- <B> Up:</B> <A NAME="tex2html83"
- HREF="flowreplay.html">Flowreplay Design Notes</A>
- <B> Previous:</B> <A NAME="tex2html77"
- HREF="node4.html">4 Multiple Independent Flows</A>
- <BR>
- <BR></DIV>
- <!--End of Navigation Panel-->
- <H1><A NAME="SECTION00050000000000000000">
- <SPAN CLASS="arabic">5</SPAN> <SPAN ID="hue250">pcap vs flow File Format</SPAN></A>
- </H1>
- <P>
- <SPAN ID="hue252">As stated before, the pcap file format really isn't
- well suited for flowreplay because it uses the raw packet as a container
- for data. Flowreplay however isn't interested in packets, it's interested
- in data streams</SPAN><A NAME="tex2html8"
- HREF="#foot404"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A> <SPAN ID="hue256">which may span one or more TCP/UDP segments, each
- comprised of an IP datagram which may be comprised of multiple IP
- fragments. Handling all this additional complexity requires a full
- TCP/IP stack in user space which would have additional feature requirements
- specific to flowreplay.</SPAN>
- <P>
- <SPAN ID="hue258">Rather then trying to do that, I've decided to create
- a pcap preprocessor for flowreplay called: flowprep. Flowprep will
- handle all the TCP/IP defragmentation/reassembly and write out a file
- containing the data streams for each flow.</SPAN>
- <P>
- <SPAN ID="hue260">A flow file will contain three sections:</SPAN>
- <P>
- <OL>
- <LI><SPAN ID="hue263">A header which identifies this as a flowprep file
- and the file version</SPAN>
- </LI>
- <LI><SPAN ID="hue265">An index of all the flows contained in the file</SPAN>
- </LI>
- <LI><SPAN ID="hue267">The data streams themselves</SPAN>
- </LI>
- </OL>
- <DIV ALIGN="CENTER">
- <SPAN ID="hue390"><IMG
- WIDTH="668" HEIGHT="748" ALIGN="BOTTOM" BORDER="0"
- SRC="img1.png"
- ALT="\includegraphics{flowheader.eps}"></SPAN>
- </DIV>
- <P>
- <SPAN ID="hue274">At startup, the file header is validated and the
- data stream indexes are loaded into memory. Then the first data stream
- header from each flow is read. Then each flow and subsequent data
- stream is processed based upon the timestamps and plug-ins.</SPAN>
- <P>
- <BR><HR><H4>Footnotes</H4>
- <DL>
- <DT><A NAME="foot404">... </A><A
- HREF="node5.html#tex2html8"><SUP><SPAN CLASS="arabic">8</SPAN></SUP></A></DT>
- <DD><SPAN ID="hue389">A ``data stream'' as I call it is a simplex
- communication from the client or server which is a complete query,
- response or message.</SPAN>
- </DD>
- </DL>
- <DIV CLASS="navigation"><HR>
- <!--Navigation Panel-->
- <A NAME="tex2html84"
- HREF="node6.html">
- <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
- <A NAME="tex2html82"
- HREF="flowreplay.html">
- <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
- <A NAME="tex2html76"
- HREF="node4.html">
- <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
- <BR>
- <B> Next:</B> <A NAME="tex2html85"
- HREF="node6.html">6 Plug-ins</A>
- <B> Up:</B> <A NAME="tex2html83"
- HREF="flowreplay.html">Flowreplay Design Notes</A>
- <B> Previous:</B> <A NAME="tex2html77"
- HREF="node4.html">4 Multiple Independent Flows</A></DIV>
- <!--End of Navigation Panel-->
- <ADDRESS>
- Aaron Turner
- 2005-08-07
- </ADDRESS>
- </BODY>
- </HTML>
|