proxy chains 试用

我的机子是通过一台windows机器上的CCProxy代理上网。可是在设置了系统代理以后,发现在终端下若要进行ftp或者ssh等操作,并不能使用代理(但是wget是可以的)。

期间试过一些方法,比如在.bash_profile里面设置http_proxy等,都没有达到使用代理的效果。最后发现了一个很好用的代理客户端软件,它同时支持http代理和socks4与socks5代理。可以从http://proxychains.sourceforge.net/轻松下载到proxychains-3.*.tar.gz文件,目前最新版本是3.1版,它可以支持几乎所有程序的代理,包括ssh,telnet,ftp,cvs等,只要在命令前多输一个proxychains命令。

安装和配置也很简单,安装我就不多说了,它的配置文件是按照以下顺序寻找的:

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

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

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

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

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

给出使用random_chain的配置实例:
random_chain
chain_len=1
tcp_read_time_out 15000
tcp_connect_time_out 10000

[ProxyList]
http        ***.***.***.*** 808
socks5   ***.***.***.*** 1080


使用也非常方便:
如通过代理ssh:
          # proxychains ssh abc.efg.com
通过代理telnet:
          # proxychains telnet abc.efg.com
通过代理ftp:
          # proxychains ftp
          > ftp cd ..

cvs同样也可以。

 

SOCKS代理:OCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS象一堵墙被夹在Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和TCP/IP的Socket端口有关的安全标准,一般防火墙系统通常是象网关(Gateway)一样是作用在OSI模型的第七层也就是应用层上,对TCP/IP的高级协议,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第四层也就是会话层上,象一个代理一样对客户端到服务器端或服务器和服务器之间的数据联系,提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。

SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。SOCKS代理又分为SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端域名解析等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCK4则不一定能做到,比如我们常用的聊天工具QQ在使用代理时就要求用SOCKS5代理,因为它需要使用UDP协议来传输数据。

 

你可能感兴趣的:(proxy)