def stop(self): general_logger.info("Stopping the receiver threads on network. " +\ "This may take some time.") if self.__network_A != None: self.__network_A.kill() if self.__network_B != None: self.__network_B.kill()
def start(self): if self.__network_A != None: general_logger.info("Starting the receiver threads on network A") self.__network_A.start() if self.__network_B != None: general_logger.info("Starting the receiver threads on network B") self.__network_B.start()
def __init__(self, network): if NETWORK_A in network: self.__network_A = ReceiverThread(NETWORK_A) general_logger.info("Intialising receiver on network A") if NETWORK_B in network: self.__network_B = ReceiverThread(NETWORK_B) general_logger.info("Intialising receiver on network B")
def run(self): try: filter_text = get("RECEIVER_NETWORK_FILTER_" + self.__network) while True: #sniff(iface = self.__iface, prn = self.callback, # filter = filter_text, timeout = 10, # store = 0) if self.__stop: raise ThreadExit() except ThreadExit: general_logger.info("Thread on network " + self.__network + " stopped") except Exception, ex: general_logger.error("Exception occured at receiver for network " +\ self.__network + " : " + str(ex)) general_logger.info("The application will not listen for packets" +\ " coming on network : " + self.__network) traceback.print_exc(file=sys.stdout) general_logger.error("Crash", exc_info = 1)
from com.afdxsuite.config.parsers.icdparser import parseICD from com.afdxsuite.application.properties import get from com.afdxsuite.logger import general_logger from com.afdxsuite.config.parsers import ICD_INPUT_VL from com.afdxsuite.core.network.scapy import load_mib from com.afdxsuite.application import PARENT_PATH general_logger.info("Loading the ICD file") parseICD(get("ICD_FILE")) load_mib(PARENT_PATH + "conf/" + get("ES_MIB")) print "loaded mib file", PARENT_PATH + "conf/" + get("ES_MIB")
command = [command] self.command = command def notify(self, packet): try: if self.command != None: for cmd in self.command: if cmd in str(packet).encode('string_escape'): self.command = None self.status = True except Exception, ex: print ex command_poller = ResponsePoller() Receiver.register(command_poller, NETWORK_A) general_logger.info("Command poller initialized.......") def h2i(value): if type(value) == str: return int(value.encode('hex'), 16) def i2h(value): if type(value) == int: if value < 255: return "\\x%02X" % value else: val = "%04X" % value return "\\x%s\\x%s" % (val[0:2], val[2:4]) else: value = "%04s" % value
def close(self): general_logger.info("Terminating the application") self.receiver.stop()
def boot(self): general_logger.info("Initialising the application") self.receiver.start()
from com.afdxsuite.logger import initializeGeneralLogger from com.afdxsuite.logger import general_logger import os import time import ConfigParser PARENT_PATH = "./" LOGGER_PARENT_DIRECTORY = PARENT_PATH + "logs/" # load the configuration file config = ConfigParser.RawConfigParser() config.read(PARENT_PATH + "conf/Application.config") general_logger.info("Configuration file initialized") from com.afdxsuite.core.network.transmitter.TransmitHandler import TransmitHandler from com.afdxsuite.core.network.receiver.Receiver import Receiver from com.afdxsuite.core.network.receiver.ReceiverHandler import ReceiverHandler class Application(object): transmitter = None receiver = None def __init__(self, network): self.transmitter = TransmitHandler(network) self.receiver = ReceiverHandler(network) self.network = network def boot(self): general_logger.info("Initialising the application") self.receiver.start()