carbonblack.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:pyefflux 作者: effluxsystems 项目源码 文件源码
def main():
    parser = cli_parser()
    opts, _ = parser.parse_args(sys.argv)

    if not opts.password:
        logger.error('Password required, see help (-h)')
        sys.exit(-1)

    if not opts.domain:
        logger.error('yourdomain.efflux.io required, see help (-h)')
        sys.exit(-1)

    if not opts.token:
        logger.error('API token required, see help (-h)')
        sys.exit(-1)

    auth = 'amqp://{}:{}@{}:{}'.format(
        opts.username,
        opts.password,
        opts.host,
        opts.port
    )

    if opts.mode == 'json':
        efflux = CBEventHandler(opts.domain, opts.token)
        events = [
            'watchlist.hit.process'
        ]

    elif opts.mode == 'protobuf':
        events = [
            'ingress.event.netconn',
            'ingress.event.procstart'
        ]
        if opts.output == 'api':
            efflux = CBProtobufHandler(opts.domain, opts.token, mode='post')
        elif opts.output == 'file':
            efflux = CBProtobufHandler(opts.domain, opts.token, mode='file')
            efflux.set_logfile(path='/Users/jtm/telemetry/cb.log')

    with(Connection(auth)) as connection:
        CarbonBlackConsumer(
            connection,
            efflux.handle_event,
            events=events).run()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号