Skip to content

Commit 23b0c6e

Browse files
Added exception handlers from issues #44, #45
1 parent bcaf5f9 commit 23b0c6e

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

datagather_modules/networking_processor.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414

1515
def get_dns_info(short_domain):
1616
try:
17-
resolver = dns.resolver.Resolver()
18-
mx_records = str(resolver.resolve(short_domain, 'MX'))
19-
if len(mx_records) == 0:
20-
mx_records = ['MX records were not gathered']
21-
return mx_records
17+
mx_list = []
18+
mx_records = dns.resolver.resolve(short_domain, 'MX')
19+
for record in mx_records:
20+
mx_list.append(record.exchange)
21+
if not mx_list:
22+
mx_list.append('MX records were not gathered')
23+
return mx_list
2224
except dns.resolver.NoAnswer as error_noans:
2325
print(Fore.RED + "No answer from domain about MX records. Reason: {}".format(error_noans))
2426
return 'No information about MX records was gathered'
@@ -39,9 +41,10 @@ def get_ssl_certificate(short_domain, port=443):
3941
commonName = str(cert['issuer'][2][0][1]) + ', version: ' + str(cert['version'])
4042
serialNumber = cert['serialNumber']
4143
return issuer, subject, notBefore, notAfter, commonName, serialNumber
42-
except (ssl.CertificateError, ssl.SSLError, socket.gaierror) as e:
44+
except (ssl.CertificateError, ssl.SSLError, socket.gaierror, ConnectionRefusedError) as e:
4345
print(Fore.RED + "Error while gathering info about SSL certificate. Reason: {}".format(e))
44-
return "No information about SSL certificate was gathered"
46+
issuer = subject = notBefore = notAfter = commonName = serialNumber = ["No information about SSL certificate was gathered"]
47+
return issuer, subject, notBefore, notAfter, commonName, serialNumber
4548

4649
def query_internetdb(ip, report_file_extension):
4750
url = f"https://internetdb.shodan.io/{ip}"
@@ -121,7 +124,7 @@ def extract_links_from_sitemap(sitemap_links_path, sitemap_path, report_file_typ
121124
for link in links:
122125
parsed_links.append(link)
123126
return 'Links from "sitemap.txt" were successfully parsed', parsed_links
124-
except ET.ParseError as e:
127+
except (ET.ParseError, FileNotFoundError) as e:
125128
print(Fore.RED + "Links from sitemap.txt were not parsed. Reason: {}".format(e))
126129
return 'Links from "sitemap.txt" were not parsed'
127130

0 commit comments

Comments
 (0)