Codebase list massdns / ebdbe15 scripts / ct.py
ebdbe15

Tree @ebdbe15 (Download .tar.gz)

ct.py @ebdbe15raw · history · blame

#!/usr/bin/env python3

import sys
import urllib.request
import urllib.parse
import re


if len(sys.argv) == 1:
	print("Usage: " + sys.argv[0] + " [domain] ...")
	sys.exit(1)

for i, arg in enumerate(sys.argv, 1):
	domains = set()
	with urllib.request.urlopen('https://crt.sh/?q=' + urllib.parse.quote('%.' + arg)) as f:
		code = f.read().decode('utf-8')
		for cert, domain in re.findall('<tr>(?:\s|\S)*?href="\?id=([0-9]+?)"(?:\s|\S)*?<td>([*_a-zA-Z0-9.-]+?\.' + re.escape(arg) + ')</td>(?:\s|\S)*?</tr>', code, re.IGNORECASE):
			domain = domain.split('@')[-1]
			if not domain in domains:
				domains.add(domain)
				print(domain)