예제 #1
0
 def collect_api(self, item: str, output_directory: str = None) -> None:
     """
     This method collects information from the host.io API
     :param item: The item to collect information for
     :param output_directory: The directory where the results are stored
     :return:
     """
     if not output_directory or not os.path.isdir(output_directory):
         raise NotADirectoryError(
             "output directory '{}' does not exist".format(
                 output_directory))
     print("[*] querying crt.sh")
     response = self._get_request_info(api_url="https://crt.sh/",
                                       params={
                                           "O": item,
                                           "exclude": "expired"
                                       })
     if response.status_code == 200:
         BaseUtils.add_binary_result(self._command, response.content)
         self.write_filesystem(query_results=response.content,
                               item=item,
                               output_directory=output_directory)
         self._parse_table(response.content)
     else:
         raise ApiCollectionFailed("failed with status code: {}".format(
             response.status_code))
예제 #2
0
 def collect_api(self, company: str, output_directory: str = None) -> None:
     """
     This method collects information from the host.io API
     :param company: The company to collect information for
     :param output_directory: The directory where the results are stored
     :return:
     """
     if not output_directory or not os.path.isdir(output_directory):
         raise NotADirectoryError("output directory '{}' does not exist".format(output_directory))
     print("[*] querying viewdns.info API")
     response = self._get_request_info(api_url="https://viewdns.info/reversewhois/",
                                       params={"q": company})
     if response.status_code == 200:
         BaseUtils.add_binary_result(self._command, response.content)
         self.write_filesystem(query_results=response.content,
                               item=company,
                               output_directory=output_directory)
     else:
         raise ApiCollectionFailed("failed with status code: {}".format(response.status_code))