参考文章:
https://security.stackexchange.com/questions/108676/need-to-access-old-forgotten-router-that-only-supports-sslv3/108850#108850
https://stackoverflow.com/questions/60178076/socat-openssl-listen-ensuring-tlsv1-3-is-in-use
http://www.dest-unreach.org/socat/doc/socat.html#OPTION_OPENSSL_VERIFY
手动编译socat
apt install -y openssl libssl-dev
wget http://www.dest-unreach.org/socat/download/socat-1.8.0.3.tar.gz
tar zxf socat-1.8.0.3.tar.gz && cd socat-1.8.0.3.tar.gz
./configure
make
代理命令:
./socat TCP-LISTEN:8078,bind=127.0.0.1,reuseaddr,fork OPENSSL:216.224.0.61:443,cipher=AES128-SHA,openssl-min-proto-version=TLS1.0,verify=0,snihost=example.yourserversni.com
命令解释: 监听本地127.0.0.1:8078
转发到216.224.0.61:443
并指定最低TLS版本为TLS1.0
,跳过证书验证,将SNI设置为example.yourserversni.com
更多socat参数详解参考官方文档: http://www.dest-unreach.org/socat/doc/socat.html#OPTION_OPENSSL_VERIFY
Q.E.D.