proxychains

有时候需要连接某机器,但是直接连被屏蔽了,虽然可以用代理来搞定一些应用程序,但是很多程序不支持代理,或者只支持某些类型的代理,这时候就可以试一试 proxychains 这个软件了。

最近用各种脚本下载东西的时候发现有的站点需要当地IP才能下,比如…..nico, youtube等;所以就找了下能在终端用socks5代理的工具,最后找到了proxychains,配合shadowsocks,从此再无压力=w=

比如:svn 只支持 HTTP 代理,不支持 socks4 代理,svn+ssh 方式也挺麻烦的。如果只有 socks 代理,就不能直接使用,可以用一个 socks 转 HTTP 代理软件的,但是需要在 ~/.subversion/servers 里配置。此时用 proxychains 这个东西就更方便。

proxychains 用起来就像 time, strace, ccache 等命令那样,直接作为其他命令的前缀来使用。程序在代理的环境下被加载运行,本身不需要支持代理。

使用 proxychains 当然要先有代理,如果你有一台能 ssh 上去的 unix 主机,就可以用它来做代理:

ssh -D 连到nen能访问目标网络的机器,就能开个 socks4 动态转发代理。具体命令:

$ ssh -Nf [email protected] -D 61000
解释:
-N 不执行命令
-f 跑到后台执行
-D 61000 监听 localhost:61000 端口,把一切请求转发给被连的服务器

只要这个 ssh 进程不被 kill,机器不被重启,这个代理就有效。

下面 proxychains的安装和使用

proxychains 的安装配置使用过程如下:

配置编译安装,i修改该配置文件 /etc/proxychains.conf,找到这一段:

默认的socks4 127.0.0.1 9095是tor代理,而socks5 127.0.0.1 1080是shadowsocks的代理。

102 #       socks5  192.168.67.78   1080    lamer   secret103 #       http    192.168.89.3    8080    justu   hidden104 #       socks4  192.168.1.49    1080105 #       http    192.168.39.93   8080

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 61000

这个 61000 就是刚才 ssh -D 的那个端口参数 。

不要 DNS 代理,所以去掉了

# Proxy DNS requests - no leak for DNS data
# proxy_dns

安装配置好,输入

$ proxychains svn co https://.....
object ‘libproxychains.so‘ from LD_PRELOAD cannot be preloaded: ignored

有问题,仔细想才发现机器是 x86_64,svn 装的却是 32 位的,库又被编译成 64 位的,自然加载不了。

于是编译了一个32 位的放上去,好了。

然后设置一下 alias,就更省事了:
alias svn=‘proxychains svn‘

proxychains 原理很简单,用环境变量 LD_PRELOAD 来 hook 库函数,主要是 connect
函数。另外也 hook 了dns 相关的以下函数,用来做 dns 代理,我用不到也就不关心了。

proxychains 的可执行文件是个脚本,内容很简单,就是设置一下 LD_PRELOAD 再去 exec [email protected],开头有一行 logo 输出,可以去掉。

对于非 root,so 可以安装在用户目录下,proxychains 脚本也可以装在 ~/bin 下,修改一下内容,加载正确的 so 即可

proxychains 支持配置文件,文件名为 proxychains,搜索依次顺序为 ., ~, /etc,具体选项可以看其范例

时间: 2024-11-11 00:05:26

proxychains的相关文章

linux 使用proxychains连接代理服务器

1. 下载: git clone https://github.com/rofl0r/proxychains-ng.git 2. 编译安装三部曲: ./configure make make install make install-config 3. 配置 vim /usr/local/etc/proxychains.conf

用PROXYCHAINS实现SSH全局代理

NUX下可以实现SSH全局代理的软件有tsocks和proxychains两种,但是个人感觉proxychains要更加稳定简单. $ yum install proxychains # vim /etc/proxychains.conf 要选 dynamic_chain,而不是random_chain和strict_chain.即注释掉strict_chain和random_chain那两行. 然后在最后的[ProxyList]下面添加: socks5 127.0.0.1 7070 PS:70

抛弃proxychains,选择tsocks的理由

理由:能用,可靠. 大名鼎鼎的proxychains用得我头疼,原因就在于:不可靠!一会能代理,过会不能了,配置文件也复杂! 于是找到tsocks,安装方便,配置傻瓜,使用同proxychains 以下粘贴自:http://blog.csdn.net/nnaabbcc/article/details/8551217 安装: [plain] view plaincopy apt-get install tsocks 使用前设置conf文件 [plain] view plaincopy vi /et

sockets+proxychains代理,使内网服务器可以访问外网

Socks5+proxychains做正向代理 1.         应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2.         软件 Server端:   Client端:       3.SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全.SOCKS5 服务器通过将前端发来的请求转发给真正的目标服

Kali-linux设置ProxyChains

ProxyChains是Linux和其他Unices下的代理工具.它可以使任何程序通过代理上网,允许TCP和DNS通过代理隧道,支持HTTP.SOCKS4和SOCKS5类型的代理服务器,并且可配置多个代理.ProxyChains通过一个用户定义的代理列表强制连接指定的应用程序,直接断开接收方和发送方的连接.本节将介绍设置ProxyChains的方法. 设置ProxyChains的具体操作步骤如下所示. (1)打开ProxyChains配置文件.执行命令如下所示: [email protected

proxychains 一个好用的终端用代理拦截器

很多技术网站在国内不能很好的访问,需要借助一些工具. 但是,在终端里面,这些代理不一定起作用. 比如git curl wget就不会理睬mac系统的代理配置. proxychains就可以解决这个问题. 安装好proxychains以后,配置一个短名字 pc4 pc4 brew install luajit 就可以很快安装好luajit了. 至于怎么装,请自行Google,如果你用不了Google,那么上面说的都是废话.

Proxychains安装

没有管理员权限 1.建立文件夹proxychains,并进入下载 mkdir proxychains cd proxychains wget https://sourceforge.net/projects/proxychains-ng/files/proxychains-4.5.tar.bz2 2.解压缩 tar -jxvf proxychains-4.5.tar.bz2 3.进入解压缩后的目录进行安装 cd proxychains-4.5 ./configure --prefix=/home

ubuntu终端代理之proxychains

命令行代理 安装proxychains sudo apt install proxychains 配置proxychains sudo vim /etc/proxychains.conf 在proxychains.conf文件末尾修改你的socks5服务地址 [ProxyList] socks5 127.0.0.1 1080 使用(此方法只能代理TCP链接) # 在 命令之前加上 proxychains 即可使用 proxychains pip install <package_name> p

命令行代理神器 proxychains

因为某些原因,我们需要在命令行下载一些国外的资源,这个时候如果使用 wget,curl,或者 aria2c 的时候,往往又没有速度.这个时候我们需要使用代理来进行加速. 我本地搭的有 ss,但 ss 只支持 socks5 协议,而 wget,curl 之类使用 http_proxy 进行代理的软件往往无法起飞.我们可以利用一款名叫 proxychains-ng 的软件,chains 故名思义,可以支持代理链,这样我们可以在内部使用 proxychains 把 http_proxy 代理到 soc