有时候需要连接某机器,但是直接连被屏蔽了,虽然可以用代理来搞定一些应用程序,但是很多程序不支持代理,或者只支持某些类型的代理,这时候就可以试一试 proxychains 这个软件了。
比如:svn 只支持 HTTP 代理,不支持 socks4 代理,svn+ssh 方式也挺麻烦的。如果只有 socks 代理,就不能直接使用,可以用一个 socks 转 HTTP 代理软件的,但是需要在 ~/.subversion/servers 里配置。此时用 proxychains 这个东西就更方便。
proxychains 用起来就像 time, strace, ccache 等命令那样,直接作为其他命令的前缀来使用。程序在代理的环境下被加载运行,本身不需要支持代理。
使用 proxychains 当然要先有代理,如果你有一台能 ssh 上去的 unix 主机,就可以用它来做代理:
ssh -D 连到nen能访问目标网络的机器,就能开个 socks4 动态转发代理。具体命令:
$ ssh -Nf username@hostname -D 61000
解释:
-N 不执行命令
-f 跑到后台执行
-D 61000 监听 localhost:61000 端口,把一切请求转发给被连的服务器
只要这个 ssh 进程不被 kill,机器不被重启,这个代理就有效。
下面 proxychains的安装和使用
proxychains 的安装配置使用过程如下:
配置编译安装,i修改该配置文件 /etc/proxychains.conf,找到这一段:
[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 $@,开头有一行 logo 输出,可以去掉。
对于非 root,so 可以安装在用户目录下,proxychains 脚本也可以装在 ~/bin 下,修改一下内容,加载正确的 so 即可
proxychains 支持配置文件,文件名为 proxychains,搜索依次顺序为 ., ~, /etc,具体选项可以看其范例。
有时候需要连接某机器,但是直接连被屏蔽了,虽然可以用代理来搞定一些应用程序,但是很多程序不支持代理,或者只支持某些类型的代理,这时候就可以试一试 proxychains 这个软件了。比如:svn 只支持 HTTP 代理,不支持 socks4 代理,svn+ssh 方式也挺麻烦的,可以用一个 socks 转 HTTP 代理软件的,需要在 ~/.subversion/servers 利配置,用 proxychains 这个东西就更方便。proxychains 用起来就像 time, strace, ccache
1.
proxy
chai
ns
安装git clone https://github.com/rofl0r/
proxy
chai
ns
-ng.git
cd
proxy
chai
ns
-ng
./configure
make && make i
ns
tall
cp ./src/
proxy
chai
ns
.conf /etc/
proxy
chia
ns
.conf
cd .. && rm -rf
proxy
chai
ns
-ng2.
git下载编译
proxy
chai
ns
实现socks
代理
使用1. 使用git下载和编译yum -y i
ns
tall git gcc
cd /opt
git clone https://github.com/haad/
proxy
chai
ns
cd
proxy
chai
ns
./configure
sudo make i
ns
tall
sudo cp src/
proxy
chai
ns
.conf
原文地址:[url]http://www.codeproject.com/Tips/634228/How-to-Use-
Proxy
chai
ns
-Forwarding-Ports[/url]
[url]http://www.backtrack-linux.org/forums/showthread.php?t=1496[/url]
本文将介绍如何使用
proxy
chai
n和
ssh
来连接到一个使...
上一篇是要借助外部的工具来实现内网
代理
,并且有很大的局限性,如果远程主机没开
ssh
或者
做
了防火墙规则给过滤掉一般的IP,就不能再用了
这里我们讲一下通过反向
代理
和本地
proxy
chai
ns
来实现内网
代理
功能,对目标内网进行入侵渗透。不说废话,看图文……
蛋疼了,不发图了,直接写文字,
大的环境作一下介绍,目标主机是内网不可上网的NN台服务器,各种环境,各种操作系统都有,入口鸡是可以上网的服务...
1.使用
proxy
chai
n是区别于tor浏览器的方法,可以实现网页浏览匿名和清理痕迹,有助于nmap的使用以及前期
做
的信息收集,踩点之类的匿名,值得注意的是
proxy
chai
ns
无法与metasploit一起使用。
配置
proxy
chai
ns
nano /etc/
proxy
chai
ns
.config
HTTP只支持http流量的转发
SOCKS4不支持ipv6协议以及udp协议
Proxy
Chai
ns
版本4.3.0自述文件
Proxy
Chai
ns
是
UNIX
程序,它通过预加载的DLL将网络相关的libc函数挂接到动态链接的程序中,并通过SOCKS4a / 5或HTTP
代理
重定向连接。
该程序仅适用于动态链接的程序。 而且
代理
链和要调用的程序都必须使用相同的动态链接器(即相同的libc)
当前版本的已知限制
当进程派生时,在子级中进行D
NS
查找,然后在父级中使用ip,则将找不到对应的ip映射,这是因为派生无法写回父级映射表。 IRSSI会显示此行为,因此您必须将解析的IP地址传递给它。 (您可以使用
proxy
resolv
脚本
(需要“ dig”)来这样
做
)
这表示您目前无法将Tors Onion网址用作irssi。 为了解决这个问题,外部数据存储区(文件,管道等)必须管理d
ns
<→ip映射。 当然必须适当锁定。 shm_open,mkstemp是基于文件的
背景:通过Privoxy可以实现转http
代理
为socks5,能实现绝大多数shell里的
代理
转发,如wget curl等。但是对于
ssh
root@66.34.21.9登陆后,隐藏自己的ip却无能为力,本文即用
Proxy
Chai
ns
来解决这个问题。
Mac下可以直接输入命令:brew i
ns
tall
proxy
chai
ns
-ng进行安装,
其配置文件在/usr/local/Cellar...
http_
proxy
=http://
proxy
_ip:
proxy
_port
https_
proxy
=http://
proxy
_ip:
proxy
_port
ftp_
proxy
=http://
proxy
_ip:
proxy
_port
no_
proxy
=localhost,127.0.0.1
- 保存退出。
- 使用命令 `source /etc/profile` 生效。
2. 使用工具:
- 安装 `
proxy
chai
ns
` ,输入命令 `yum i
ns
tall
proxy
chai
ns
` 。
- 修改配置文件 `vi /etc/
proxy
chai
ns
.conf` ,将
代理
地址和端口填入。
- 使用命令 `
proxy
chai
ns
4 [命令]` 来使用
代理
。
如果需要永久设置
代理
,可以将第 1 步中的配置添加到 `/etc/bashrc` 或者其他配置文件中。
注意,以上方法只对当前终端有效。如果你需要对所有终端生效,请添加到 /etc/bashrc 或 /etc/environment 文件中。