【Linux-服务】proxychains+socks5快速搭建代理

【Linux-服务】proxychains+socks5快速搭建代理

时间:2015-01-02 06:01:10      作者:vaster      标签: proxychains socks5      分类: Linux linux应用

代理服务器

Socks是个电路级网关,由David Koblas在1990年开发。此后,就一直作为Internet RFC(Request for Comments)中的开放标准。Socks在协议栈的TCP层上运行。Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。Socks5代理支持TCP和UDP协议,而且还支持各种身份验证机制、服务器端域名解析等,socks5通过配置可以支持socks4。我们平时使用的Internet Explorer、QQ等软件都支持socks代理设置。

  下载socks5-v1.0r11.tar.gz和socks5-v1.0r11.patch (这个补丁对此版本很重要)拷贝到/tmp目录下

#cd /tmp  
#tar -xvzf socks5-v1.0r11.tgz
#cd socks5-v1.0r11/include
#patch -p0 < /tmp/socks5-v1.0r11.patch
#cd /tmp/socks5-v1.0r11 //回到socks5-v1.0r11目录开始编译
#./configure --with-threads# make && make install
# make && make install

  拷贝配置文件,并进行配置

# cp src/ssocksd.conf /etc# cp src/ssocksd.auth /etc
# cp src/ssocksd.auth /etc

 配置/etc/ssocksd.conf 文件的以下选项

# ssocksd configuration file
# More info man 5 ssocksd.conf
# listening port
port = 1080 
# If is decomment authentification is on, need to 
# have more then credential in file 
# auth = /etc/ssocksd.auth
# Log file if is comment no log of connection
log = /var/log/ssocksd.log
# enable secure version socks5 with ssl
# to use this you need a certificate file 
# and a private key
# ssl = 1
# cert = /etc/ssocksd/server.crt
# key = /etc/ssocksd/server.pem
# Daemon mode if init script start the server 
# is automatically in daemon mode
daemon = 1
# You don't need this just for test#verbosity = 0
#verbosity = 0

 配置/etc/ssocksd.auth 文件的以下选项

# Password file for ssocksd
# Format username:password
# Actually in plain text, kill me!
# More info man 5 ssocksd.authadmin:abcde
admin:abcde

测试,执行

#/usr/local/bin/ssocksd

 若仅显示:XXXXX: Socks5 starting at Mon Jun 21 01:23:45 2002 in normal mode 则表示成功,

 如果显示:XXXXX:Bind failed for serverip:1080:address already in use 则换一个不常用的port试试。

 系统起动时自动运行,在/etc/rc.d/rc.local里加入下面这一行

/usr/local/bin/ssocksd

代理客户端proxychains

它同时支持http代理和socks4与socks5代理。可以从http://proxychains.sourceforge.net/轻松下载到proxychains-3.*.tar.gz文件,目前最新版本是3.1版,它可以支持几乎所有程序的代理,包括ssh,telnet,ftp,cvs等,只要在命令前多输一个proxychains命令。

l  安装

#tar –zxvf proxychains-3.0.tar.gz
#cd proxychains-3.0#./configure && make && make install
#./configure && make && make install

l  配置

它的配置文件是按照以下顺序寻找的:

1. ./proxychains.conf
2. $(HOME).,proxychains/proxychains.conf3. /etc/proxychains.conf
3. /etc/proxychains.conf

找到该文件后,就可以在里面添加代理服务器列表,可以选择三种代理方式:dynamic_chain, strict_chain,random_chain

第一种方式是动态的,它按照代理服务器在列表中出现的先后顺序(A,B,C,...)将这些代理服务器串成一条链,但是不要求链上每一台代理服务器都是在线的,至少有一台代理服务器在线即可;

第二种方式是严格的,它按照代理服务器在列表中出现的先后顺序(A,B,C,...)将这些代理服务器串成一条链,要求链上每一台代理服务器都是在线的;

第三种方式是随机的,链中的代理服务器的任何一台都可以成为所使用的代理服务器(链长有chain_len指定),这种方式很适合网络扫描操作(参数chain_len只对random_chain有效)。

l  配置random_chain的配置实例:

random_chain
chain_len=1
tcp_read_time_out 15000
tcp_connect_time_out 10000
[ProxyList]
http        ***.***.***.*** 808socks5      ***.***.***.*** 1080
socks5      ***.***.***.*** 1080

l  使用也非常方便:

如通过代理ssh:   # proxychains ssh abc.efg.com

通过代理telnet:  # proxychains telnet abc.efg.com

通过代理ftp:       # proxychains ftp

FAQ:

执行命令时,出现以下错误提示:ERROR: ld.so: object 'libproxychains.so' from LD_PRELOAD cannot be preloaded: ignored.

修复方案:

# cat /bin/proxychains
#!/bin/sh
echo "ProxyChains-3.1 (http://proxychains.sf.net)"
if [ $# = 0 ] ; then
        echo "  usage:"
        echo "          proxychains <prog> [args]"
        exit
fi
#将这里的so路径修改成so的绝对路径
export LD_PRELOAD=/lib/libproxychains.soexec "$@"
exec "$@"

时间:2015-01-02 06:01:10      作者:vaster      标签: proxychains socks5      分类: Linux linux应用
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.