def run(self): 
		try: 
			fp = attempt_observation_for_service(self.sid, self.timeout_sec, self.sni)
			if (fp != None):
				res_list.append((self.sid,fp))
			else:
				# error already logged, but tally error count
				stats.failures += 1
				stats.failure_socket += 1
		except Exception, e:
			self.record_failure(e) 
			logging.error("Error scanning '{0}' - {1}".format(self.sid, e))
	def run(self):

		try:
			fp = attempt_observation_for_service(self.sid, self.timeout_sec, self.use_sni)
			if (fp != None):
				self.db.report_observation(self.sid, fp)
			# else error already logged
			# TODO: add internal blacklisting to remove sites that don't exist or stop working.
		except (ValueError, SSLScanTimeoutException, SSLAlertException) as e:
			self.db.report_metric('OnDemandServiceScanFailure', self.sid + " " + str(e))
			logging.error("Error scanning '{0}' - {1}".format(self.sid, e))
		except Exception as e:
			self.db.report_metric('OnDemandServiceScanFailure', self.sid + " " + str(e))
			logging.exception(e)
		finally:
			self.server_obj.scan_finished(self.sid)
	def run(self):
		"""
		Scan a remote service and retrieve the fingerprint for its TLS certificate.
		The fingerprint is appended to the global results list.
		"""
		try:
			fp = attempt_observation_for_service(self.sid, self.timeout_sec, self.sni)
			if (fp != None):
				results.add((self.sid, fp))
			else:
				# error already logged, but tally error count
				stats.failures += 1
				stats.failure_socket += 1
		except Exception, e:
			self._record_failure(e)
			logging.error("Error scanning '{0}' - {1}".format(self.sid, e))
			logging.exception(e)
示例#4
0
    def run(self):

        try:
            fp = attempt_observation_for_service(self.sid, self.timeout_sec,
                                                 self.use_sni)
            if (fp != None):
                self.db.report_observation(self.sid, fp)
            # else error already logged
            # TODO: add internal blacklisting to remove sites that don't exist or stop working.
        except (ValueError, SSLScanTimeoutException, SSLAlertException) as e:
            self.db.report_metric('OnDemandServiceScanFailure',
                                  self.sid + " " + str(e))
            print >> sys.stderr, "Error scanning '{0}' - {1}".format(
                self.sid, e)
        except Exception as e:
            self.db.report_metric('OnDemandServiceScanFailure',
                                  self.sid + " " + str(e))
            traceback.print_exc(file=sys.stdout)
        finally:
            self.server_obj.scan_finished(self.sid)
	def run(self): 

		# create a new db instance, since we're on a new thread
		# pass through any args we have so we'll connect to the same database in the same way
		try:
			db = ndb(self.args)
		except Exception as e:
			print >> sys.stderr, "Database error: '%s'. Did not run on-demand scan." % (str(e))
			self.server_obj.active_threads -= 1
			return

		try:
			fp = attempt_observation_for_service(self.sid, self.timeout_sec)
			notary_common.report_observation_with_db(db, self.sid, fp)
		except Exception as e:
			db.report_metric('OnDemandServiceScanFailure', self.sid + " " + str(e))
			traceback.print_exc(file=sys.stdout)
		finally:
			self.server_obj.active_threads -= 1
			db.close_session()
 def run(self):
     try:
         fp = attempt_observation_for_service(self.sid, self.timeout_sec)
         res_list.append((self.sid, fp))
     except Exception, e:
         self.record_failure(e)