def test5(): """ Prueba con ping normal """ setLogLevel("info") info("Configuracion Unidad experimental") """ 1 -> Definicion de la topologia """ t1 = TopologiaRyu() ue1 = UnidadExperimental() ue1.setTopo(t1) ue1.definirNodosClaves(A='h1', C='h2', V='h3') # Caso solo para trafico normal ue1.setController('ryu', 'simple_switch_13.py,ofctl_rest.py') info("Configuracion del experimento") """ 3. Confiracion del experimento """ exp1 = Experimento() exp1.configureParams(ue1) exp1.configurarTrafico('ataque') """ 4. Inicio del experimento """ exp1.startTest() exp1.pingAllTest( ) # **************** Parece que es necesario que se de un arranque al controlador # **************** para que aprenda las reglas antes del ataque. """ 5. Aplicacion de pruebas """ exp1.trafico.pingMeasure() exp1.trafico.pingMeasure(filename='ping_ataque_test.log') """ 6. Fin del experimento """ exp1.endTest() info("Removiendo la topologia\n") exp1.killTest() info("Removiendo el controlador\n") exp1.killController() # Si no se pone no se finaliza el controlador
def test7(): """ Prueba con ping normal """ setLogLevel("info") info("Configuracion Unidad experimental") """ 1 -> Definicion de la topologia """ t1 = TopologiaPOX() ue1 = UnidadExperimental() ue1.setTopo(t1) ue1.definirNodosClaves(A='h1', C='h2', V='h3') # Caso solo para trafico normal ue1.setController('pox') info("Configuracion del experimento") """ 3. Confiracion del experimento """ exp1 = Experimento() exp1.configureParams(ue1) exp1.configurarTrafico('ataque') """ 4. Inicio del experimento """ exp1.startTest() """ 5. Aplicacion de pruebas """ # exp1.trafico.iperfMeasure() # Si se lanza afecta la proxima medida. exp1.trafico.iperfMeasure(filename='iperf_ataque_pox_test.log') """ 6. Fin del experimento """ exp1.endTest() info("Removiendo la topologia\n") exp1.killTest() info("Removiendo el controlador\n") exp1.killController() # Si no se pone no se finaliza el controlador
def test4(): """ Prueba con ping normal """ setLogLevel("info") info("Configuracion Unidad experimental") """ 1 -> Definicion de la topologia """ t1 = TopologiaRyu() ue1 = UnidadExperimental() ue1.setTopo(t1) ue1.definirNodosClaves(C='h2', V='h3') # Caso solo para trafico normal ue1.setController('ryu', 'simple_switch_13.py,ofctl_rest.py') info("Configuracion del experimento") """ 3. Confiracion del experimento """ exp1 = Experimento() exp1.configureParams(ue1) exp1.configurarTrafico('normal') """ 4. Inicio del experimento """ exp1.startTest() """ 5. Aplicacion de pruebas """ exp1.trafico.iperfMeasure() exp1.trafico.iperfMeasure(filename='iperf_normal_test.log') """ 6. Fin del experimento """ exp1.endTest() info("Removiendo la topologia\n") exp1.killTest() info("Removiendo el controlador\n") exp1.killController() # Si no se pone no se finaliza el controlador
def experimentoPOXNormal(): # Unidad experimental pox_normal = UnidadExperimental() pox_normal.setTopo(topologias['topoTest']) pox_normal.setController('pox') pox_normal.definirNodosClaves(C='h2', V='h3') # Experimento exp_pox_normal = Experimento() exp_pox_normal.configureParams(pox_normal) exp_pox_normal.configurarTrafico('normal') return exp_pox_normal
def experimentoRyuAtaque(): # Unidad experimental ryu_ataque = UnidadExperimental() ryu_ataque.setTopo(topologias['topoTest']) ryu_ataque.setController('ryu') ryu_ataque.definirNodosClaves(A='h1', C='h2', V='h3') # Experimento exp_ryu_ataque = Experimento() exp_ryu_ataque.configureParams(ryu_ataque) exp_ryu_ataque.configurarTrafico('ataque') return exp_ryu_ataque
def experimentoRyuNormal(): # Unidad experimental ryu_normal = UnidadExperimental() ryu_normal.setTopo(topologias['topoTest']) ryu_normal.setController('ryu') ryu_normal.definirNodosClaves(C='h2', V='h3') # Experimento exp_ryu_normal = Experimento() exp_ryu_normal.configureParams(ryu_normal) exp_ryu_normal.configurarTrafico('normal') return exp_ryu_normal
def experimentoPOXAtaque(): # Unidad experimental pox_ataque = UnidadExperimental() pox_ataque.setTopo(topologias['topoTest']) pox_ataque.setController('pox') pox_ataque.definirNodosClaves(A='h1', C='h2', V='h3') # Experimento exp_pox_ataque = Experimento() exp_pox_ataque.configureParams(pox_ataque) exp_pox_ataque.configurarTrafico('ataque') return exp_pox_ataque
def test2(): setLogLevel("info") info("Configuracion Unidad experimental") """ 1 -> Definicion de la topologia """ t1 = TopologiaRyu() ue1 = UnidadExperimental() ue1.setTopo(t1) ue1.definirNodosClaves('h1', 'h2', 'h3') # Caso solo para trafico normal ue1.setController('ryu', 'simple_switch_13.py,ofctl_rest.py') """ 3. Confiracion del experimento """ exp1 = Experimento() exp1.configureParams(ue1) """ 4. Inicio del experimento """ exp1.startTest() """ 5. Aplicacion de pruebas """ exp1.pingAllTest() """ 6. Fin del experimento """ exp1.endTest() info("Removiendo la topologia\n") exp1.killTest() info("Removiendo el controlador\n") exp1.killController() # Si no se pone no se finaliza el controlador
def test1(): setLogLevel("debug") print("Configuracion Unidad experimental") t1 = TopologiaRyu() ue1 = UnidadExperimental() ue1.setTopo(t1) ue1.setController('ryu', 'simple_switch_13.py,ofctl_rest.py') print("Configuracion del experimento") exp1 = Experimento() exp1.configureParams(ue1) exp1.configurarTrafico() # Se deduce de la unidad experimental exp1.startTest() exp1.startCLI() exp1.endTest() print("Removiendo la topologia") exp1.killTest() print("Removiendo el controlador") exp1.killController() # Si no se pone no se finaliza el controlador
p1.kill() # kill del proceso del ataque self.attack_process.kill() self.timer.cancel() def launchAttack(self): info("Launch attack: %s ---> %s\n" % (str(self.atk.IP()), str(self.dst.IP()))) self.attack_process = self.atk.popen( ['hping3', '--flood', '--rand-source', self.dst.IP()]) # Atacante if self.attack_process != 0: self.timer_atk.cancel() ue1 = UnidadExperimental(topo=SingleSwitchTopo(k=3, bw=100), controller=RYU('c0')) ue1.definirNodosClaves('h1', 'h2', 'h3') ue2 = UnidadExperimental(topo=SingleSwitchTopo(k=3, bw=100), controller=POX('c0')) ue2.definirNodosClaves('h1', 'h2', 'h3') class TopologiaTest(Topo): def __init__(self, bw=100): # Initialize topology Topo.__init__(self) self.bw = bw h1 = self.addHost('h1', ip='10.0.0.1') # Cliente h2 = self.addHost('h2', ip='10.0.0.2') # Atacante h3 = self.addHost('h3', ip='10.0.0.3') # Victima
h1 = self.addHost('h1', ip='10.0.0.1') # Cliente h2 = self.addHost('h2', ip='10.0.0.2') # Atacante h3 = self.addHost('h3', ip='10.0.0.3') # Victima # Add switches info('*** Adding switches\n') s1 = self.addSwitch('s1', protocols='OpenFlow13') # Add links info('*** Creating links\n') self.addLink(h1, s1, bw=self.bw) self.addLink(h2, s1, bw=self.bw) self.addLink(h3, s1, bw=self.bw) ue_ryu = UnidadExperimental(topo=TopologiaTest(bw=100), controller=RYU('c0')) ue_ryu.definirNodosClaves('h1', 'h2', 'h3') ue_pox = UnidadExperimental(topo=TopologiaTest(bw=100), controller=POX('c0')) ue_pox.definirNodosClaves('h1', 'h2', 'h3') def monitoring_ping_normal(ue, nombreArchivo=None): # Parametros de la unidad experimental setLogLevel("info") info("Configurando unidad experimental\n") info("Configurando trafico normal\n") info("Configurando la red\n") net = Mininet(topo=ue.getTopo(), controller=ue.getController(), link=TCLink,