IMPORTANT: Tcpreplay was not accepted as a mentoring organization to the Google Summer of Code for 2009. Of course if you are still interested in working on any of the ideas below, feel free to contact me via IRC or the tcpreplay-devel mailing list.
Google Summer of Code 2009
I'm inviting students interested in networking, security and the IPS space to work on Tcpreplay to join the Google Summer of Code. Tcpreplay is written in C/C++, builds controlled via Cmake and source control is managed using Subversion.
Administrivia
- IRC Channel: #tcpreplay on irc.freenode.net
- Developer mailing list: tcpreplay-devel@lists.sourceforge.net
Ideas
Enable sending traffic over wireless
Ticket: #378
Skills required:
- C
Complexity: Low
Overview: Integration of the Lorcon wireless frame injection library to allow tcpreplay to send frames directly onto wireless networks.
Mentor: Aaron Turner (synfinatic)
Scriptable Packet Editing Engine
Ticket: #98
Skills Required:
- C
- Lua/Ruby/????
Complexity: High
Overview: The tcprewrite engine (libtcpedit) provides a lot of ways that users can edit packets. However, there are 100's of different protocols and adding support for each protocol in C is tedious and error prone. Users are constantly requesting support for new protocols and fields. Ideally, libtcpedit would allow users to express their desired changes using a DSL or using an embeded general purpose language like Lua or Ruby without the need for writing C.
Mentor: Aaron Turner (synfinatic)
Distributed Tcpreplay
Ticket: #382
Skills Required:
- C
- Network programming
Complexity: Medium
Overview: While tcpreplay is heavily optimized to run as fast as possible, there are limits to the amount of traffic that a single tcpreplay instance can generate. This project is to create a distributed traffic generation solution which allows multiple copies of tcpreplay running on multiple hosts to synchronize their traffic generation in order to reach higher packet rates then a single instance is capable of.
Mentor: Aaron Turner (synfinatic)
Graph pcap files
Ticket: #25
Skills Required:
- C
- Graphviz library or other graphing solution
Complexity: Medium
Overview: While tools like Wireshark provide detailed decodes of individual packets, it does a poor job of giving a high-level overview of communications stored in a pcap file. This makes it difficult for users to use tcpprep to split traffic in order to test inline devices like firewalls, IPS's and routers. This project is to parse the L2-L4 headers and create a graphical representation of the flows between hosts.
Mentor: Aaron Turner (synfinatic)
Port to Native Win32
Ticket: #133
Skills Required:
- C
Complexity: Medium
Overview: Tcpreplay is portable across most flavors of Linux/UNIX and on Windows platforms via Cygwin. The goal of this project is to make Tcpreplay compile natively under Windows (XP/Vista) using MSVC++ Express 2008.
Mentor: Aaron Turner (synfinatic)
Your Own Idea
Ticket: ???
Skills Required:
- C
- ????
Complexity: Depends
Overview: There are a number of smaller tasks listed here or feel free to propose your own!
Mentor: Aaron Turner (synfinatic)
