14
14
15
15
def get_dns_info (short_domain ):
16
16
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
22
24
except dns .resolver .NoAnswer as error_noans :
23
25
print (Fore .RED + "No answer from domain about MX records. Reason: {}" .format (error_noans ))
24
26
return 'No information about MX records was gathered'
@@ -39,9 +41,10 @@ def get_ssl_certificate(short_domain, port=443):
39
41
commonName = str (cert ['issuer' ][2 ][0 ][1 ]) + ', version: ' + str (cert ['version' ])
40
42
serialNumber = cert ['serialNumber' ]
41
43
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 :
43
45
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
45
48
46
49
def query_internetdb (ip , report_file_extension ):
47
50
url = f"https://internetdb.shodan.io/{ ip } "
@@ -121,7 +124,7 @@ def extract_links_from_sitemap(sitemap_links_path, sitemap_path, report_file_typ
121
124
for link in links :
122
125
parsed_links .append (link )
123
126
return 'Links from "sitemap.txt" were successfully parsed' , parsed_links
124
- except ET .ParseError as e :
127
+ except ( ET .ParseError , FileNotFoundError ) as e :
125
128
print (Fore .RED + "Links from sitemap.txt were not parsed. Reason: {}" .format (e ))
126
129
return 'Links from "sitemap.txt" were not parsed'
127
130
0 commit comments