【发布时间】:2019-01-11 04:45:18
【问题描述】:
我需要记录使TLS连接成功的域名的IP地址。这是一个简化的代码:
import socket, ssl
context = ssl.SSLContext()
context.verify_mode = ssl.CERT_NONE
context.check_hostname = False
mycipher = "DHE-RSA-AES128-SHA"
context.set_ciphers(mycipher)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
domain = "google.com"
mySocket = context.wrap_socket(sock, server_hostname = domain)
mySocket.connect((domain, 443))
mySocket.close()
我怎样才能获得IP,如果连接成功,我会获得IP。如果没有,我不想记录IP。
我发现一些函数可以在 TLS 会话中获取选定的 TLS 版本version() 和选定的密码套件cipher(),当连接成功时,它总是会检索一个值。但是我没有发现有关获取 IP 的信息。我知道它们可能是不同的东西(版本和密码与 TLS 会话有关,而 IP 与连接有关)但我不想记录不成功的 TLS 连接的 IP。只有当连接成功时,我才想记录IP(例如将其存储在变量中)。
【问题讨论】:
标签: sockets ssl networking network-programming tls1.2