示例#1
0
文件: scanning.py 项目: F3DS/f3ds
    def __init__(self, config, session, url=None, parentrequest=None,
                 digestmanager=None, scanlogmanager=None):
        self.logger = Logger("Scanner")
        self.config = config
        self.session = session
        self.handler = scanhandlers.get(config.scanning.handler)

        if not url and not parentrequest:
            raise Exception("url or parentrequest must be provided!")
        elif not url:
            self.url = parentrequest.url
        else:
            self.url = url

        self.fileid = None
        self.parentrequest = parentrequest
        self.digestmanager = digestmanager
        self.scanlogmanager = scanlogmanager
        try:
            self.timeout = float(self.config.scanning.timeout)
        except:
            self.timeout = 0.1
        self.headers = {}
        self.downloaded_filepath = ''
        self.downloaded_filesize = -1 # an invalid size and can safely be used for "unknown"
        self.objectage = None
        self.contenthash = ''
        self.scan = None
        self.closepeers = []
示例#2
0
文件: containers.py 项目: F3DS/f3ds
 def __init__(self, config, session, container_mixin):
     super(ScanResultContainerManager, self).__init__(config, session, container_mixin)
     self.scanhandler = scanhandlers.get(config.scanning.handler)
     self.added_property_name = 'contained'
     self.timeout = config.container_manager.download_timeout
     self.singlesd = config.container_manager.process_single_sd in ['True', 'true']
     if not self.loaded:
         # Discard default container from parent class; it had siginfo==None
         self.ourcontainer = None
         self._newcontainer(self._determineSiginfo())
示例#3
0
def main(args):

    try:
        handler = scanhandlers.get(args.scanner)
    except ImportError:
        print "no such scanhandler!"
        print "available scanhandlers:"
        theglob = os.path.join(os.path.dirname(__file__), "socialscan/scanhandlers/*.py")
        for filename in glob.glob(theglob):
            filename = os.path.basename(filename)
            filename = filename.replace(".py", "")
            if filename == "__init__":
                continue
            print "\t", filename
        return

    print "Scanning %s with scanhandler %s" % (args.file_to_scan, args.scanner)
    malicious, cursiginfo = handler.scan(args.file_to_scan)
    print malicious, cursiginfo