diff options
Diffstat (limited to 'project2/proj2_s4498062/dns_server.py')
-rw-r--r-- | project2/proj2_s4498062/dns_server.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/project2/proj2_s4498062/dns_server.py b/project2/proj2_s4498062/dns_server.py new file mode 100644 index 0000000..f1d4b09 --- /dev/null +++ b/project2/proj2_s4498062/dns_server.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python2
+
+""" DNS server
+
+This script contains the code for starting a DNS server.
+"""
+
+import dns.server
+
+if __name__ == "__main__":
+ # Parse arguments
+ import argparse
+ parser = argparse.ArgumentParser(description="DNS Server")
+ parser.add_argument("-c", "--caching", action="store_true",
+ help="Enable caching")
+ parser.add_argument("-t", "--ttl", metavar="time", type=int, default=0,
+ help="TTL value of cached entries (if > 0)")
+ parser.add_argument("-p", "--port", type=int, default=5353,
+ help="Port which server listens on")
+ args = parser.parse_args()
+
+ # Start server
+ server = dns.server.Server(args.port, args.caching, args.ttl)
+ try:
+ server.serve()
+ except KeyboardInterrupt:
+ server.shutdown()
+ print()
|