相关疑难解决方法(0)

在Python中打开SSL套接字连接

我正在尝试在Python中建立一个安全的套接字连接,而且我很难使用它的SSL位.我找到了一些如何与SSL建立连接的代码示例,但它们都涉及密钥文件.我正在尝试连接的服务器不需要接收任何密钥或证书.我的问题是我如何用SSL包装python套接字连接.我知道一个事实,我想使用的密码是ADH-AES256-SHA,协议是TLSv1.这就是我一直在尝试的:

import socket
import ssl

# SET VARIABLES
packet, reply = "<packet>SOME_DATA</packet>", ""
HOST, PORT = 'XX.XX.XX.XX', 4434

# CREATE SOCKET
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)

# WRAP SOCKET ???
ssl.wrap_socket(sock, ssl_version="TLSv1", ciphers="ADH-AES256-SHA")

# CONNECT AND PRINT REPLY
sock.connect((HOST, PORT))
sock.send(packet)
print sock.recv(1280)

# CLOSE SOCKET CONNECTION
sock.close()
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我没有收到任何错误,但我得到一个空白的响应.当尝试在命令行中调试此代码时,通过在python终端中键入并逐行粘贴代码,我得到的是我在运行时假设的状态代码sock.send(packet).我得到的整数响应是26.如果有人知道这意味着什么,或者无论如何可以提供帮助,我们将不胜感激.提前致谢!

python sockets ssl

32
推荐指数
3
解决办法
7万
查看次数

如何在通过python请求模块发送请求时选择特定的密码

用例:我想通过 python 请求模块找出主机名支持多少密码。

我找不到提供密码名称来请求模块挂钩的方法。任何人都可以建议提供指定密码的方法。

import ssl

from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager


class Ssl3HttpAdapter(HTTPAdapter):
    """"Transport adapter" that allows us to use SSLv3."""

    def init_poolmanager(self, connections, maxsize, block=False):
        self.poolmanager = PoolManager(
            num_pools=connections, maxsize=maxsize,
            block=block, ssl_version=ssl.PROTOCOL_SSLv3)
Run Code Online (Sandbox Code Playgroud)

python https pyopenssl python-3.x python-requests

7
推荐指数
1
解决办法
9294
查看次数

标签 统计

python ×2

https ×1

pyopenssl ×1

python-3.x ×1

python-requests ×1

sockets ×1

ssl ×1