Workshop

Learn DNS using Python

Thursday, May 29

14:40 - 16:40
RoomPizza
LanguageEnglish
Audience levelBeginner
Seats left42
    Elevator pitch

    It is always DNS, but not many developers understands how does it work internally. This workshop is to teach you the basics of DNS while writing code to implement DNS clients/servers.

    Abstract

    DNS is a complex topic which many developers do not understand. People hear about one or two IP addresses of DNS servers which others are using and then they themselves start using them everywhere.

    This workshop is a mix of history + current tools + code using existing Python modules to learn about how various parts of the DNS ecosystem work. We learn about how DNS actually works to how a resolver works, to even writing our own small authoritative dns server.

    Outline

    • We will start with history of DNS and looking into real HOSTS.TXT files from 1980s
    • Next we will learn some more theory of DNS using images
    • Next we will start using command line tools for basic queries and use web applications written in Python to learn about how recursive resolvers work
    • Then we keep jumping between our own code (which we will write together) and existing tools to learn about various parts of the DNS.
    • Live demo of updating real BIND servers on Internet and learn how that information flows.
    • Finally we will write a small authoritative server and play with it.
    TagsSecurity, DevOps and SRE, Other
    Participant

    Kushal Das

    Kushal Das is a public interest technologist working at Sunet (https://sunet.se) where he helps to build secure and privacy focused tools and services. He is CPython core developer & a director at the Python Software Foundation. He is also part of the core team of the Tor Project, and a long time contributor to Fedora Project. In 2004 he founded Linux Users’ Group of Durgapur. He also helps out journalists/activists with digital security trainings. He regularly blogs at https://kushaldas.in.