def read(self, timeout): self.log.debug("Reading from the socket some data (timeout = " + str(timeout)) result = bitarray(endian='big') chars = [] try: if timeout > 0: ready = select.select([self.socket], [], [], timeout) if ready[0]: chars = self.socket.recv(4096) else: ready = select.select([self.socket], [], []) self.log.debug("ready = " + str(ready[0])) if ready[0]: chars = self.socket.recv(4096) except: self.log.debug("Impossible to read from the network socket") return None if (len(chars) == 0): return result result = TypeConvertor.stringB2bin(chars) self.log.debug("Received : {0}".format(TypeConvertor.bin2strhex(result))) return result
def configureMemory(self): """Presets the meta-variables of the channel with specified values""" self.varL4Protocol = DataVariable( AbstractChannel.varID_L4_PROTOCOL, AbstractChannel.varID_L4_PROTOCOL, True, True, WordType(True, 0, 5), TypeConvertor.stringB2bin(self.originalProtocol)) self.varBindIP = DataVariable( AbstractChannel.varID_BIND_IP, AbstractChannel.varID_BIND_IP, True, True, IPv4WordType(True, 7, 15), TypeConvertor.stringB2bin(self.originalBindIp)) self.varBindPort = DataVariable( AbstractChannel.varID_BIND_PORT, AbstractChannel.varID_BIND_PORT, True, True, DecimalWordType(True, 0, 5), TypeConvertor.stringB2bin(str(self.originalBindPort))) self.varTargetIP = DataVariable( AbstractChannel.varID_TARGET_IP, AbstractChannel.varID_TARGET_IP, True, True, IPv4WordType(True), TypeConvertor.stringB2bin(self.originalTargetIp)) self.varTargetPort = DataVariable( AbstractChannel.varID_TARGET_PORT, AbstractChannel.varID_TARGET_PORT, True, True, DecimalWordType(True, 0, 5), TypeConvertor.stringB2bin(str(self.originalTargetPort))) self.memory.forget(self.varL4Protocol) self.memory.memorize(self.varL4Protocol) self.memory.forget(self.varBindIP) self.memory.memorize(self.varBindIP) self.memory.forget(self.varBindPort) self.memory.memorize(self.varBindPort) self.memory.forget(self.varTargetIP) self.memory.memorize(self.varTargetIP) self.memory.forget(self.varTargetPort) self.memory.memorize(self.varTargetPort)
def str2bin(self, stri): return TypeConvertor.stringB2bin(stri)
def guessValue(self): """guessValue: Try to guess the pointed variable's value and give it to the current value. """ # The 'TEMP' value is explicit enough. self.currentValue = TypeConvertor.stringB2bin("TEMP")
def guessValue(self): """guessValue: Try to guess the pointed variable's value and give it to the current value. """ # The 'TEMP' value is explicit enough. self.setCurrentValue(TypeConvertor.stringB2bin("TEMP"))
def configureMemory(self): """Presets the meta-variables of the channel with specified values""" self.varL4Protocol = DataVariable(AbstractChannel.varID_L4_PROTOCOL, AbstractChannel.varID_L4_PROTOCOL, True, True, WordType(True, 0, 5), TypeConvertor.stringB2bin(self.originalProtocol)) self.varBindIP = DataVariable(AbstractChannel.varID_BIND_IP, AbstractChannel.varID_BIND_IP, True, True, IPv4WordType(True, 7, 15), TypeConvertor.stringB2bin(self.originalBindIp)) self.varBindPort = DataVariable(AbstractChannel.varID_BIND_PORT, AbstractChannel.varID_BIND_PORT, True, True, DecimalWordType(True, 0, 5), TypeConvertor.stringB2bin(str(self.originalBindPort))) self.varTargetIP = DataVariable(AbstractChannel.varID_TARGET_IP, AbstractChannel.varID_TARGET_IP, True, True, IPv4WordType(True), TypeConvertor.stringB2bin(self.originalTargetIp)) self.varTargetPort = DataVariable(AbstractChannel.varID_TARGET_PORT, AbstractChannel.varID_TARGET_PORT, True, True, DecimalWordType(True, 0, 5), TypeConvertor.stringB2bin(str(self.originalTargetPort))) self.memory.forget(self.varL4Protocol) self.memory.memorize(self.varL4Protocol) self.memory.forget(self.varBindIP) self.memory.memorize(self.varBindIP) self.memory.forget(self.varBindPort) self.memory.memorize(self.varBindPort) self.memory.forget(self.varTargetIP) self.memory.memorize(self.varTargetIP) self.memory.forget(self.varTargetPort) self.memory.memorize(self.varTargetPort)