Ever wondered what it would be like to have your own custom IP stack readily programmable? Ever wanted to be able to use stock clients connecting to stock servers, but still be able to tweak the underlying connection? Have you ever wished you could poke at individual packet bits within a real connection without having to patch your kernel? Packet Purgatory is a library that allows userland programs to do all of the above portably. This talk will highlight the development of Packet Purgatory, how to use it, and ideas for future tools. Also included in the talk will be a discussion of two example tools that have been constructed on Packet Purgatory: Stegtunnel, a tool to hide covert channels in TCP/IP connections and LSRTunnel, which spoofs connections using loose source routing.