ProxyChains
ProxyChains is a powerful Linux tool used to route network traffic through one or more proxy servers, often for anonymity, penetration testing, or bypassing network restrictions. It works by intercepting and redirecting TCP connections made by applications, forcing them through a chain of proxies.
What ProxyChains Does
ProxyChains allows you to:
- Route traffic through SOCKS4, SOCKS5, and HTTP proxies
- Chain multiple proxies together for layered anonymity
- Use tools like nmap, curl, wget, ssh, or even browsers through proxies
- Bypass firewalls or geo-blocks
How ProxyChains Works
ProxyChains uses LD_PRELOAD to hook into the networking functions of dynamically linked applications. It intercepts calls like connect() and reroutes them through the specified proxy chain.
Installation
On Debian/Ubuntu:
On Arch:
Configuration
The config file is usually located at:
/etc/proxychains.conf
Key Sections:
1. Proxy List: Add your proxies at the bottom:
- socks5 127.0.0.1 9050
- http 192.168.1.100 8080
2. Proxy Chain Type:
- dynamic_chain: Tries proxies in order, skips dead ones
- strict_chain: Uses proxies in exact order
- random_chain: Randomizes proxy order
Example:
Usage
Use Cases
- Anonymity: Hide your IP by routing through multiple proxies
- Penetration Testing: Use tools like nmap or sqlmap through Tor or other proxies
- Bypassing Restrictions: Access blocked content or services
Limitations
- Only works with dynamically linked applications
- Doesn’t support UDP (only TCP)
- Can be slow if chaining multiple proxies
- Requires reliable proxy servers