Helpful pointers for making flow-tools on cygwin exist. However, they don't get the job done on cygwin-1.5.24-2, you need to tell flow-tools that it doesn't have multicast or pktinfo support:

Prerequisites: install minires-devel, byacc, flex

After you run './configure', apply the following patch:

diff -urN flow-tools-0.66/src/flow-capture.c flow-tools-fixed/src/flow-capture.c --- flow-tools-0.66/src/flow-capture.c 2003-04-02 10:03:01.000000000 -0800 +++ flow-tools-fixed/src/flow-capture.c 2007-08-11 16:38:08.403488000 -0700 @@ -566,7 +566,7 @@ /* unicast bind -- no multicast support */ if (bind(ftnet.fd, (struct sockaddr*)&ftnet.loc_addr, sizeof(ftnet.loc_addr)) < 0) - fterr_err(1, "bind(%s)", inet_ntoa(ftnet.loc_addr.sin_addr))); + fterr_err(1, "bind(%s)", inet_ntoa(ftnet.loc_addr.sin_addr)); #endif /* IP_ADD_MEMBERSHIP */ diff -urN flow-tools-0.66/src/flow-cat.c flow-tools-fixed/src/flow-cat.c --- flow-tools-0.66/src/flow-cat.c 2003-04-02 10:03:01.000000000 -0800 +++ flow-tools-fixed/src/flow-cat.c 2007-08-11 16:42:52.001281600 -0700 @@ -550,7 +550,7 @@ if (done) break; -next_file: +next_file:; } /* FOREACH filename in dir */ diff -urN flow-tools-0.66/src/flow-dscan.c flow-tools-fixed/src/flow-dscan.c --- flow-tools-0.66/src/flow-dscan.c 2003-04-02 10:03:01.000000000 -0800 +++ flow-tools-fixed/src/flow-dscan.c 2007-08-11 16:43:09.556524800 -0700 @@ -559,7 +559,7 @@ if (ds.ager_timeout && (!(total_flows % 1000))) ager(&ds, total_flows32); -skip2: +skip2:; } /* while rec */ @@ -804,7 +804,7 @@ ager_i = 0; fterr_info("ager: reset hash run"); -skip3: +skip3:; } /* ager */ diff -urN flow-tools-0.66/src/flow-fanout.c flow-tools-fixed/src/flow-fanout.c --- flow-tools-0.66/src/flow-fanout.c 2003-04-03 18:24:40.000000000 -0800 +++ flow-tools-fixed/src/flow-fanout.c 2007-08-11 16:44:07.900419200 -0700 @@ -808,7 +808,7 @@ } /* fte.buf_size */ -skip1: +skip1:; } /* if FD_ISSET */ diff -urN flow-tools-0.66/src/flow-receive.c flow-tools-fixed/src/flow-receive.c --- flow-tools-0.66/src/flow-receive.c 2003-04-02 10:03:02.000000000 -0800 +++ flow-tools-fixed/src/flow-receive.c 2007-08-11 16:43:44.817227200 -0700 @@ -752,7 +752,7 @@ } /* for */ -skip1: +skip1:; } /* if FD_ISSET */ diff -urN flow-tools-0.66/src/ftbuild.h flow-tools-fixed/src/ftbuild.h --- flow-tools-0.66/src/ftbuild.h 2003-04-03 18:26:45.000000000 -0800 +++ flow-tools-fixed/src/ftbuild.h 2007-08-11 17:06:59.001966400 -0700 @@ -1 +1,8 @@ -#define FT_PROG_BUILD "maf@faith on Thu Apr 3 21:26:45 EST 2003" +#define FT_PROG_BUILD "Administrator@labtest2000 on Sat Aug 11 15:22:16 PDT 2007" + +// cygwin doesn't have multicast +#undef IP_ADD_MEMBERSHIP +#undef IP_ADD_SOURCE_MEMBERSHIP + +// cygwin lacks +#undef IP_PKTINFO --- flow-tools-0.66/lib/ftlib.h 2003-04-03 07:06:25.000000000 -0800 +++ flow-tools-fixed/lib/ftlib.h 2007-08-11 18:14:10.318715200 -0700 @@ -26,6 +26,7 @@ * $Id: ftlib.h,v 1.87 2003/04/03 15:06:25 maf Exp $ */ + #ifndef FTLIB_H #define FTLIB_H @@ -42,6 +43,8 @@ #include #include +#undef IP_PKTINFO + #ifndef BIG_ENDIAN #define BIG_ENDIAN 4321 #endif @@ -84,6 +87,8 @@ #include "ftpaths.h" #include "radix.h" + + /* * compatability */

Then run 'make' and you should have working flow-tools install. Follow the INSTALL file for full installation and testing.

Next is figuring out how to package this all up....