Kali中使用shadowsocks+proxychains实现任意应用代理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27766969/article/details/71593611

这个教程已经漫天都是了,但是我今天捣鼓了一整天才正常,记录下中间遇到的问题,多半天,下午去游了个泳.大笑

1.Shadowsocks的搭建(客户端)

以下所有命令均在root用户下执行!

  • 首先安装pip,执行命令:

apt-get install python-pip

pip install shadowsocks

如果出现找不到软件更换sources.list里的源.

  • 优化Shadowsocks性能
官方的策略,复制粘贴的,创建local.conf文件:

vi /etc/sysctl.d/local.conf (如果vim不会用先去查下基本的用法,必须要会的东西。) 按键盘i,输入以下内容(使用Shift+insert使用系统剪切板):

# max open files
fs.file-max = 51200  
# max read buffer
net.core.rmem_max = 67108864  
# max write buffer
net.core.wmem_max = 67108864  
# default read buffer
net.core.rmem_default = 65536  
# default write buffer
net.core.wmem_default = 65536  
# max processor input queue
net.core.netdev_max_backlog = 4096  
# max backlog
net.core.somaxconn = 4096

# resist SYN flood attacks
net.ipv4.tcp_syncookies = 1  
# reuse timewait sockets when safe
net.ipv4.tcp_tw_reuse = 1  
# turn off fast timewait sockets recycling
net.ipv4.tcp_tw_recycle = 0  
# short FIN timeout
net.ipv4.tcp_fin_timeout = 30  
# short keepalive time
net.ipv4.tcp_keepalive_time = 1200  
# outbound port range
net.ipv4.ip_local_port_range = 10000 65000  
# max SYN backlog
net.ipv4.tcp_max_syn_backlog = 4096  
# max timewait sockets held by system simultaneously
net.ipv4.tcp_max_tw_buckets = 5000  
# turn on TCP Fast Open on both client and server side
net.ipv4.tcp_fastopen = 3  
# TCP receive buffer
net.ipv4.tcp_rmem = 4096 87380 67108864  
# TCP write buffer
net.ipv4.tcp_wmem = 4096 65536 67108864  
# turn on path MTU discovery
net.ipv4.tcp_mtu_probing = 1

# for high-latency network
net.ipv4.tcp_congestion_control = hybla

# for low-latency network, use cubic instead
# net.ipv4.tcp_congestion_control = cubic

按EXC键退出编辑模式,英文状态模式下,输入:wq 保存退出
使配置生效:sysctl --system

  • 配置Shadowsocks配置文件
创建ssserver.json配置文件:vi /root/ss/ssserver.json
编辑配置,依然是按i进入编辑模式,按ESC退出编辑,按:wq退出并保存:

{
    "server": "my_server_ip", // 这里输入墙外服务器地址
    "server_port": 端口, // 墙外服务器的端口
    "local_address": "127.0.0.1",
    "local_port": 1080, // 为了安全,可修改为大于 1024 的数字
    "password": "mypassword", // 设置一个密码
    "timeout": 300,
    "method": "加密方式",//要和服务端的加密方式相同
    "fast_open": false
}
如果有自己的海外VPS并且已经搭建shadowsocks服务器,上面的server,server_port,password,method均按照服务器的配置填写,
如果自己没有自己的服务器(博主也是穷逼整不起,哈哈~),有免费的:ishadow该网站给了一些免费的服务器,不过不太稳定,用来测试还是可以的。

  • 启动shadowsocks客户端
执行:
sslocal -c /root/ss/sslocal.json -d start
  可能会遇到openssl更新废除了EVP_CIPHER_CTX_cleanup而报错:
AttributeError:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup

  •   用vi编辑相应的脚本:
vi/usr/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py
  将标注的地方改为reset即可(两处哦):



更改之后即可启动sslocal。

  • 编辑proxychians的配置文件
执行:vi /etc/proxychains.conf进入vi编辑器在最后添加 socks5 127.0.0.1 1080(此处的端口要和你ss客户端的local_port一致)

  • 通过proxychains启动应用即可
启动工具结果:


启动浏览器结果:



现在可以尽情的跨过栅栏了,哈哈~~~
还可通过privoxy来设置系统的代理,但是没有实现,到时可以从socks5转化成http协议。

     
阅读更多

没有更多推荐了,返回首页