If you are using a Knoppix Linux system behind a SOCKS proxy server, you can use the proxychains package to enable applications that don't natively understand how to use a SOCKS proxy to work through the SOCKS proxy. The proxychains program forces any tcp connection made by any given TCP client to go through the specified proxy server (or proxy chain). It is a kind of proxifier. It acts like sockscap / premeo / eborder driver (intercepts TCP calls). Proxychains supports SOCKS4, SOCKS5 and HTTP CONNECT proxy servers. Different proxy types can be mixed in the same chain.
Since Mozilla Firefox understands how to use SOCKS proxies, you can configure it to go through the SOCKS proxy. You can configure it to use a SOCKS proxy by clicking on Edit, then Preferences, and then the Network tab. Click on Settings and then select Manual proxy configuration. For a SOCKS proxy, put the address of the SOCKS proxy server in the SOCKS Host field and the port that is being used on that server in the Port field.
If I establish a SOCKS proxy server using the ssh
command,
e.g. ssh -D 8055 jdoe@192.168.1.1
, then I'm tunneling connections
to the SOCKS proxy through the encrypted SSH connection and I will use
127.0.0.1
in the SOCKS host field and 8055
in the Port field, rather than the default SOCKS proxy port of
1080
.
After downloading the proxychains package with Mozilla Firefox, aka iceweasel,
I used dpkg
to install it.
root@Knoppix:/home/knoppix# dpkg --install proxychains_2.1-5_i386.deb Selecting previously deselected package proxychains. (Reading database ... 0 files and directories currently installed.) Unpacking proxychains (from proxychains_2.1-5_i386.deb) ... dpkg: dependency problems prevent configuration of proxychains: proxychains depends on libc6 (>= 2.3.2.ds1-21); however: Package libc6 is not installed. dpkg: error processing proxychains (--install): dependency problems - leaving unconfigured Errors were encountered while processing: proxychains
Proxychains looks for its configuration file in the following order:
- ./proxychains.conf
- $(HOME)/.proxychains/proxychains.conf
- /etc/proxychains.conf
I copied the sample file /etc/proxychains.conf.dpkg-new
to /etc/proxychains.conf
.
root@Knoppix:/home/knoppix# cp /etc/proxychains.conf.dpkg-new /etc/proxychains.conf
The following default information appears in that file:
# 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 )
#
http 10.0.0.5 3128
http 10.0.0.3 3128
http 10.0.0.5 3128
#socks5 192.168.1.4 1080
#socks4 10.5.81.143 1080
#http 192.168.203.18 8080
I commented out the http
lines with the 10.0.0.5
address by placing a "#" at the beginning of the line. I then removed
the "#" from the socks5
line and changed the address
from 192.168.1.4 to 127.0.0.1, since I was establishing a socks proxy
using the ssh command. I changed the port from the default SOCKS port of 1080
to the one I used when I established the SOCKS proxy with
ssh -D 8055 jdoe@192.68.1.1
, i.e. port 8055.
I then had the following lines in proxychains.conf
.
# http 10.0.0.5 3128
# http 10.0.0.3 3128
# http 10.0.0.5 3128
socks5 127.0.0.1 8055
#socks4 10.5.81.143 1080
#http 192.168.203.18 8080
I also commented out "random_chain" and "chain_len" and uncommented "strict_chain".
I was then able to use proxychains
with gpg
to
import a public key for a package repository into the public keyring for the
root account.
root@Knoppix:/home/knoppix# proxychains gpg --keyserver wwwkeys.eu.pgp.net --rec v-keys 9AA38DCD55BE302B gpg: requesting key 55BE302B from hkp server wwwkeys.eu.pgp.net ProxyChains-2.1 (http://proxychains.sf.net) random chain (1):....127.0.0.1:5555....194.171.167.98:11371..OK gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 55BE302B: public key "Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
I was also able to use proxychains
for apt-get update
by using proxychains apt-get update
.
References: