Example #1
0
def copyDataFile(options):
    dataFileName = utils.getNDTDataFileName(options)
    dim = options['numberOfDimension']

    if not os.path.exists(dataFileName):
        print 'copyDataFile error:%s is not exists' % dataFileName
        exit(-1)
    command = 'cp %s nd_tree_knn/sourceData%d+0.txt' % (dataFileName, dim)
    utils.executeCommand(command)
    print 'copyDataFile complete'
Example #2
0
def copyQueryFile(options):
    queryFileName = utils.getNDTQueryFileName(options)
    print queryFileName

    if not os.path.exists(queryFileName):
        print 'copyQueryFile error:%s is not exists' % queryFileName
        exit(-1)
    command = 'cp %s mvptree/query.txt' % queryFileName
    utils.executeCommand(command)
    print 'copyQueryFile complete'
def copyQueryFile(options):
    queryFileName   = utils.getCDSQueryFileName(options)
    print queryFileName

    if not os.path.exists(queryFileName):
        print 'copyQueryFile error:%s is not exists'%queryFileName
        exit(-1)
    command = 'cp %s kd_tree/query.txt'%queryFileName
    utils.executeCommand(command)
    print 'copyQueryFile complete'
Example #4
0
def copyDataFile(options):
    dataFileName    = utils.getNDTDataFileName(options)
    dim             = options['numberOfDimension']

    if not os.path.exists(dataFileName):
        print 'copyDataFile error:%s is not exists'%dataFileName
        exit(-1)
    command = 'cp %s nd_tree/sourceData%d+0.txt'%(dataFileName,dim)
    utils.executeCommand(command)
    print 'copyDataFile complete'
Example #5
0
def copyQueryFile(options):
    queryFileName = utils.getNDTQueryFileName(options)

    if not os.path.exists(queryFileName):
        print 'copyQueryFile error:%s is not exists' % queryFileName
        exit(-1)
    command = 'cp %s nd_tree_knn/rangequeryAll.txt' % queryFileName
    utils.executeCommand(command)
    command = 'cp %s nd_tree_knn/boxqueryAll.txt' % queryFileName
    utils.executeCommand(command)
    print 'copyQueryFile complete'
def copyDataFile(options):
    dataFileName    = utils.getCDSDataFileName(options)
    print dataFileName
    dim             = options['numberOfDimension']

    if not os.path.exists(dataFileName):
        print 'copyDataFile error:%s is not exists'%dataFileName
        exit(-1)
    command = 'cp %s kd_tree/data.txt'%dataFileName
    utils.executeCommand(command)
    print 'copyDataFile complete'
Example #7
0
def copyDataFile(options):
    dataFileName = utils.getNDTDataFileName(options)
    print dataFileName
    dim = options['numberOfDimension']

    if not os.path.exists(dataFileName):
        print 'copyDataFile error:%s is not exists' % dataFileName
        exit(-1)
    command = 'cp %s mvptree/data.txt' % dataFileName
    utils.executeCommand(command)
    print 'copyDataFile complete'
Example #8
0
def copyQueryFile(options):
    queryFileName   = utils.getNDTQueryFileName(options)

    if not os.path.exists(queryFileName):
        print 'copyQueryFile error:%s is not exists'%queryFileName
        exit(-1)
    command = 'cp %s nd_tree/rangequeryAll.txt'%queryFileName
    utils.executeCommand(command)
    command = 'cp %s nd_tree/boxqueryAll.txt'%queryFileName
    utils.executeCommand(command)
    print 'copyQueryFile complete'
Example #9
0
def generateClusteredData(options):
    alphabet     = list(string.ascii_uppercase)
    dim          = options['numberOfDimension']
    size         = options['numberOfData']
    cardinality  = options['numberOfAlphabet']
    cluster      = int(options['distribution'][1:])
    dataFileName = 'data/data_%d_%d_%d_%d.txt'%(size,dim,cluster,cardinality)

    command = 'perl data/gdp.pl %d %d %d %d %s'%(size,cluster,dim,cardinality,dataFileName)
    print command
    utils.executeCommand(command)
    print dataFileName
Example #10
0
def initChains():
    utils.displayText('cyan', 'initializing chains...', 0)

    commandsList = []
    '''
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'INPUT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'OUTPUT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'FORWARD'])
	'''
    commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush'])
    commandsList.append(
        ['/usr/bin/sudo', '/sbin/iptables', '--flush', '--table', 'nat'])
    commandsList.append(
        ['/usr/bin/sudo', '/sbin/iptables', '--flush', '--table', 'mangle'])
    commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--delete-chain'])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--delete-chain', '--table', 'nat'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--delete-chain', '--table',
        'mangle'
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #11
0
def setNatPostroutingRules():
	utils.displayText('cyan', 'setting nat postrouting rules (source NAT)...', 0)

	commandsList = []

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.aviwestLanIfc, '--jump', 'MASQUERADE'])

	# allow any kind of traffic to go back from studio to globals.dmngLanIfc
	if globals.platformType == 'development':
		commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.dmngLanIfc, '--jump', 'MASQUERADE'])
	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', interfaceName, '--jump', 'MASQUERADE'])
			
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', interfaceName, '--jump', 'MASQUERADE'])

	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--source', '192.168.56.0/255.255.255.0', '--out-interface', globals.aviwestLanIfc, '--jump', 'MASQUERADE'])
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--source', '127.0.0.1/255.255.255.0', '--out-interface', globals.aviwestLanIfc, '--jump', 'MASQUERADE'])

	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.linuxVmStudioTrafficLanIfc, '--jump', 'MASQUERADE'])
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.linuxVmStudioSshLanIfc, '--jump', 'MASQUERADE'])
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.windowsVmStudioTrafficLanIfc, '--jump', 'MASQUERADE'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #12
0
def setForwardRules():
    utils.displayText('cyan', 'setting forward rules...', 0)

    commandsList = []

    # allow forward traffic for established connections
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD', '--match',
        'state', '--state', 'RELATED,ESTABLISHED', '--jump', 'ACCEPT'
    ])

    # allow all forward traffic on all interfaces
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD', '--jump',
        'ACCEPT'
    ])

    # for testing ssh
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD',
        '--in-interface', globals.aviwestLanIfc, '--destination',
        globals.linuxVmStudioIpAddressForSsh, '--protocol', 'tcp',
        '--destination-port', '22', '--jump', 'ACCEPT'
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #13
0
def getNetworkInterfaceLinkStatus(networkInterface):
    utils.displayText(
        'red',
        'TODO : testing an IP alias with ethtool always report : \'Link detected: yes\'. It cannot be used here.',
        0)
    utils.terminateTest(1)

    command = ['/usr/bin/sudo', '/sbin/ethtool', networkInterface]
    commandStdout, commandStderr = utils.executeCommand(command)

    # get "Link detected:"
    myRe = re.search('Link detected: yes|no', commandStdout)
    linkDetected = re.sub('Link detected: ', '', myRe.group())

    if linkDetected == 'yes':
        networkInterfaceStatus = 'up'
    elif linkDetected == 'no':
        networkInterfaceStatus = 'down'
    else:
        utils.displayText(
            'red', '[KO] linkDetected (%s) is neither \'yes\', nor \'no\'' %
            linkDetected, 0)
        utils.terminateTest(1)

    return networkInterfaceStatus
Example #14
0
def executeNDT(options):
    dim = options['numberOfDimension']
    size = options['numberOfData']
    queryRange = options['queryRange']
    numberOfVP = options['numberOfVP']
    command = 'cd kd_tree ; ./kdtree -load_file data.txt -orig_dim %d -dim %d -rqfile query.txt -range %d -count %d'%(dim,numberOfVP,queryRange,size)
    result = utils.executeCommand(command)
    print result
Example #15
0
def executeNDT(options):
    dim = options['numberOfDimension']
    size = options['numberOfData']
    knn = options['knn']
    numberOfVP = options['numberOfVP']
    command = 'cd kd_tree_knn ; ./kdtree -load_file data.txt -orig_dim %d -dim %d -knnfile query.txt -knn %d -count %d' % (
        dim, numberOfVP, knn, size)
    result = utils.executeCommand(command)
    print result
Example #16
0
def setNatOutputRules():
	utils.displayText('cyan', 'setting nat output rules rules...', 0)

	commandsList = []

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'OUTPUT', '--jump', 'ACCEPT'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #17
0
def executeNDT(options):
    dim = options['numberOfDimension']
    size = options['numberOfData']
    queryRange = options['queryRange']
    numberOfVP = options['numberOfVP']
    command = 'cd kd_tree ; ./kdtree -load_file data.txt -orig_dim %d -dim %d -rqfile query.txt -range %f -count %d' % (
        dim, numberOfVP, queryRange, size)
    result = utils.executeCommand(command)
    print result
Example #18
0
def miniupnpcbinary(internallanport, externallanport):
	if internallanport != externallanport:
		log.addWarning(_('UPnPc binary cannot be used since the internal port (%s) is not identical to the external port (%s)') % (internallanport, externallanport))
	command = 'upnpc -r $ tcp'
	try:
		output = executeCommand(command, replacement=str(externallanport), returnoutput=True)
	except RuntimeError, e:
		log.addwarning('Failed to use UPnPc binary: %s' % (str(e),))
		return
Example #19
0
def setManglePreroutingRules():
	utils.displayText('cyan', 'setting mangle prerouting rules...', 0)

	commandsList = []

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'mangle', '--append', 'PREROUTING', '--jump', 'LOG', '--log-level 7', '--log-prefix', 'MANGLE-PREROUTING: '])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #20
0
def getNewAppliSvnWc(svnRevision):
	'''getNewAppliSvnWc
	'''

	# create globals.sourcesDirectory if it does not exist for a fresh checkout
	if os.path.exists(globals.sourcesDirectory):
		utils.displayText('cyan', 'deleting directory %s' % globals.sourcesDirectory, 0)
		shutil.rmtree(globals.sourcesDirectory)

	os.makedirs(globals.sourcesDirectory)

	commandsList = []
	commandsList.append(['svn', 'checkout', '--revision', svnRevision, svnUrl, globals.sourcesDirectory])

	#utils.displayText('cyan', 'updating %s to revision %s' % (globals.sourcesDirectory, svnRevision), 0)
	#commandsList.append(['svn', 'update', '--revision', svnRevision, globals.sourcesDirectory])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)

	utils.displayText('cyan', 'updating external references to revision %s' % svnRevision, 0)
	commandsList = []
	externalReferencesCommandList = ['svn', 'update', '--revision', svnRevision]
	directoriesList = []
	directoriesList.append(globals.sourcesDirectory + '/' + 'common')
	directoriesList.append(globals.sourcesDirectory + '/' + 'aggreg-sst/aggreg-sst')
	directoriesList.append(globals.sourcesDirectory + '/' + 'dmng-lib/dmng-lib/ibis-interface/src')
	directoriesList.append(globals.sourcesDirectory + '/' + 'dmng-lib/dmng-lib/ibis-interface/include')
	directoriesList.append(globals.sourcesDirectory + '/' + 'dmng-lib/dmng-lib/aacparser/src')
	directoriesList.append(globals.sourcesDirectory + '/' + 'dmng-lib/dmng-lib/aacparser/include')
	directoriesList.append(globals.sourcesDirectory + '/' + 'include/xcom.h')
	directoriesList.append(globals.sourcesDirectory + '/' + 'include/xconfig.h')
	directoriesList.append(globals.sourcesDirectory + '/' + 'gst-plugins/gst-plugins/xcom')
	directoriesList.append(globals.sourcesDirectory + '/' + 'gst-plugins/gst-plugins/mp4mux')
	directoriesList.append(globals.sourcesDirectory + '/' + 'gst-plugins/gst-plugins/awdsp')

	# append directories to externalReferencesCommandList
	for index in range(len(directoriesList)):
		externalReferencesCommandList.append(directoriesList[index])

	commandsList.append(externalReferencesCommandList)

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #21
0
def setDefaultPolicy():
	utils.displayText('cyan', 'setting default policy...', 0)

	commandsList = []
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--policy', 'INPUT', 'DROP'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--policy', 'OUTPUT', 'DROP'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--policy', 'FORWARD', 'DROP'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #22
0
def getNetworkInterfaceInformations(networkInterface):
    '''
	if globals.platformType == 'development':
		networkInterfacesList = testNetworkAliasesList
	if globals.platformType == 'validation':
		# alias 'eth1:100' is used, even if globals.platformType is 'validation'
		networkInterfacesList = testNetworkAliasesList + usbEthAdaptersInterfacesListForDmngEthAdapter + usbEthAdaptersInterfacesListForDmngUsbEthAdapter

	# check that networkInterface is in networkInterfacesList
	possibleInterfacesList = []
	for index in range(len(networkInterfacesList)):
		possibleInterfacesList.append(networkInterfacesList[index][0])
	if possibleInterfacesList.count(networkInterface) == 0:
		utils.displayText('red', '[KO] networkInterface (%s) not in possibleInterfacesList (%s)' % (networkInterface, possibleInterfacesList), 0)
		utils.terminateTest(1)
	'''
    # retrieve informations from /sbin/ifconfig
    command = ['/usr/bin/sudo', '/sbin/ifconfig', networkInterface]
    commandStdout, commandStderr = utils.executeCommand(command)

    # get hardware address (MAC)
    myRe = re.search(
        'HWaddr (?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})',
        commandStdout)
    macAddress = re.sub('HWaddr ', '', myRe.group())

    # get ipAddress
    try:
        myRe = re.search(
            'inet addr:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
            commandStdout)
        ipAddress = re.sub('inet addr:', '', myRe.group())
    except:
        ipAddress = 'not configured'

    # get networkMask
    try:
        myRe = re.search(
            'Mask:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
            commandStdout)
        networkMask = re.sub('Mask:', '', myRe.group())
    except:
        networkMask = 'not configured'

    # get broadcastAddress
    try:
        myRe = re.search(
            'Bcast:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
            commandStdout)
        broadcastAddress = re.sub('Bcast:', '', myRe.group())
    except:
        broadcastAddress = 'not configured'

    # TODO : get ipv6Address (if needed in the future)
    return macAddress, ipAddress, networkMask, broadcastAddress
Example #23
0
def executeNDT(options):
    dim = options['numberOfDimension']
    size = options['numberOfData']
    numberOfVP = options['numberOfVP']
    for i in xrange(7):
        queryRange = i + 1
        command = 'cd mvptree ; ./mvptree -load_file data.txt -dim %d -ref_method mvp -rqfile query.txt -range %d -count %d' % (
            dim, queryRange, size)
        print command
        result = utils.executeCommand(command)
        print result
Example #24
0
def displayRules():
	utils.displayText('cyan', 'current rules are the following...', 0)

	commandsList = []

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--line-numbers', '--list', '--numeric', '--verbose'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--line-numbers', '--list', '--numeric', '--verbose'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
		utils.displayText('normal', 'commandStdout :', 0)
		utils.displayText('normal', commandStdout, 0)
Example #25
0
def setNatPostroutingRules():
    utils.displayText('cyan', 'setting nat postrouting rules (source NAT)...',
                      0)

    commandsList = []

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'POSTROUTING', '--out-interface', globals.aviwestLanIfc, '--jump',
        'MASQUERADE'
    ])

    # allow any kind of traffic to go back from studio to globals.dmngLanIfc
    if globals.platformType == 'development':
        commandsList.append([
            '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
            'POSTROUTING', '--out-interface', globals.dmngLanIfc, '--jump',
            'MASQUERADE'
        ])
    if globals.platformType == 'validation':
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'POSTROUTING', '--out-interface', interfaceName,
                '--jump', 'MASQUERADE'
            ])

        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'POSTROUTING', '--out-interface', interfaceName,
                '--jump', 'MASQUERADE'
            ])

    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--source', '192.168.56.0/255.255.255.0', '--out-interface', globals.aviwestLanIfc, '--jump', 'MASQUERADE'])
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--source', '127.0.0.1/255.255.255.0', '--out-interface', globals.aviwestLanIfc, '--jump', 'MASQUERADE'])

    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.linuxVmStudioTrafficLanIfc, '--jump', 'MASQUERADE'])
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.linuxVmStudioSshLanIfc, '--jump', 'MASQUERADE'])
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'POSTROUTING', '--out-interface', globals.windowsVmStudioTrafficLanIfc, '--jump', 'MASQUERADE'])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #26
0
def inGameNotice(c):
    utils.show("Starting ingame auto notice...")
    while True:
        sql = utils.loadConfig(utils.dbFile)
        enabled = sql["ingame_notice.enabled"]
        if enabled.lower() == "false":
            utils.show(
                "Ingame notice enabled = %s!!! You might want to change ingame_notice.enabled=true to start ingame notice."
                % enabled)
            break

        messages = sql["ingame_notice.messages"]
        for m in messages.split(messageDelimeter):
            utils.show("Sending \"%s\" to ps_game..." % m)
            utils.executeCommand(c % ("/nt " + m))
            time.sleep(15)

        interval = int(sql["ingame_notice.interval"])
        utils.show("Waiting for %d second(s) to notice \"%s\"" %
                   (interval, messages))
        time.sleep(interval)
Example #27
0
def setNatOutputRules():
    utils.displayText('cyan', 'setting nat output rules rules...', 0)

    commandsList = []

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'OUTPUT', '--jump', 'ACCEPT'
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #28
0
def setManglePreroutingRules():
    utils.displayText('cyan', 'setting mangle prerouting rules...', 0)

    commandsList = []

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'mangle', '--append',
        'PREROUTING', '--jump', 'LOG', '--log-level 7', '--log-prefix',
        'MANGLE-PREROUTING: '
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #29
0
def setDefaultPolicy():
    utils.displayText('cyan', 'setting default policy...', 0)

    commandsList = []
    commandsList.append(
        ['/usr/bin/sudo', '/sbin/iptables', '--policy', 'INPUT', 'DROP'])
    commandsList.append(
        ['/usr/bin/sudo', '/sbin/iptables', '--policy', 'OUTPUT', 'DROP'])
    commandsList.append(
        ['/usr/bin/sudo', '/sbin/iptables', '--policy', 'FORWARD', 'DROP'])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #30
0
def executeNDT(options):
    dim = options['numberOfDimension']
    size = options['numberOfData']
    knn = options['knn']
    numberOfVP = options['numberOfVP']
    ans = 0.0
    d = []

#    rs = [0.212838/2, 0.249343/2, 0.245334/2, 0.281172/2, 0.301700/2, 0.296108/2]
#    rsb = [0.01070,0.00806,0.00560,0.00538,0.00448,0.00398]
    rs = [4.014654/20, 9.830230/20,14.944167/20,22.749706/20,30.443965/20,35.801397/20]
    rsb = [0.474555/10,1.407575/10,2.077860/10,3.521868/10,4.563981/10,5.814988/10]
    i = 0.01
    dy = 0.01
    if int(dim) == 20:
        i = rs[0] 
        dy = rsb[0]
    elif int(dim) == 40:
        i = rs[1]
        dy = rsb[1]
    elif int(dim) == 60:
        i = rs[2]
        dy = rsb[2]
    elif int(dim) == 80:
        i = rs[3]
        dy = rsb[3]
    elif int(dim) == 100:
        i = rs[4]
        dy = rsb[4]
    elif int(dim) == 120:
        i = rs[5]
        dy = rsb[5]
    while i <= 10.0:
        command = 'cd kd_tree ; ./kdtree -load_file data.txt -orig_dim %d -dim %d -rqfile query.txt -range %f -count %d'%(dim,numberOfVP,i,size)
        result = utils.executeCommand(command)
        print result
        hits = float(result.split(',')[7])
        dist = float(result.split(',')[11])
        ans += dist
        if hits >= 1.0 and len(d) == 0:
            d.append(ans)
        if hits >= 5.0 and len(d) == 1:
            d.append(ans)
        if hits >= 10.0 and len(d) == 2:
            d.append(ans)

        if hits >= knn:
            break
        i += dy
    print ans
    print d
Example #31
0
def setOutputRules():
	utils.displayText('cyan', 'setting output rules...', 0)

	commandsList = []

	# allow output traffic for established connections
	##commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--match', state, '--state', 'RELATED,ESTABLISHED', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--match', 'state', '!', '--state', 'INVALID', '--jump', 'ACCEPT'])

	# allow everything for now (TODO)
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--jump', 'ACCEPT'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #32
0
def buildStudioSstRx():
	'''buildStudioSstRx

	executable will be launched on studio-sst-rx (x86)
	'''

	if not os.path.isfile(globals.sourcesDirectory + '/' + '.svn/entries'):
		utils.displayText('red', 'globals.sourcesDirectory is not a svn working copy, call getNewAppliSvnWc first', 0)
		utils.terminateTest(1)

	if os.path.isdir(globals.sstRxBuildDirectory):
		shutil.rmtree(globals.sstRxBuildDirectory)

	os.makedirs(globals.sstRxBuildDirectory)

	# make init mandatory here (to generated the configure file)
	os.chdir(globals.sourcesDirectory)
	commandsList = []
	commandsList.append(['CROSS_COMPILE=arm-linux-', 'PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', 'init', '--directory', globals.sourcesDirectory])
	#commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', 'init', '--directory', globals.sourcesDirectory])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)

	os.chdir(globals.sstRxBuildDirectory)
	commandsList = []
	#commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', 'init', '--directory', globals.sourcesDirectory])
	commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), '%s/aggreg-sst/aggreg-sst/configure --enable-maintainer-mode --enable-sst-rx-only --prefix=$(pwd)/inst' % globals.sourcesDirectory])
	commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', '--directory', globals.sstRxBuildDirectory])
	commandsList.append(['test', '-x', '%s/Build/_install/bin/sst-tx' % globals.sourcesDirectory])
	commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', '--directory', '%s/aggreg-common' % globals.sstRxBuildDirectory])
	commandsList.append(['PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', '--directory', '%s/aggreg-studio' % globals.sstRxBuildDirectory])
	commandsList.append(['test -x %s' % globals.sstRxBinary])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
def getNetworkInterfaceInformations(networkInterface):

	'''
	if globals.platformType == 'development':
		networkInterfacesList = testNetworkAliasesList
	if globals.platformType == 'validation':
		# alias 'eth1:100' is used, even if globals.platformType is 'validation'
		networkInterfacesList = testNetworkAliasesList + usbEthAdaptersInterfacesListForDmngEthAdapter + usbEthAdaptersInterfacesListForDmngUsbEthAdapter

	# check that networkInterface is in networkInterfacesList
	possibleInterfacesList = []
	for index in range(len(networkInterfacesList)):
		possibleInterfacesList.append(networkInterfacesList[index][0])
	if possibleInterfacesList.count(networkInterface) == 0:
		utils.displayText('red', '[KO] networkInterface (%s) not in possibleInterfacesList (%s)' % (networkInterface, possibleInterfacesList), 0)
		utils.terminateTest(1)
	'''
	# retrieve informations from /sbin/ifconfig
	command = ['/usr/bin/sudo', '/sbin/ifconfig', networkInterface]
	commandStdout, commandStderr = utils.executeCommand(command)

	# get hardware address (MAC)
	myRe = re.search('HWaddr (?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})\:(?:[0-9a-fA-F]{2})', commandStdout)
	macAddress = re.sub('HWaddr ', '', myRe.group())

	# get ipAddress
	try:
		myRe = re.search('inet addr:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', commandStdout)
		ipAddress = re.sub('inet addr:', '', myRe.group())
	except:
		ipAddress = 'not configured'

	# get networkMask
	try:
		myRe = re.search('Mask:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', commandStdout)
		networkMask = re.sub('Mask:', '', myRe.group())
	except:
		networkMask = 'not configured'

	# get broadcastAddress
	try:
		myRe = re.search('Bcast:(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', commandStdout)
		broadcastAddress = re.sub('Bcast:', '', myRe.group())
	except:
		broadcastAddress = 'not configured'

	# TODO : get ipv6Address (if needed in the future)
	return macAddress, ipAddress, networkMask, broadcastAddress
Example #34
0
def setForwardRules():
	utils.displayText('cyan', 'setting forward rules...', 0)

	commandsList = []

	# allow forward traffic for established connections
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD', '--match', 'state', '--state', 'RELATED,ESTABLISHED', '--jump', 'ACCEPT'])

	# allow all forward traffic on all interfaces
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD', '--jump', 'ACCEPT'])

	# for testing ssh
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'FORWARD', '--in-interface', globals.aviwestLanIfc, '--destination', globals.linuxVmStudioIpAddressForSsh, '--protocol', 'tcp', '--destination-port', '22', '--jump', 'ACCEPT'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
def setState(networkInterface, requestedState):

	# check requestedState values
	if (requestedState != 'up') and (requestedState != 'down'):
		utils.displayText('red', '[KO] requestedState (%s) is neither \'up\', nor \'down\'' % requestedState, 0)
		utils.terminateTest(1)

	if requestedState == 'down':
		command = ['/usr/bin/sudo', '/sbin/ifdown', networkInterface]

	if requestedState == 'up':
		command = ['/usr/bin/sudo', '/sbin/ifup', networkInterface]

	commandStdout, commandStderr = utils.executeCommand(command)

	'''
Example #36
0
def buildStudioSstTx():
	'''buildStudioSstTx

	executable will be launched on dmng
	'''

	if not os.path.isfile(globals.sourcesDirectory + '/' + '.svn/entries'):
		utils.displayText('red', 'globals.sourcesDirectory is not a svn working copy, call getNewAppliSvnWc first', 0)
		utils.terminateTest(1)

	commandsList = []
	commandsList.append(['CROSS_COMPILE=arm-linux-', 'PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', 'init', '--directory', globals.sourcesDirectory])
	commandsList.append(['CROSS_COMPILE=arm-linux-', 'PATH=%s/ccache:%s:$PATH' % (armCompilerDirectory, armCompilerDirectory), 'make', '--directory', globals.sourcesDirectory])
	commandsList.append(['test', '-x', globals.sstTxBinary])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #37
0
    def start(self):
        '''run command on self.host_name in background (through ssh on port self.port)

		@param command : command to launch
		@return process ID
		'''

        commandsList = []
        commandsList.append([
            '/usr/bin/ssh', '-T', '-p',
            '%d' % self.port,
            '%s' % self.host_name,
            'test -x %s' % globals.gatewaySstRxBinary
        ])
        commandsList.append(['test', '-x', globals.sstRxBinary])

        for command in commandsList:
            commandStdout, commandStderr = utils.executeCommand(command)

        command = [
            '/usr/bin/ssh', '-T', '-p',
            '%d' % self.port,
            '%s' % self.host_name,
            '%s -v -T -L %s -l %s:%s' %
            (globals.gatewaySstRxBinary, globals.gatewaySstRxLogFile,
             globals.gatewaySstRxLogin, globals.gatewaySstRxPassword)
        ]
        commandString = ' '.join(command)
        if not globals.quiet:
            utils.displayText('normal',
                              'executing command : %s' % commandString, 0)

        self.ssh = subprocess.Popen(command,
                                    bufsize=-1,
                                    shell=False,
                                    stdin=None,
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.PIPE,
                                    env={'LANG': 'en_GB.utf-8'})

        if self.ssh == None:
            utils.displayText(
                'red',
                '[KO] the following command failed : %s' % ' '.join(command),
                0)
            utils.terminateTest(1)
Example #38
0
def setState(networkInterface, requestedState):

    # check requestedState values
    if (requestedState != 'up') and (requestedState != 'down'):
        utils.displayText(
            'red', '[KO] requestedState (%s) is neither \'up\', nor \'down\'' %
            requestedState, 0)
        utils.terminateTest(1)

    if requestedState == 'down':
        command = ['/usr/bin/sudo', '/sbin/ifdown', networkInterface]

    if requestedState == 'up':
        command = ['/usr/bin/sudo', '/sbin/ifup', networkInterface]

    commandStdout, commandStderr = utils.executeCommand(command)
    '''
Example #39
0
def displayRules():
    utils.displayText('cyan', 'current rules are the following...', 0)

    commandsList = []

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--line-numbers', '--list',
        '--numeric', '--verbose'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--line-numbers',
        '--list', '--numeric', '--verbose'
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
        utils.displayText('normal', 'commandStdout :', 0)
        utils.displayText('normal', commandStdout, 0)
Example #40
0
def initChains():
	utils.displayText('cyan', 'initializing chains...', 0)

	commandsList = []
	'''
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'INPUT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'OUTPUT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', 'FORWARD'])
	'''
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', '--table', 'nat'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--flush', '--table', 'mangle'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--delete-chain'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--delete-chain', '--table', 'nat'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--delete-chain', '--table', 'mangle'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
def getNetworkInterfaceLinkStatus(networkInterface):
	utils.displayText('red', 'TODO : testing an IP alias with ethtool always report : \'Link detected: yes\'. It cannot be used here.', 0)
	utils.terminateTest(1)

	command = ['/usr/bin/sudo', '/sbin/ethtool', networkInterface]
	commandStdout, commandStderr = utils.executeCommand(command)

	# get "Link detected:"
	myRe = re.search('Link detected: yes|no', commandStdout)
	linkDetected = re.sub('Link detected: ', '', myRe.group())

	if linkDetected == 'yes':
		networkInterfaceStatus = 'up'
	elif linkDetected == 'no':
		networkInterfaceStatus = 'down'
	else:
		utils.displayText('red', '[KO] linkDetected (%s) is neither \'yes\', nor \'no\'' % linkDetected, 0)
		utils.terminateTest(1)

	return networkInterfaceStatus
Example #42
0
def setOutputRules():
    utils.displayText('cyan', 'setting output rules...', 0)

    commandsList = []

    # allow output traffic for established connections
    ##commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--match', state, '--state', 'RELATED,ESTABLISHED', '--jump', 'ACCEPT'])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--match',
        'state', '!', '--state', 'INVALID', '--jump', 'ACCEPT'
    ])

    # allow everything for now (TODO)
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'OUTPUT', '--jump',
        'ACCEPT'
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #43
0
	def start(self):
		'''run command on self.host_name in background (through ssh on port self.port)

		@param command : command to launch
		@return process ID
		'''

		commandsList = []
		commandsList.append(['/usr/bin/ssh', '-T', '-p', '%d' % self.port, '%s' % self.host_name, 'test -x %s' % globals.gatewaySstRxBinary])
		commandsList.append(['test', '-x', globals.sstRxBinary])

		for command in commandsList:
			commandStdout, commandStderr = utils.executeCommand(command)

		command = ['/usr/bin/ssh', '-T', '-p', '%d' % self.port, '%s' % self.host_name, '%s -v -T -L %s -l %s:%s' % (globals.gatewaySstRxBinary, globals.gatewaySstRxLogFile, globals.gatewaySstRxLogin, globals.gatewaySstRxPassword)]
		commandString = ' '.join(command)
		if not globals.quiet:
			utils.displayText('normal', 'executing command : %s' % commandString, 0)

		self.ssh = subprocess.Popen(command, bufsize=-1, shell = False, stdin = None, stdout = subprocess.PIPE, stderr = subprocess.PIPE, env={'LANG':'en_GB.utf-8'})

		if self.ssh == None:
			utils.displayText('red', '[KO] the following command failed : %s' % ' '.join(command), 0)
			utils.terminateTest(1)
