Sometimes we can forget that there's more under the (networking) sun than HTTP. Rapid7's Metasploit team has been working for awhile on a new, pure-Ruby library for Microsoft's SMB protocol. Doing work like this means analyzing wire traffic, working with binary structs, and wrapping everything up into a nice, clean set of abstractions.
We'd like to share the developer workflows and lessons learned. If you've ever wondered how to set about building a library for a binary protocol, how to reverse-engineer the byte-by-byte traffic on a network, or thought it would be cool to understand Ruby's networking capabilities from the ground up, this talk is for you!