Skip to content
Snippets Groups Projects
Commit c904911f authored by Henrik Tjäder's avatar Henrik Tjäder
Browse files

Added the UDP reflector

parent 937fa6ca
No related branches found
No related tags found
No related merge requests found
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()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment