1. 根据域名解析ip地址
import socket
domain = 'baidu.com'
getaddrinfo = socket.getaddrinfo(domain,'https')
print(getaddrinfo)
运行结果:
2. 解析ssl证书的DNS记录获取子域名
import ssl
import socket
domain = 'baidu.com'
try:
ctx = ssl.create_default_context()
sock = socket.socket()
sock.settimeout(10)
wrap_sock = ctx.wrap_socket(sock, server_hostname=domain)
wrap_sock.connect((domain, 443))
cert_dict = wrap_sock.getpeercert()
print(wrap_sock)
for k,v in cert_dict.items():
print('{}:{}'.format(k,v))
except Exception as e:
print(e)
运行结果: