summaryrefslogtreecommitdiff
path: root/project2/proj2_s4498062/dns_server.py
diff options
context:
space:
mode:
authorCamil Staps2016-04-14 20:07:12 +0200
committerCamil Staps2016-04-14 20:07:12 +0200
commit872e11deb29e87eddcfaca76d555acc16e329653 (patch)
tree00aa2aec0b5a4e6874d6de7c0f9a6bf860bf1e11 /project2/proj2_s4498062/dns_server.py
parentFix LaTeX warning (diff)
Added project2 framework
Diffstat (limited to 'project2/proj2_s4498062/dns_server.py')
-rw-r--r--project2/proj2_s4498062/dns_server.py28
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()