22C3 - 2.2

22nd Chaos Communication Congress
Private Investigations

Paul Böhm
Day 2
Room Saal 2
Start time 21:00
Duration 01:00
ID 529
Event type Lecture
Track Hacking
Language English


Writing your own flexible Userland TCP/IP Stack - Ninja Style!!!

This talk will discuss design approaches for writing flexible userland tcp/ip stacks for network hacking tools.

Lots of network hacking tools require the same basic infrastructure: reading, writing, decoding and encoding packets, creating and maintaining protocol state, and some application logic. The muXTCP Project aims to develop a reusable implementation of this basic infrastructure.

This talk will present and discuss design approaches for implementing a hacker-friendly tcp/ip protocol stack framework. Based on experiences with prototypes, whose sourcecode will be released at the conference, advantages and disadvantages of composition and inheritance based implementation strategies are discussed.

Some attention will then be given to Design Patterns that can help in generalizing the framework, and finally a promising hybrid design that is currently in development will be offered for discussion.

The framework is written in Python, using Twisted as asynchronous event framework, and Scapy as networking/decoding backend. The design is loosely based on a 1995 Paper named "A Framework for Network Protocol Software".