· 6 years ago · Dec 13, 2019, 08:36 AM
1import urllib
2import ssl, socket
3import sys
4import os
5import subprocess
6
7def check_certificate(url):
8 try:
9 ctx = ssl.create_default_context()
10 try:
11 s = ctx.wrap_socket(socket.socket(), server_hostname=url)
12 s.connect((url, 443))
13 except:
14 s = ctx.wrap_socket(socket.socket(), server_hostname=url)
15 s.connect((url, 80))
16 cert = s.getpeercert()
17
18 subject = dict(x[0] for x in cert['subject'])
19 issued_to = subject['commonName']
20 issuer = dict(x[0] for x in cert['issuer'])
21 issued_by = issuer['commonName']
22 print "\tCertyfikat: \n\t\tWydany dla: ",issued_to,"\n\t\tWydany przez: ",issued_by
23 except ssl.SSLError as e:
24 print "\tBlad certyfikatu: \n\t\t",e
25
26def check_http_response(url):
27 try:
28 print "\n\tKod odpowiedzi od strony: \n\t\t",urllib.urlopen("https://"+url+"/").getcode()
29 except urllib.error.URLError as e:
30 print "\n\tKod odpowiedzi od strony: \n\t\t",urllib.urlopen("http://"+url+"/").getcode()
31 #print("\tKod odpowiedzi od strony :\n\t\t{}".format(e))
32
33def cmd_commands():
34 commands = [["ipconfig","/all"], ["nslookup", "-debug", "wp.pl"], ["nslookup", "-debug", "redtube.com"]]
35 for command in commands:
36 try:
37 result = subprocess.check_output(command, shell=True)
38 result = str(result).replace(r'\n', '\n')
39 result = str(result).replace(r'\r', '\r')
40 print result
41 except:
42 print "Nie udalo sie wykonac komendy ipconfig -all."
43
44def __main__():
45 urls = ['yandex.ru', 'ose.gov.pl','polska-zbrojna.pl', 'mojadres.ose.internal', 'mojadres6.ose.internal', 'plug.ose.gov.pl']
46 if len(sys.argv) > 1:
47 for url in sys.argv[1:]:
48 urls.append(url)
49 for url in urls:
50 print "\nURL: ",url
51 check_certificate(url)
52 check_http_response(url)
53 get_ip_config()
54
55
56if __name__=="__main__":
57 __main__()