09/19/07

PHP & Rails

I just made a number of small tweaks to the site layout and format which I think cleans things up a bit. The biggest change is the new Archives widget which makes organization a lot cleaner.

On a side note, I’ve switched gears a little and put tcpreplay on hold while I start a new project called Cabernet. One of my guilty pleasures in life is wine and I have so many bottles that it’s actually hard to know what I have and where various bottles are. I hope Cabernet becomes an easy to use wine management system for individuals who have a few hundred to a few thousand bottles.

07/3/07

Gah, I hate python

Not sure what’s up with python, but it’s not able to find all the libraries anymore, hence the tcpreplay website is down until I get things back together… [Update] Well DarwinPorts completely screwed things up and had two different versions of python installed with mod_python built against one version and everything else against another. Basically had to rebuild everything, but finally got it back up. Continue reading

05/1/07

3.0.1 on time!

I’m happy to release that 3.0.1 is not only out, but released on time… pretty amazing if you ask me. :)

Anyways, this release has a number of fixes, most of which were bugs filed by users, so a big thanks to everyone who found a bug and either filed a ticket or emailed the list.

05/01/2007: Version 3.0.1

  • Stop tcpreplay causing OS X WiFi from disassociating (#167)
  • –pnat incorrectly matched all IP addresses (#170)
  • Fix serious memory leak in core common library (#175)
  • Fix tcprewrite –enet-vlan on little endian systems (#174)
  • Bad pcap timestamps were causing excessive delays (#169)
  • Code cleanup (#173)

As always, you can grab the latest tarball from:
http://tcpreplay.synfin.net/trac/wiki/Download

04/22/07

RFC: 802.11 support

So 3.1 development has already started, and based on numerous user requests, one of the first tasks was adding IEEE 802.11 support. If you are someone who is interested in 802.11 support in tcpreplay, please take a few minutes to read this and write a reply. Your feedback is very important!
Continue reading

04/20/07

3.0.0 final(ly) released

I’m happy to announce that tcpreplay 3.0.0 has officially been released. 3.0 is a complete rewrite of the old 2.x branch which is now officially EOL. During the 3.0 rewrite I had four main goals:

  1. Clean up and reorganize the code to make development easier
  2. Standardize configuration options
  3. Improve performance
  4. Improve the documentation

I’m happy to say that all four of these goals have been met. Performance is noticeably improved and the code is much more maintainable. There is now a standalone library for all packet editing functionality which is used in tcprewrite, tcpbridge and optionally tcpreplay. DLT support is now done via plugins, so adding support for additional DLT’s is much easier. User configuration processing is now handled by GNU Autogen, providing a consistent set of arguments for both command line and configuration files. The man pages/built in help is better and the tcpreplay manual and FAQ have moved to the tcpreplay website wiki.

One unexpected enhancement was adding Windows/Cygwin support. During development I noticed about 20% of tcpreplay downloads were for the Win32 version, so I made an effort to improve portability and add support for Winpcap.

So what about the future? Well 3.1 is already in the planning stages. Feel free to look at the open tickets and leave comments for anything you’d prefer to see take care of sooner rather then later.

Most of all, I’d love to hear any success or failure stories people have with 3.0. Knowing what features people like helps me prioritize other similar features for the future.

04/14/07

RC1 is out!

Once again, I paid someone a lot of money to do my taxes. Honestly, it’s the best $750 I spend each year. The US gov’t does a great job making taxes complicated even for people like me who aren’t worth millions of dollars or are trying to use tax havens in various 3rd world countries.

Anyways, since I didn’t have to do my taxes, I decided to take the time to fix bugs and get the RC1 release out. This is actually a big deal. We’re talking over 2 years of effort, 100+ tickets fixed, 600 commits and 20,000 lines of code. But mere numbers don’t really begin to cover what’s new:

  1. Completely rewritten to improve performance
  2. Standardized options for easier use
  3. Tons and tons of bug fixes
  4. Rewrote all the docs to the wiki
  5. Plugin based architecture for DLT rewriting (DLT_EN10MB, DLT_NULL, DLT_LOOP, DLT_LINUX_SLL, DLT_HDLC, user defined)
  6. Initial support for Win32 under Cygwin
  7. Cleaner code for easier maintenance and enhancements

So what’s the future?

  • More DLT support (802.11 for one)
  • More plugins (layer 3, 4 and 5+)
  • Possible use of Lua or other embedded language for ease of writing additional editing plugins
  • Native Win32 support
  • Much much more
03/24/07

Looking for Win32 beta testers

For the past month or so, I’ve been working on getting tcpreplay working under Windows systems (Windows XP specifically). I’m happy to say that I’ve made good progress and now I’m looking for a few beta testers to try it out in a more “real world” environment and provide feedback.

Some words of warning:

  • I’m not a Windows expert. The last version of Windows I used at all regularly was Win95. ’nuff said.
  • You don’t have to be a Windows expert, but you should be very comfortable using it.
  • It would be nice if you have some C coding experience under Windows. I don’t expect you to code or fix bugs, but someone who is familiar with C is likely to be able to provide better bug reports.
  • You must be able to install WinPcap 4.0 and Cygwin. If that sounds scary or like too much work, then this isn’t for you.
  • You must be willing/able to compile tcpreplay under Cygwin. I will not be providing binaries right now! You don’t need to have VC++ or anything like that, but being familiar with the GNU toolchain is a big plus. Sorry, but I can’t provide support getting Cygwin or the other dependencies like GNU Autogen installed.
  • You must be able to communicate in English clearly. Since I won’t be able to sit down at your computer and help if there’s any problems, you’ll have to be able to email/IM/IRC me what’s going on. English doesn’t have to be your first language, but if you have a hard time communicating on technical topics, then this isn’t for you.

How do you get started? Easy, read my quick Win32 HowTo and get started! If you have any questions or problems, please email me at: synfinatic@gmail.com

03/22/07

3.0.beta13 is out

Hot off my keyboard, beta13 is out. It’s actually the exact same tarball as the pre-release since nobody complained about any bugs, so I hereby declare it having fewer bugs then the last release, which is actually saying something.

Anyways, in this release I snuck in early Win32 support. Don’t bother downloading and trying it out if words like “Cygwin” and “aclocal” sound like aliens from outerspace. But if you do feel adventurous, download it, and feel free to drop in on the tcpreplay-users list and let me know how it goes.

03/21/07

Pre-release of Beta13 available

So the endian issues in tcprewrite seem to be causing a lot of people grief, so I’ve decided to release a beta13 before RC1. However, since this wasn’t a planned release, some RC1 tickets are half done and incomplete. It doesn’t seem like this will cause anyone problems, but I haven’t done enough testing myself to release it to the entire world.

Hence, I’m posting a pre-beta13 so people can try it out and report any major bugs before I announce it to the rest of the world.

The major changes since beta12 are:

  • Fixed detection of IPv4 packets on little-endian (Intel mostly) boxes. Prevented tcprewrite from editing most packets
  • Fixed TCP/UDP checksum calculation on little-endian boxes
  • Added –quiet flag to tcpreplay for Lothar
  • The –seed flag should now generate the same IP’s on both little-endian & big-endian boxes
  • The –skipl2broadcast flag now works as documented
  • Adding L2 header for DLT_RAW encapsulated packets now works

Hopefully everyone here who has found a bug in the last few weeks will take a few minutes to give it a try and let me know how well it works out.

Since this is not GA code yet, I’m not posting it to SF, so you’ll have to get it here:

http://tcpreplay.synfin.net/tcpreplay-3.0.beta13.tar.gz

If you find any issues, please post them to the tcpreplay-users mailing list or open a ticket.

Thanks!