Socks代理服务介绍
Socks代理的工作原理可以通过一张时序图来直观展示:
从上图可以发现以下几点关键信息:
- 对于访问目标来说所有的交互都只和 Socks-server 有关,Client的身份被隐藏起来了。
- 当Client和访问目标间无法直接通讯时,Socks-server仍然可以正常工作,这同时又是一种翻墙操作。下面是一张描述该环境的示意图:
Socks代理服务的使用
在浏览器中使用Socks代理
这里以FireFox为例,其它浏览器均有类似功能,配置方法大家可以自行Google搜索。
在 菜单 -> 选项 -> 高级 -> 网络 -> 设置
中可以配置代理,如下图所示(代理服务器为个人的一台国外主机):
点击确定后,代理便生效了,下面通过访问 www.ip138.com 对比下代理前后的区别,如下所示:
代理前:
代理后:
全局代理的配置
ProxyCap是一个可以设置全局代理的工具,它可以将主机大部分对外请求以代理方式发出,当某个工具无法配置代理时,这是一个不错的选择,使用方法如下:
配置代理地址:
添加代理规则:
此时代理规则建立成功,如下图所示:
用浏览器访问 www.ip138.com 测试代理结果,如下图所示:
代理协议的转化
在实际使用中,ssh工具可以创建socks代理,然而总有一些工具只支持http代理,这时需要将socks代理转化为http代理方可。此处可以用 Privoxy 工具达到这一效果。
1.安装并运行Privoxy,通过 Options -> Edit Main Configuration 打开该工具的配置文件。随意哪里插入如下两行:
listen-address 127.0.0.1:8118
forward-socks5 / 127.0.0.1:1080 .
PS :forward 行尾有个点字符,缺失这个字符有时会导致代理失败。
这两行的意思是,将本地的 1080 端口监听的socks5协议转化为 8118端口的http代理协议。 保存退出该配置文件后,通过双次选择 Options -> Enable 选项,重启代理服务。
2.最后,在FireFox 浏览器中配置代理协议为http,代理端口为本地 8118 端口,如下图所示:
3.此时访问 www.ip138.com 网站测试代理结果,如下图所示:
写在最后
本文介绍了一些和socks代理使用相关的知识。文中提到的工具都有其它替代工具,感兴趣的可以自行挖掘新工具的用法。