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