当网址指向 https:// 网站时,我想知道以下Python代码是否容易受到端到端的窃听攻击不支持SSL加密。
为什么我有疑问?因为Mechanize内部使用urllib2但HTTPS requests do not do any verification of the server’s certificate in urllib2
另外,我不知道如何验证我们是否实际使用了与Urllib2 / Mechanize的 https 或 http 连接。 AFAIK Mechanize表现为浏览器,因此当服务器不支持SSL或者执行不安全的 https 实施时,我不知道它是否会回退到 http 。 / p>
如何检查我是否未加密Tor电路?
代码:
import socks
import socket
def create_connection(address, timeout=None, source_address=None):
sock = socks.socksocket()
sock.connect(address)
return sock
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
# patch the socket module
socket.socket = socks.socksocket
socket.create_connection = create_connection
import urllib2
print "urllib2.urlopen(): ",urllib2.urlopen('https://icanhazip.com').read()
import mechanize
from mechanize import Browser
br = Browser()
print "Mechanize Browser.open(): ", br.open('https://icanhazip.com').read()
print "Mechanize Browser.open(): ", br.open('https://check.torproject.org/').read()