SharkFest'24 US

Dissector developer design notes
06-19, 15:45–16:45 (America/New_York), Great Falls

In this talk we'll go over lots of the details that dissector developers have to contend with. Not only will we touch on some of the Epan APIs available to us, but we will go behind the API's and discuss the way of thinking about packet dissection design. Here we may discover wisdoms which are not only important to dissector developers, but for software development in general.

Even though in this talk we will focus on development of C code, Lua dissector developers may take away some deeper insights as well.


As a core developer I get to see a lot of dissector code, in the form of merge requests, during investigation of bugs, or written by myself. While working on this code I often come across designs which are not optimal for the purpose they serve. This may have to do with the use of poor examples, missing insight into how the packet dissection process really works or lack of understanding of the protocols at hand. Either way more knowledge and insight will hopefully help you to create better dissectors.

Studied telecommunications and computer systems. Worked for a PBX manufacturer and currently for a manufacturer of telecommunication transmission systems, in the role of embedded software engineer. Along the way I started using what was then called Ethereal, enhancing it and providing bug fixes, which eventually lead to becoming a core developer.

Besides this I like to spend time in the air, either skydiving or flying gliders.