1
我正在写一个代理,可以捕获我的硒测试中提出的请求。在硒我用的是接受客户端请求如何创建可以解码SSL流量的代理?
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
###
ssl.wrap_socket(self.socket, ssl_version=ssl.PROTOCOL_TLSv1, keyfile = ??, certfile = ???, server_side=True)
###
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.bind((self.hostname, self.port))
self.socket.listen(self.backlog)
while True:
conn, addr = self.socket.accept()
logger.debug('Accepted connection %r at address %r' % (conn, addr))
self.handle(conn,addr)
而这正是该连接twith服务器
self.conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
###
ssl.wrap_socket(self.socket, ssl_version=ssl.PROTOCOL_TLSv1, keyfile = ??, certfile = ???, server_side=True)
###
self.conn.connect((self.addr[0], self.addr[1]))
我曾访问所作的部分原因
host = '10.203.9.156'
profile = webdriver.FirefoxProfile()
myProxy = "localhost:8899"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy': '' # set this value as desired
})
driver = webdriver.Firefox(proxy=proxy)
代理部分服务器。我的问题是什么应该是客户端请求接受部分的一部分,并在###之间将其转发给服务器,这将允许我以可读的格式捕获流量?证书不是很好。任何帮助将受到欢迎。
我用mitmproxy如你所说后,有趣的问题。它解释了如何安装(或成为CA权威机构)。但是我没有做到这一点,并且当我通过mitmproxy进行代理时,我能够看到所有SSL流量。这对我的系统有什么影响? – user1429322
@ user1429322:这可能意味着您已经设置Selenium/Firefox来忽略证书错误,如[在此描述](http://stackoverflow.com/questions/16879566/how-to-disable-firefoxs-untrusted-connection-warning - 使用 - 硒)。 –