def run(self): dummy_port = None if len(self.snmp_ports) == 0: self.logger.error("The ICD has no ports satisfying the sequence" \ " criteria. Hence sending from a dummy SNMP port") dummy_port = (Factory.GET_SNMP_DummyPort(),) self.snmp_ports = dummy_port self.sendRSET() for rxPort in self.snmp_ports: oid_1 = getMIBOID('afdxEquipmentStatus') oids_4kb = getMIBOIDBySize(220) oids_8kb = getMIBOIDBySize(452) self.logger.info("Sending an SNMP get request") self.sendSNMP(rxPort, [oid_1]) self.logger.info("Sending an SNMP get request of " \ "size ~4Ko") self.sendSNMP(rxPort, oids_4kb) self.logger.info("Sending an SNMP get request of " \ "size ~8Ko") self.sendSNMP(rxPort, oids_8kb) if dummy_port: Factory.REM_Port(dummy_port[0]) if get('SNMP_TRAPS_ENABLED').lower() == 'true': self.logger.info("Listening for traps. Duration : 10 seconds") time.sleep(10)
def sequence2(self): if len(self.sap_ports) == 0: self.logger.error("The ICD has no ports satisfying the sequence" \ " criteria") return self.captureForSequence(2) self.sendRSET() for port in self.sap_ports: oid = getMIBOID('afdxEquipmentStatus') self.logger.info("Sending SNMP request with afdxEquipmentStatus " \ "as oid") self.sendSNMP(port, [oid]) oids_4kb = getMIBOIDBySize(220) oids_8kb = getMIBOIDBySize(452) self.sendSNMP(port, oids_4kb, 1) self.logger.info("Sending an SNMP get-next request for oids worth "\ "~4KB size") self.sendSNMP(port, oids_8kb, 1) self.logger.info("Sending an SNMP get-next request for oids worth "\ "~8KB size")
def sequence4(self): if len(self.sap_ports) == 0: self.logger.error("The ICD has no ports satisfying the sequence" \ " criteria") return self.captureForSequence(4) self.sendRSET() start = time.time() while True: for port in self.sap_ports: oid_8kb = getMIBOIDBySize(452) self.logger.info("Sending SNMP whose size is nearly equal to "\ "8KB size") self.sendSNMP(port, oid_8kb, 1) if time.time() - start > 10: break
def sequence3(self): if len(self.sap_ports) == 0 or len(self.input_ports) == 0: self.logger.error("The ICD has no ports satisfying the sequence" \ " criteria") return self.captureForSequence(3) self.sendRSET() message = "Traffic" sap_ports = copy.deepcopy(self.sap_ports) while True: if len(sap_ports) == 0: break for _ in range(0, 10): port = self.input_ports[random.randint(0, len(self.input_ports) - 1)] message = buildShortMessage(port, message) self.send(message, port) if _%5 == 0: sap_port = sap_ports.pop() oid_4kb = getMIBOIDBySize(220) self.sendSNMP(sap_port, oid_4kb, 1)