Writing Network Tools with Python (Part 1: DNS)