title: Crafting a DNS Query Message in Python
body: <p>I've been using Scapy to craft packets and test my network, but the programmer inside me is itching to know how to do this without Scapy.</p>
  
  <p>For example, how do I craft a DNS Query using sockets (I assume it's sockets that would be used).</p>
  
  <p>Thanks</p>