Пример #1
0
    def scan(self, fd, scanners, type, mime, cookie, **args):
        if "MSN" in type and fd.urn.endswith("forward"):
            pyflaglog.log(pyflaglog.DEBUG, "Openning %s for MSN" % fd.inode_id)
            dbfs = FileSystem.DBFS(fd.case)
            self.forward_fd = fd
            self.reverse_fd = dbfs.open(urn="%s/reverse" %
                                        os.path.dirname(fd.urn))

            ## Make back references to each other
            self.forward_fd.reverse = self.reverse_fd
            self.reverse_fd.reverse = self.forward_fd

            ## Install defaults
            self.forward_fd.client_id = self.reverse_fd.client_id = ''
            self.forward_fd.dest_id = self.reverse_fd.dest_id = ''

            self.session_id = -1

            for fd in NetworkScanner.generate_streams_in_time_order(
                    self.forward_fd, self.reverse_fd):
                try:
                    line = fd.readline()
                    items = line.split()
                    command = items[0]
                except IndexError:
                    continue

                ## Try to process the command
                try:
                    handler = getattr(self, command)
                except:
                    #print "Command %s not handled" % command
                    continue

                handler(items, fd, scanners)

            CacheManager.update_table_from_urn(fd.case, self.forward_fd.urn)
            CacheManager.update_table_from_urn(fd.case, self.reverse_fd.urn)
Пример #2
0
    def scan(self, fd, scanners, type, mime, cookie, **args):
        if "MSN" in type and fd.urn.endswith("forward"):
            pyflaglog.log(pyflaglog.DEBUG,"Openning %s for MSN" % fd.inode_id)
            dbfs = FileSystem.DBFS(fd.case)
            self.forward_fd = fd
            self.reverse_fd = dbfs.open(urn = "%s/reverse" % os.path.dirname(fd.urn))

            ## Make back references to each other
            self.forward_fd.reverse = self.reverse_fd
            self.reverse_fd.reverse = self.forward_fd

            ## Install defaults
            self.forward_fd.client_id =  self.reverse_fd.client_id = ''
            self.forward_fd.dest_id = self.reverse_fd.dest_id = ''
            
            self.session_id = -1

            for fd in NetworkScanner.generate_streams_in_time_order(
                self.forward_fd, self.reverse_fd):
                try:
                    line = fd.readline()
                    items = line.split()
                    command = items[0]
                except IndexError: continue

                ## Try to process the command
                try:
                    handler = getattr(self, command)
                except:
                    #print "Command %s not handled" % command
                    continue

                handler(items, fd, scanners)

            CacheManager.update_table_from_urn(fd.case, self.forward_fd.urn)
            CacheManager.update_table_from_urn(fd.case, self.reverse_fd.urn)