proxychains
ProxyChains是本人目前為止用到的最方便的代理工具。
inux下代理一般是通過http_proxy和https_proxy這兩個環境變量,但是很多軟件并不使用這兩個變量,導致流量無法走代理。在不使用vpn的前提下,linux并沒有轉發所有流量的真全局代理。但是可以用proxychains為程序指定走代理,支持http/https/socks4/socks5
proxychains-ng是增強版,這里不做介紹
安裝proxychains
打開終端輸入:
sudo apt install proxychains
配置proxychains
使用vim,nano,后者gedit打開配置文件:
gedit /etc/proxychains.conf
將打開的文件內最下面有一行socks4 127.0.0.1 9050,把這一行注釋掉,添加一行socks5 127.0.0.1 1080和https 127.0.0.1 8080。
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks5 127.0.0.1 1080
https 127.0.0.1 8080
此時如果開始使用,會發生錯誤,如下:
proxychains ping google.com
ProxyChains-3.1 (http://proxychains.sf.net)
ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
原因是proxychains無法加載libproxychains.so.3庫。
1.首先找到libproxychains.so.3庫的位置。
打開終端執行:
sudo find /usr/ -name libproxychains.so.3
返回的結果是:
/usr/lib/x86_64-linux-gnu/libproxychains.so.3
2.修改/usr/bin/proxychains配置文件
終端打開輸入:
gedit /usr/bin/proxychains
將打開的文件內export LD_PRELOAD=libproxychains.so.3 替換成你找到的位置。
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3
此時可以使用了,使用方式為:
proxychains curl www.google.com
自動補全
由于proxychains不能補全,所以有兩種方式解決,第一種自行實現補全腳本,在/etc/bash_completion.d文件夾內。這里不做實現講解。
第二種方式,調用系統的自動補全來實現簡易的命令補全功能。
打開終端輸入:
gedit ~/.bashrc
在末尾增加補全命令:
complete -c proxychains
此時就可以使用自動補全了,下過如下:
vincent@vincent-Inspiron-7559 Dir:~
·····$proxychains na
namei native2ascii nautilus-connect-server
nameif nautilus nautilus-sendto
nano nautilus-autorun-software nawk