Begin Main...
(logger=None)
| 305 | |
| 306 | |
| 307 | def main(logger=None): |
| 308 | """ |
| 309 | Begin Main... |
| 310 | """ |
| 311 | global global_exit_flag |
| 312 | global global_zgrab_path |
| 313 | |
| 314 | if logger is None: |
| 315 | logger = LoggingUtil.create_log(__name__) |
| 316 | |
| 317 | parser = argparse.ArgumentParser( |
| 318 | description="Launch zgrab against domains using port 80 or 443." |
| 319 | ) |
| 320 | parser.add_argument( |
| 321 | "-p", choices=["443", "80"], metavar="port", help="The web port: 80 or 443" |
| 322 | ) |
| 323 | parser.add_argument( |
| 324 | "-t", default=5, type=int, metavar="threadCount", help="The number of threads" |
| 325 | ) |
| 326 | parser.add_argument( |
| 327 | "--zgrab_path", |
| 328 | default=global_zgrab_path, |
| 329 | metavar="zgrabVersion", |
| 330 | help="The version of ZGrab to use", |
| 331 | ) |
| 332 | args = parser.parse_args() |
| 333 | |
| 334 | if args.p == None: |
| 335 | logger.error("A port value (80 or 443) must be provided.") |
| 336 | exit(1) |
| 337 | |
| 338 | if is_running(os.path.basename(__file__)): |
| 339 | """ |
| 340 | Check to see if a previous attempt to parse is still running... |
| 341 | """ |
| 342 | now = datetime.now() |
| 343 | logger.warning(str(now) + ": I am already running! Goodbye!") |
| 344 | exit(0) |
| 345 | |
| 346 | now = datetime.now() |
| 347 | print("Starting: " + str(now)) |
| 348 | logger.info("Starting...") |
| 349 | |
| 350 | rm_connector = RemoteMongoConnector.RemoteMongoConnector() |
| 351 | all_dns_collection = rm_connector.get_all_dns_connection() |
| 352 | jobs_manager = JobsManager.JobsManager(rm_connector, "zgrab_http_domain-" + args.p) |
| 353 | jobs_manager.record_job_start() |
| 354 | |
| 355 | if args.p == "443": |
| 356 | zgrab_collection = rm_connector.get_zgrab_443_data_connection() |
| 357 | run_command = run_port_443_command |
| 358 | else: |
| 359 | zgrab_collection = rm_connector.get_zgrab_80_data_connection() |
| 360 | run_command = run_port_80_command |
| 361 | |
| 362 | check_save_location("./json_p" + args.p) |
| 363 | |
| 364 | global_zgrab_path = args.zgrab_path |
no test coverage detected