Source code for api_searcher.search_engines.censys_engine.censys_connector

from censys.certificates import CensysCertificates
from censys.ipv4 import CensysIPv4
from censys.websites import CensysWebsites
from .wrappers.ip_wrapper import IPWrapper


[docs]class CensysConnectorError(Exception): """Zgłasza wyjątek gdy nie można pobrać danych z serwisu https://censys.io/."""
[docs] def __init__(self, message=None, errors=None): super().__init__(message) self.errors = errors
[docs]class CensysConnector: """Klasa konektora odopowiadająca za pobieranie danych z serwisu https://censys.io/."""
[docs] def __init__(self, credentials): self.__ipv4 = CensysIPv4(api_id=credentials.api_id, api_secret=credentials.secret) self.__certificate = CensysCertificates(api_id=credentials.api_id, api_secret=credentials.secret) self.__websites = CensysWebsites(api_id=credentials.api_id, api_secret=credentials.secret)
@property def ipv4(self): return self.__ipv4 @property def certificate(self): return self.__certificate @property def website(self): return self.__websites
[docs] def search_by_ip(self, ip): """ Metoda szukająca infromacji o hoście na podtawie jego adresu ip z serwisu https://censys.io/.. Np.:https://censys.io/ipv4/150.254.78.51 """ response = self.ipv4.view(ip) return IPWrapper(response)
[docs] def search_by_fingerprint(self, certificate_hash): return self.certificate.view(certificate_hash)
[docs] def search_by_website(self, domain): return self.website.view(domain)