跳至主要内容

基于SOCAT的安全转发

-- SOCAT安全转发代理 --
软件官网:http://www.dest-unreach.org/socat/

1、生成服务器和客户端证书
生成证书脚本如下:
socat_cert.sh
******************************************************************************
#!/bin/bash
if [ -z "$1"] ; then
        echo "usage: socat_cert.sh <server/client name>"
        exit 1
fi
FILENAME=$1
openssl genrsa -out $FILENAME.key 1024
openssl req -new -key $FILENAME.key -x509 -days 3653 -out $FILENAME.crt
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem
chmod 600 $FILENAME.key $FILENAME.pem
******************************************************************************
将生成的证书分别复制到服务器和客户机的$HOME/etc目录下。
注:
服务器端需要的文件为:server.pem,client.crt
客户机需要的文件为:server.crt,client.pem

2、启动服务器端,例如(转发至SOCKS5的代理示例):
nohup socat -d -d -d -d openssl-listen:4433,reuseaddr,fork,cert=$HOME/etc/server.pem,cafile=$HOME/etc/client.crt TCP4:127.0.0.1:2080 >socat.log 2>&1

3、启动客户端程序:
nohup socat -d -d -d -d TCP4-LISTEN:4433,reuseaddr,fork  openssl-connect:viewsonic.tcstar.tk:4433,cert=$HOME/etc/client.pem,cafile=$HOME/etc/server.crt >socat.log 2>&1

评论

  1. nohup 貌似对socat不太管用,还是用setsid比较好使。

    回复删除

发表评论

此博客中的热门博文

debian 禁用笔记本盒盖休眠功能

编辑 Login Manager 的配置文件( logind.conf )。 打开终端,运行下面的命令打开 logind.conf 文件。 sudo vi /etc/systemd/logind.conf 打开文件后修改下面这行: #HandleLidSwitch=suspend 改成这样: HandleLidSwitch=ignore 保存文件,重启 Login Manager 服务: sudo restart systemd-logind 工作完成!

linux 禁止控制台黑屏和休眠

通过GRUB的引导参数设置: consoleblank=0 控制台多长时间无操作后黑屏,默认值是600秒,设为0表示禁止黑屏。 no_console_suspend 永远也不要将控制台进入休眠状态。因为当控制台进入休眠之后,所有内核的消息就都看不见了(包括串口与VGA)。开启此参数有助于调试系统在休眠/唤醒中发生的故障。

obfsproxy 混淆代理

1、安装2.7以上版本python 2、pip install obfsproxy 如果顺利的话,自动安装完成。 如果失败可以在Pypi官网手动下载包,解压后运行:setup.py install 3、执行服务端命令 setsid obfsproxy --data-dir ~/.obfs/ scramblesuit --dest 127.0.0.1:8388 --password 密码 server 0.0.0.0:443 > ~/.obfs/log 2>&1 & 注:密码由32位的大写字母和数字组成 4、客户端运行 obfsproxy scramblesuit --dest X.X.X.X:443 --password 密码 client 127.0.0.1:8443 混淆代理完成。