def run(self): ##def main(argv): hostPort = '%s:%d' % (HOST_ADDR, TRAP_PORT) s = Trapd() s.awaitTraps(hostPort) twistedsnmp.updateReactor() reactor.run()
def fetch(self, targets): self.fetch_defer = defer.Deferred() self.targets = targets self.next_target() self._stopped = False twistedsnmp.updateReactor() return self.fetch_defer
def __init__( self, taskName, configId, scheduleIntervalSeconds=3600, taskConfig=None): BaseTask.__init__( self, taskName, configId, scheduleIntervalSeconds, taskConfig ) self.log = log # Needed for interface self.name = taskName self.configId = configId self.state = TaskStates.STATE_IDLE self.interval = scheduleIntervalSeconds self._daemon = getUtility(ICollector) self._eventService = queryUtility(IEventService) self._preferences = self._daemon self._statService = queryUtility(IStatisticsService) # For compatibility with captureReplay self.options = self._daemon.options self.oidMap = self._daemon.oidMap self.stats = Stats() # Command-line argument sanity checking self.processCaptureReplayOptions() self.session = None self._replayStarted = False if not self.options.replayFilePrefix: trapPort = self._preferences.options.trapport if not self.options.useFileDescriptor and trapPort < 1024: listen_ip = "ipv6" if ipv6_is_enabled() else "0.0.0.0" # Makes call to zensocket here # does an exec* so it never returns self._daemon.openPrivilegedPort( '--listen', '--proto=udp', '--port=%s:%d' % (listen_ip, trapPort) ) self.log("Unexpected return from openPrivilegedPort. Exiting.") sys.exit(1) # Start listening for SNMP traps self.log.info("Starting to listen on SNMP trap port %s", trapPort) self.session = netsnmp.Session() listening_protocol = "udp6" if ipv6_is_enabled() else "udp" if self._preferences.options.useFileDescriptor is not None: # open port 1162, but then dup fileno onto it listening_address = listening_protocol + ':1162' fileno = int(self._preferences.options.useFileDescriptor) else: listening_address = '%s:%d' % (listening_protocol, trapPort) fileno = -1 self._pre_parse_callback = _pre_parse_factory(self._pre_parse) debug = self.log.isEnabledFor(logging.DEBUG) self.session.awaitTraps( listening_address, fileno, self._pre_parse_callback, debug ) self.session.callback = self.receiveTrap twistedsnmp.updateReactor()
def main(): import getopt # from snmp_parse_args.c opts = 'Y:VhHm:M:O:I:P:D:dv:r:t:c:Z:e:E:n:u:l:x:X:a:A:p:T:-:3:s:S:L:' args, hosts = getopt.getopt(sys.argv[1:], opts) if not hosts: hosts = ['localhost'] d = defer.DeferredList( [Walker(peername=host, cmdLineArgs=args).start() for host in hosts], consumeErrors=True) d.addBoth(stop) twistedsnmp.updateReactor() reactor.run()
def __init__(self, taskName, configId, scheduleIntervalSeconds=3600, taskConfig=None): BaseTask.__init__(self, taskName, configId, scheduleIntervalSeconds, taskConfig) self.log = log # Needed for interface self.name = taskName self.configId = configId self.state = TaskStates.STATE_IDLE self.interval = scheduleIntervalSeconds self._daemon = zope.component.getUtility(ICollector) self._eventService = zope.component.queryUtility(IEventService) self._preferences = self._daemon self._statService = zope.component.queryUtility(IStatisticsService) # For compatibility with captureReplay self.options = self._daemon.options self.oidMap = self._daemon.oidMap self.stats = Stats() # Command-line argument sanity checking self.processCaptureReplayOptions() self.session=None self._replayStarted = False if not self.options.replayFilePrefix: trapPort = self._preferences.options.trapport if not self._preferences.options.useFileDescriptor and trapPort < 1024: listen_ip = "ipv6" if ipv6_is_enabled() else "0.0.0.0" # Makes call to zensocket here (does an exec* so it never returns) self._daemon.openPrivilegedPort('--listen', '--proto=udp', '--port=%s:%d' % (listen_ip, trapPort)) self.log("Unexpected return from openPrivilegedPort. Exiting.") sys.exit(1) # Start listening for SNMP traps self.log.info("Starting to listen on SNMP trap port %s", trapPort) self.session = netsnmp.Session() listening_protocol = "udp6" if ipv6_is_enabled() else "udp" if self._preferences.options.useFileDescriptor is not None: # open port 1162, but then dup fileno onto it listening_address = listening_protocol + ':1162' fileno = int(self._preferences.options.useFileDescriptor) else: listening_address = '%s:%d' % (listening_protocol, trapPort) fileno = -1 self._pre_parse_callback = _pre_parse_factory(self._pre_parse) debug = self.log.isEnabledFor(logging.DEBUG) self.session.awaitTraps(listening_address, fileno, self._pre_parse_callback, debug) self.session.callback = self.receiveTrap twistedsnmp.updateReactor()
def main(): name = 'localhost' community = 'public' if len(sys.argv) >= 2: name = sys.argv[1] oid = (1, 3, 6, 1, 2, 1, 25, 4, 2, 1, 2) t = Table(version=netsnmp.SNMP_VERSION_2c, peername=name, community=community, community_len=len(community)) t.open() t.getTable(oid) twistedsnmp.updateReactor() reactor.run()
def main(): name = 'localhost' community = 'public' if len(sys.argv) >= 2: name = sys.argv[1] oids = sys.argv[2:] g = Getter(version=netsnmp.SNMP_VERSION_1, peername=name, community=community, community_len=len(community)) oids = [tuple(map(int, oid.strip('.').split('.'))) for oid in oids] g.open() g.get(oids) twistedsnmp.updateReactor() reactor.run()