セレンテストでのリクエストをキャプチャできるプロキシを作成していました。セレンでは、私はこのSSLトラフィックをデコードできるプロキシを作成するにはどうすればいいですか?
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)
クライアントが
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)
を要求し、これは、接続が、私はへのアクセス権を持っているサーバー
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]))
twith行われる部分である受け入れ、プロキシ一部を使用しましたサーバー。私の質問は、クライアントの要求受け入れ部分とそれをサーバーに転送するための部分でなければならないことです。###の間に、人間が読める形式でトラフィックを捕捉できますか?私は証明書ではあまりよくありません。どんな助けも歓迎されるでしょう。
あなたが示唆したように、私はmitmproxy使用後に興味深い質問。それはインストール(またはCA権限になる)について説明しました。しかし、私はそれをしなかったし、私はmitmproxy経由でプロキシを通過したときにすべてのSSLトラフィックを見ることができた。それは私のシステムについて何を言いますか? – user1429322
@ user1429322:これはおそらく、[here](http://stackoverflow.com/questions/16879566/how-to-disable-firefoxs-untrusted-connection-warning)のような証明書のエラーを無視するようにSelenium/Firefoxをセットアップしたことを意味します。 - セレンを使用する)。 –