Ubuntu安装Proxychains

本文由 简悦 SimpRead 转码, 原文地址 https://cloud.tencent.com/developer/article/1157554

Proxychains 是 Linux 上一款全局代理工具,通过 Hook Socket 函数实现透明代理,这和 Windows 上的 Proxifier 有点类似。 在 Ubuntu 上安装 Proxychains 的方法是:

apt-get install proxychains

安装的是 3.1 版本,配置文件的路径是:/etc/proxychains.conf,内容如下:

# proxychains.conf  VER 3.1
#
#        HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
#

# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
#dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
strict_chain
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :)

# Make sense only if random_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

# Proxy DNS requests - no leak for DNS data
proxy_dns 

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

# ProxyList format
#       type  host  port [user pass]
#       (values separated by ‘tab‘ or ‘blank‘)
#
#
#        Examples:
#
#               socks5  192.168.67.78   1080    lamer   secret
#               http    192.168.89.3    8080    justu   hidden
#               socks4  192.168.1.49    1080
#               http    192.168.39.93   8080
#
#
#       proxy types: http, socks4, socks5
#        ( auth types supported: "basic"-http  "user/pass"-socks )
#
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4         127.0.0.1 9050

Proxychains 支持 HTTP(HTTP-Connect)、SOCKS4 和 SOCKS5 三种类型的代理,需要注意的是:配置代理服务器只能使用 ip 地址,不能使用域名,否则会连不上。

Proxychains 支持 3 种模式:

  1. 动态模式 按照配置的代理顺序连接,不存活的代理服务器会被跳过
  2. 严格模式 按照配置的代理顺序连接,必须保证所有代理服务器都是存活的,否则会连接失败
  3. 随机模式 随机选择一台代理服务器连接,也可以使用代理链

如果不需要代理 DNS 的话,可以注释掉 proxy_dns 这行。

使用的时候在命令行前加上 proxychains 即可。

root@ubuntu-pc:~# proxychains telnet www.baidu.com 80 ProxyChains-3.1 (http://proxychains.sf.net) Trying 14.215.177.37… |R-chain|-<>-10.0.0.10:8080-<><>-14.215.177.37:80-<><>-OK Connected to www.a.shifen.com. Escape character is ‘^]’.

proxychains 命令其实是个脚本文件,内容如下:

#!/bin/sh
echo "ProxyChains-3.1 (http://proxychains.sf.net)"
if [ $# = 0 ] ; then
        echo "  usage:"
        echo "          proxychains  [args]"
        exit
fi
export LD_PRELOAD=libproxychains.so.3
exec "$@"

它的目的是设置 LD_PRELOAD 环境变量,以便创建的新进程会加载 libproxychains.so.3,这个 so 的作用是 Hook Socket 函数。因此,也可以在当前 shell 中执行:

export LD_PRELOAD=libproxychains.so.3

这样之后执行的命令都会使用代理访问。

不过这个版本有个问题,配置代理后所有的连接都会走代理,包括对回环地址的访问。这并不是我们所期望的,幸好有个版本提供了解决方案。

git clone https://github.com/rofl0r/proxychains cd proxychains ./configure make make install

安装后在配置文件中加入:

localnet 127.0.0.0/255.0.0.0

安装后的命令是 proxychains4,因此可以和旧版本命令并存。这样对于回环地址就可以绕过代理,使用直连了。

相对于 Proxifier 而言,这种方式还是弱了一点,毕竟有时候我们还是需要根据不同的情况使用不同的代理服务器。

原文地址:https://www.cnblogs.com/shengwang/p/10548868.html

时间: 2024-11-15 10:53:37

Ubuntu安装Proxychains的相关文章

Ubuntu 安装 JDK 7 / JDK8 的两种方式

ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用ppa/源方式安装 1.添加ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装oracle-java-installer jdk7 sudo apt-get install oracle-java7-inst

ubuntu安装pip3

当初入门Linux 使用的是centos,那个时候是6.0版本,当然现在主流在使用的也是6.0系列的,现在都到6.7了,那个时候centos还是独立的,现在被redhat收购,本来一个红蓝就差不多,个人感觉除了yum源不一样,其他没有区别,更搞笑的是,redhat用了centos 的开放yum 源,升级后居然变成centos 了.因为yum用的太顺手了,所以开始挺排斥ubuntu的,觉得apt-get很不爽,不过最近学python,感觉用centos各种不爽,怪不得都说开发最好用ubuntu.所

ubuntu 安装 git & smartgit

1. 安装 git # sudo apt-get update# sudo apt-get install git ? 2. 配置 # git config --global user.name "Your Name" # git config --global user.email "[email protected]" ? 3. 查看配置 # gitconfig--list ? 4. ?安装 SmartGit # cd ~/Downloads # wget?ht

ubuntu 安装 amp 环境 和 svn 命令

我是使用的集成安装 sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server 回车,会让输入密码: 安装过程中会让输入mysql root管理员的密码 如图: 安装完成之后,在浏览器地址栏中输入 localhost 测试下,能看到 It Works ! 表示环境安装成功! ------------------------------ Ubuntu 安装 svn 客户端 终端操作命令: sudo apt-get

ubuntu 安装ffmpeg VLC

ffmpeg安装 1.下载ffmpeg源码 ffmpeg.org 2.解压 tar -jvxf ffmpeg-2.5.2.tar.bz2 3.进入目录 ./configure 1)解决 ffmpeg yasm not found, use --disable-yasm for a crippled build ref:blog.csdn.net/ranxiedao/article/details/16359183 A 如果是Windows系统, 从网上下载一个 yasm.exe 并安装在ming

Ubuntu安装Latex

Ubuntu安装Latex  http://www.oschina.net/question/12_63776 Ubuntu下Latex中文环境配置  http://vistb.net/2012/05/config-latex-ch-env-in-ubuntu/ Ubuntu中配置LaTeX中文的方法http://blog.csdn.net/yangzhuoluo/article/details/5697205

Ubuntu 安装java环境搭建

1.下载JDK 8从http://www.oracle.com/technetwork/java/javasebusiness/downloads/选择下载JDK的最新版本 JDK 8. 2.解压文件$ sudo mkdir /usr/lib/jvm$ sudo mv jdk-8u11-linux-x64.tar.gz /usr/lib/jvm/ $ cd /usr/lib/jvm/$ sudo tar -zxvf jdk-8u11-linux-x64.tar.gz$ rm ./jdk-8u11

Ubuntu安装教程--Win7系统中含100M保留分区

1.检查 Win7 保留分区 1)进入 Win7 打开库文件夹,在左侧栏找到"计算机",瞄准点右键选择"管理"菜单: 2)在出来的管理面板左边找到"磁盘管理",点击它,在右边出来各个分区: 注意:如果里面有一个100M的系统保留分区,则进行下面(3-6)的操作,否则请跳至第2步复制启动文件: 3)瞄准100M"系统保留"分区点右键,选择"更改驱动器号和路径"菜单: 4)在出来的面板中,点左下角的"

ubuntu 安装 apk

adb devices查看你的所有设备 然后adb -s 设备序列号 install XXX.apk -s 用来指定设备 ubuntu 安装 apk,布布扣,bubuko.com