首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python获取ssl/tls套接字连接中域的IP

如何使用python获取ssl/tls套接字连接中域的IP
EN

Stack Overflow用户
提问于 2018-08-03 09:58:35
回答 1查看 772关注 0票数 0

我需要记录成功的TLS连接的域名的IP地址。这是一个简化的代码:

代码语言:javascript
复制
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。

我发现一些函数可以在TLS会话中获取所选的TLS版本的version()和选定的加密套件cipher(),当连接成功时,该会话总是检索值。但我没发现拿到IP的事。我知道它们可能是不同的东西(版本和密码与TLS会话相关,IP与连接相关),但我不想记录不成功的TLS连接的IP。只有当连接成功时,我才想记录IP (例如,将它存储在变量中)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-03 15:49:28

IP地址是TCP/IP属性,而不是TLS属性。

因此,您应该查看socket模块提供的内容。

例如,您有:

socket.getpeername() 返回连接套接字的远程地址。 例如,这对于查找远程IPv4 4/V6套接字的端口号很有用。(返回地址的格式取决于地址家族--参见上面。)在某些系统中,不支持此功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51670100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档