Example #44
0
def executeNDT():
    command = 'cd nd_tree ; ./NDT'
    result = utils.executeCommand(command)
    print result
Example #45
0
def setNatPreroutingRules(dmngObject):
    utils.displayText('cyan',
                      'setting nat prerouting rules (destination NAT)...', 0)

    commandsList = []

    # allow iperf TCP/UDP default port
    '''
	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--source-port', '46065', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--source-port', '46065', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
	'''

    # for Aviwest aggregation
    if globals.platformType == 'development':
        for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
            interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
            ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
            networkMask = networkInterfaces.testNetworkAliasesList[index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '7900:7940', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.linuxVmStudioIpAddressForSstTraffic
            ])
    if globals.platformType == 'validation':
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '7900:7940', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.linuxVmStudioIpAddressForSstTraffic
            ])
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '7900:7940', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.linuxVmStudioIpAddressForSstTraffic
            ])

    # for KenCast aggregation
    if globals.platformType == 'development':
        for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
            interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
            ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
            networkMask = networkInterfaces.testNetworkAliasesList[index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '8000:8050', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'tcp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '%d' % 4038, '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])

    if globals.platformType == 'validation':
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '8000:8050', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'tcp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '%d' % 4038, '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])

        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '8000:8050', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'tcp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '%d' % 4038, '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])

    # without any aggregation
    if globals.platformType == 'development':
        for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
            interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
            ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
            networkMask = networkInterfaces.testNetworkAliasesList[index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '1234:1270', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])
    if globals.platformType == 'validation':
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '1234:1270', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])
        for index in range(
                0,
                len(networkInterfaces.
                    usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
            interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][0]
            ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][2]
            networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[
                index][4]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--source',
                '%s/%s' % (ipNetwork, networkMask), '--destination-port',
                '1234:1270', '--jump', 'DNAT', '--to-destination',
                '%s' % globals.windowsVmStudioIpAddressForSstTraffic
            ])

    # for iperf testing (tcp port 7910)
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'PREROUTING', '--in-interface', globals.dmngLanIfc, '--protocol',
        'tcp', '--destination-port',
        '%d' % 7910, '--jump', 'DNAT', '--to-destination',
        '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)
    ])
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'tcp', '--destination-port',
                '%d' % 7910, '--jump', 'DNAT', '--to-destination',
                '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'tcp', '--destination-port',
                '%d' % 7910, '--jump', 'DNAT', '--to-destination',
                '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)
            ])

    # for iperf testing (udp port 7911)
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'PREROUTING', '--in-interface', globals.dmngLanIfc, '--protocol',
        'udp', '--destination-port',
        '%d' % 7911, '--jump', 'DNAT', '--to-destination',
        '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)
    ])
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--destination-port',
                '%d' % 7911, '--jump', 'DNAT', '--to-destination',
                '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat',
                '--append', 'PREROUTING', '--in-interface', interfaceName,
                '--protocol', 'udp', '--destination-port',
                '%d' % 7911, '--jump', 'DNAT', '--to-destination',
                '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)
            ])

    # for testing ssh
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '11111', '--jump', 'DNAT', '--to-destination', '%s:22' % globals.linuxVmStudioIpAddressForSsh])

    # for trafficGenerator/trafficAnalyser communication channel
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'PREROUTING', '--in-interface',
        networkInterfaces.testNetworkAliasesList[0][0], '--protocol', 'tcp',
        '--destination-port',
        '%d' % 9000, '--jump', 'DNAT', '--to-destination',
        '%s:%d' %
        (globals.windowsVmStudioIpAddressForTrafficGeneratorAndAnalyser, 9000)
    ])

    # for accessing dmng from Aviwest LAN
    if globals.platformType == 'development':
        commandsList.append([
            '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
            'PREROUTING', '--in-interface', globals.aviwestLanIfc,
            '--protocol', 'tcp', '--destination-port',
            '%d' % 5322, '--jump', 'DNAT', '--to-destination',
            '%s:%d' % (dmngObject.controlNetworkInterface[2], 5322)
        ])

    # for accessing web dmng from Aviwest LAN
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '%d' % 8888, '--jump', 'DNAT', '--to-destination', '%s:%d' % (dmngObject.controlNetworkInterface[2], 8888)])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append',
        'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol',
        'tcp', '--destination-port',
        '%d' % 8888, '--jump', 'DNAT', '--to-destination',
        '%s:%d' % ('192.168.10.10', 8888)
    ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
def executeMake():
    command = 'make -C kd_tree'
    utils.executeCommand(command)
    print 'make complete'
Example #47
0
def setNatPreroutingRules(dmngObject):
	utils.displayText('cyan', 'setting nat prerouting rules (destination NAT)...', 0)

	commandsList = []

	# allow iperf TCP/UDP default port
	'''
	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--source-port', '46065', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--source-port', '46065', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
	'''
	
	# for Aviwest aggregation
	if globals.platformType == 'development':
		for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
			interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
			ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
			networkMask = networkInterfaces.testNetworkAliasesList[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '7900:7940', '--jump', 'DNAT', '--to-destination', '%s' % globals.linuxVmStudioIpAddressForSstTraffic])
	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '7900:7940', '--jump', 'DNAT', '--to-destination', '%s' % globals.linuxVmStudioIpAddressForSstTraffic])
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '7900:7940', '--jump', 'DNAT', '--to-destination', '%s' % globals.linuxVmStudioIpAddressForSstTraffic])

	# for KenCast aggregation
	if globals.platformType == 'development':
		for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
			interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
			ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
			networkMask = networkInterfaces.testNetworkAliasesList[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '8000:8050', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'tcp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '%d' % 4038, '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])

	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '8000:8050', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'tcp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '%d' % 4038, '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])

		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '8000:8050', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'tcp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '%d' % 4038, '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])

	# without any aggregation
	if globals.platformType == 'development':
		for index in range(1, len(networkInterfaces.testNetworkAliasesList)):
			interfaceName = networkInterfaces.testNetworkAliasesList[index][0]
			ipNetwork = networkInterfaces.testNetworkAliasesList[index][2]
			networkMask = networkInterfaces.testNetworkAliasesList[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '1234:1270', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
	if globals.platformType == 'validation':
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '1234:1270', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])
		for index in range(0, len(networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter)):
			interfaceName = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][0]
			ipNetwork = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][2]
			networkMask = networkInterfaces.usbEthAdaptersInterfacesListForDmngUsbEthAdapter[index][4]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--source', '%s/%s' % (ipNetwork, networkMask), '--destination-port', '1234:1270', '--jump', 'DNAT', '--to-destination', '%s' % globals.windowsVmStudioIpAddressForSstTraffic])

	# for iperf testing (tcp port 7910)
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.dmngLanIfc, '--protocol', 'tcp', '--destination-port', '%d' % 7910, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)])
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'tcp', '--destination-port', '%d' % 7910, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'tcp', '--destination-port', '%d' % 7910, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7910)])

	# for iperf testing (udp port 7911)
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.dmngLanIfc, '--protocol', 'udp', '--destination-port', '%d' % 7911, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)])
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--destination-port', '%d' % 7911, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', interfaceName, '--protocol', 'udp', '--destination-port', '%d' % 7911, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.linuxVmStudioIpAddressForSstTraffic, 7911)])

	# for testing ssh
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '11111', '--jump', 'DNAT', '--to-destination', '%s:22' % globals.linuxVmStudioIpAddressForSsh])

	# for trafficGenerator/trafficAnalyser communication channel
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', networkInterfaces.testNetworkAliasesList[0][0], '--protocol', 'tcp', '--destination-port', '%d' % 9000, '--jump', 'DNAT', '--to-destination', '%s:%d' % (globals.windowsVmStudioIpAddressForTrafficGeneratorAndAnalyser, 9000)])

	# for accessing dmng from Aviwest LAN
	if globals.platformType == 'development':
		commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '%d' % 5322, '--jump', 'DNAT', '--to-destination', '%s:%d' % (dmngObject.controlNetworkInterface[2], 5322)])

	# for accessing web dmng from Aviwest LAN
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '%d' % 8888, '--jump', 'DNAT', '--to-destination', '%s:%d' % (dmngObject.controlNetworkInterface[2], 8888)])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--table', 'nat', '--append', 'PREROUTING', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '%d' % 8888, '--jump', 'DNAT', '--to-destination', '%s:%d' % ('192.168.10.10', 8888)])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #48
0
def setInputRules(dmngObject):

	# initializations
	loopbackIfc = 'lo'

	utils.displayText('cyan', 'setting input rules...', 0)

	commandsList = []

	# allow input traffic for established connections
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', loopbackIfc, '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', globals.aviwestLanIfc, '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', globals.dmngLanIfc, '--jump', 'ACCEPT'])
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', interfaceName, '--jump', 'ACCEPT'])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', interfaceName, '--jump', 'ACCEPT'])

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', globals.linuxVmStudioTrafficLanIfc, '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', globals.linuxVmStudioSshLanIfc, '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match', 'state', '--state', 'ESTABLISHED,RELATED', '--in-interface', globals.windowsVmStudioTrafficLanIfc, '--jump', 'ACCEPT'])

	# allow all input traffic on loopbackIfc
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', loopbackIfc, '--jump', 'ACCEPT'])

	# allow icmp
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.aviwestLanIfc, '--protocol', 'icmp', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.dmngLanIfc, '--protocol', 'icmp', '--jump', 'ACCEPT'])
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'icmp', '--jump', 'ACCEPT'])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'icmp', '--jump', 'ACCEPT'])

	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.linuxVmStudioTrafficLanIfc, '--protocol', 'icmp', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.linuxVmStudioSshLanIfc, '--protocol', 'icmp', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.windowsVmStudioTrafficLanIfc, '--protocol', 'icmp', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', dmngObject.controlNetworkInterface[0], '--protocol', 'icmp', '--jump', 'ACCEPT'])

	# allow icmp on ethAdaptersInterfacesList and usbEthAdaptersInterfacesList
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'icmp', '--jump', 'ACCEPT'])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'icmp', '--jump', 'ACCEPT'])

	# allow ssh
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '22', '--jump', 'ACCEPT'])
	#commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.dmngLanIfc, '--protocol', 'tcp', '--destination-port', '22', '--jump', 'ACCEPT'])

	# allow apache 2
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '80', '--jump', 'ACCEPT'])

	# allow synergy
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp', '--destination-port', '24800', '--jump', 'ACCEPT'])

	# allow iperf TCP/UDP default port
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.dmngLanIfc, '--protocol', 'tcp', '--destination-port', '5001', '--jump', 'ACCEPT'])
	commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.dmngLanIfc, '--protocol', 'udp', '--destination-port', '5001', '--jump', 'ACCEPT'])
	if globals.platformType == 'validation':
		for i in range(globals.maxNbOfEthAdapters):
			interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'tcp', '--destination-port', '5001', '--jump', 'ACCEPT'])
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'udp', '--destination-port', '5001', '--jump', 'ACCEPT'])
		for i in range(globals.maxNbOfUsbEthAdapters):
			interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'tcp', '--destination-port', '5001', '--jump', 'ACCEPT'])
			commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', interfaceName, '--protocol', 'udp', '--destination-port', '5001', '--jump', 'ACCEPT'])

	for command in commandsList:
		commandStdout, commandStderr = utils.executeCommand(command)
Example #49
0
def executeMake():
    command = 'make -C mvptree'
    utils.executeCommand(command)
    print 'make complete'
Example #50
0
#
from time import sleep

from logfacility import log
from utils import _, executeCommand

