def definitions(self, ip, port, service):

        fpath = [abspath("./src/platform/%s/fingerprints" % service)]

        match_fps = []
        fingerprints = list(pkgutil.iter_modules(fpath))
        for fingerprint in fingerprints:
            fp = fingerprint[0].find_module(fingerprint[1]).load_module(fingerprint[1])
            fp = fp.FPrint()

            if self.options.version: 
                # we're looking for a specific version
                if fp.version is not "Any" and self.options.version not in fp.version:
                    continue

            utility.Msg("Checking %s version %s %s..." % (fp.platform,
                                    fp.version, fp.title))

            try:
                if fp.check(ip, port):

                    # set fingerprint port to match fingerengine port if defined
                    if vars(self.options)['port']:
                        fp.port = self.options.port
                    match_fps.append(fp)
            except Exception, e:
                utility.Msg("Exception with fingerprint: %s" % e, LOG.DEBUG)
        
            if self.options.delay:
                sleep(int(self.options.delay))

        return match_fps
Load and fingerprint the remote system.
dataset/ETHPy150Open hatRiot/clusterd/src/core/fingerprint.py/FingerEngine.definitions