diff --git a/UDP-reflector.py b/UDP-reflector.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ba029b84210213da922c6097d72c9b8b4562a68
--- /dev/null
+++ b/UDP-reflector.py
@@ -0,0 +1,43 @@
+import socket
+import time
+import sys
+
+#DEFINE INPUTS HERE
+REFLECTOR_HOST = '::1'      #IP ADDRESS TO LISTEN FOR INCOMMING PACKETS (v4 or v6)
+REFLECTOR_PORT = 15005     #IP PORT TO LISTEN FOR INCOMMING PACKETS
+REMOTE_PORT = 55555          #REMOTE PORT TO REFLECT PACKETS TO
+REFLECT_SWITCH = 1             #REFLECTION ENABLED:1 (TWO-WAY DELAY), REFLECTION DISABLED:0 (ONE-WAY DELAY)
+BUFFER = 4096
+
+ADDR = (REFLECTOR_HOST,  REFLECTOR_PORT)
+
+#DUMB CHECK OF IP ADDRESS VERSION
+if ':' in REFLECTOR_HOST:
+    EchoServer = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
+else:
+    EchoServer = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+
+#BINDING, PROCESSING AND WRITING TO CSV
+try:
+    EchoServer.bind(ADDR)
+    print 'echo server started on port', ADDR
+except Exception:
+    print '***ERROR: Port Binding Failed'
+
+while True:
+    data, addr = EchoServer.recvfrom(BUFFER)
+    addlst=addr[0],REMOTE_PORT
+
+    if REFLECT_SWITCH == 1:
+        EchoServer.sendto('%s' % (data), addlst)
+
+    splitdata = data.split(',')
+    timecount = splitdata[0].strip("('")
+    one_way_delay = (time.time() - float(timecount))
+    packet_number = str(splitdata[1].strip("' '"))
+    packet_number = packet_number.lstrip('0')
+
+    outfile = open("udp_oneway_results.csv", "a").write(str(time.ctime()+','+'received , '+ packet_number+' , '+str(one_way_delay)+'\n'))
+    print (time.ctime()+','+'received , '+ packet_number+' , '+str(one_way_delay))
+
+EchoServer.close()