upnppossible = False
miniupnpc = None
miniupnpc_errors = []
try:
	import miniupnpc
	upnppossible = True
except ImportError, e:
	miniupnpc_errors.append(_("Failed to import miniupnpc module: %(error)s") % {'error':str(e)})
	try:
		executeCommand("upnpc", returnoutput=True)
		upnppossible = True
	except RuntimeError, e:
		miniupnpc_errors.append(_("Failed to run upnpc binary: %(error)s") % {'error':str(e)})

def fixportmapping(internallanport, externallanport = None):
	if not upnppossible:
		log.addwarning(_('Both MiniUPnPc python module and MiniUPnPc binary failed - automatic portmapping is not possible. Errors: %(errors)s') % {'error':"\n".join(miniupnpc_errors)})
		return
	if not externallanport:
		externallanport = internallanport
	if miniupnpc:
		return miniupnpcmodule(internallanport, externallanport)
	else:
		return miniupnpcbinary(internallanport, externallanport)
def miniupnpcbinary(internallanport, externallanport):
Example #51
0
        messages = sql["ingame_notice.messages"]
        for m in messages.split(messageDelimeter):
            utils.show("Sending \"%s\" to ps_game..." % m)
            utils.executeCommand(c % ("/nt " + m))
            time.sleep(15)

        interval = int(sql["ingame_notice.interval"])
        utils.show("Waiting for %d second(s) to notice \"%s\"" %
                   (interval, messages))
        time.sleep(interval)


if __name__ == "__main__":
    choice = sys.argv[1].lower()
    if choice == "ingamenotice":
        cmd = sqlCmd % psGameExec
        inGameNotice(cmd)
    elif choice == "nprotectoff":
        psGameExec = psGameExec % "/nprotectoff"
        cmd = sqlCmd % psGameExec
        utils.executeCommand(cmd)
    elif choice == "vchkoff":
        psLoginExec = psLoginExec % "/vchkoff"
        cmd = sqlCmd % psLoginExec
        utils.executeCommand(cmd)
    elif choice == "vchkon":
        psLoginExec = psLoginExec % "/vchkon"
        cmd = sqlCmd % psLoginExec
        utils.executeCommand(cmd)
Example #52
0
def setInputRules(dmngObject):

    # initializations
    loopbackIfc = 'lo'

    utils.displayText('cyan', 'setting input rules...', 0)

    commandsList = []

    # allow input traffic for established connections
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        loopbackIfc, '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        globals.aviwestLanIfc, '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        globals.dmngLanIfc, '--jump', 'ACCEPT'
    ])
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--match', 'state', '--state', 'ESTABLISHED,RELATED',
                '--in-interface', interfaceName, '--jump', 'ACCEPT'
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--match', 'state', '--state', 'ESTABLISHED,RELATED',
                '--in-interface', interfaceName, '--jump', 'ACCEPT'
            ])

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        globals.linuxVmStudioTrafficLanIfc, '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        globals.linuxVmStudioSshLanIfc, '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--match',
        'state', '--state', 'ESTABLISHED,RELATED', '--in-interface',
        globals.windowsVmStudioTrafficLanIfc, '--jump', 'ACCEPT'
    ])

    # allow all input traffic on loopbackIfc
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', loopbackIfc, '--jump', 'ACCEPT'
    ])

    # allow icmp
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.aviwestLanIfc, '--protocol', 'icmp',
        '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.dmngLanIfc, '--protocol', 'icmp', '--jump',
        'ACCEPT'
    ])
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'icmp',
                '--jump', 'ACCEPT'
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'icmp',
                '--jump', 'ACCEPT'
            ])

    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.linuxVmStudioTrafficLanIfc, '--protocol',
        'icmp', '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.linuxVmStudioSshLanIfc, '--protocol', 'icmp',
        '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.windowsVmStudioTrafficLanIfc, '--protocol',
        'icmp', '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', dmngObject.controlNetworkInterface[0], '--protocol',
        'icmp', '--jump', 'ACCEPT'
    ])

    # allow icmp on ethAdaptersInterfacesList and usbEthAdaptersInterfacesList
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'icmp',
                '--jump', 'ACCEPT'
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'icmp',
                '--jump', 'ACCEPT'
            ])

    # allow ssh
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp',
        '--destination-port', '22', '--jump', 'ACCEPT'
    ])
    #commandsList.append(['/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT', '--in-interface', globals.dmngLanIfc, '--protocol', 'tcp', '--destination-port', '22', '--jump', 'ACCEPT'])

    # allow apache 2
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp',
        '--destination-port', '80', '--jump', 'ACCEPT'
    ])

    # allow synergy
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.aviwestLanIfc, '--protocol', 'tcp',
        '--destination-port', '24800', '--jump', 'ACCEPT'
    ])

    # allow iperf TCP/UDP default port
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.dmngLanIfc, '--protocol', 'tcp',
        '--destination-port', '5001', '--jump', 'ACCEPT'
    ])
    commandsList.append([
        '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
        '--in-interface', globals.dmngLanIfc, '--protocol', 'udp',
        '--destination-port', '5001', '--jump', 'ACCEPT'
    ])
    if globals.platformType == 'validation':
        for i in range(globals.maxNbOfEthAdapters):
            interfaceName = dmngObject.ethAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'tcp',
                '--destination-port', '5001', '--jump', 'ACCEPT'
            ])
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'udp',
                '--destination-port', '5001', '--jump', 'ACCEPT'
            ])
        for i in range(globals.maxNbOfUsbEthAdapters):
            interfaceName = dmngObject.usbEthAdaptersInterfacesList[i][0]
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'tcp',
                '--destination-port', '5001', '--jump', 'ACCEPT'
            ])
            commandsList.append([
                '/usr/bin/sudo', '/sbin/iptables', '--append', 'INPUT',
                '--in-interface', interfaceName, '--protocol', 'udp',
                '--destination-port', '5001', '--jump', 'ACCEPT'
            ])

    for command in commandsList:
        commandStdout, commandStderr = utils.executeCommand(command)
Example #53
0
def getSvnRevision(directory):
	command = ['/usr/bin/svnversion', '--no-newline', directory]
	commandStdout, commandStderr = utils.executeCommand(command)

	return commandStdout