Skip to content

Instantly share code, notes, and snippets.

@lcurtis-datto
Created May 31, 2023 20:38
Show Gist options
  • Save lcurtis-datto/e594af565262a6462a415cb958a063df to your computer and use it in GitHub Desktop.
Save lcurtis-datto/e594af565262a6462a415cb958a063df to your computer and use it in GitHub Desktop.
import os
import gc
import psutil
import multiprocessing
from sslyze import Scanner, ServerScanRequest, ServerNetworkLocation
def print_memory_used(msg):
object_count = len(gc.get_objects())
process = psutil.Process(os.getpid())
memory_used = process.memory_info().rss
print(f"{msg}: object count: {object_count}, memory used: {memory_used / 1024**2} MB")
def sslyze_scan(hostname, port):
request = ServerScanRequest(ServerNetworkLocation(hostname=hostname, port=port))
scanner = Scanner()
scanner.queue_scans([request])
results = list(scanner.get_results())
def run_sslyze_scan(i):
print_memory_used(f"before run {i}")
sslyze_scan("mozilla.com", 443)
print_memory_used(f"after run {i}")
if __name__ == '__main__':
processes = []
for i in range(1, 5):
p = multiprocessing.Process(target=run_sslyze_scan, args=(i,))
processes.append(p)
p.start()
p.join()
for p in processes:
p.join()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment