// DevOps

ProxyChains (y ProxyChains-NG): herramienta para tráfico anónimo y pruebas de red

Publicado el 22.09.2026


En un mundo donde la privacidad de los datos y el acceso a recursos a menudo están restringidos por geobloqueos o políticas corporativas, herramientas como ProxyChains se vuelven asistentes indispensables. ProxyChains —o más precisamente su fork moderno ProxyChains-NG— es una utilidad de código abierto para sistemas tipo Unix (Linux, macOS, etc.) que permite redirigir el tráfico de red de cualquier aplicación a través de una cadena de servidores proxy. Es especialmente popular entre desarrolladores, pentesters y entusiastas de la seguridad. En este artículo veremos qué hace ProxyChains, por qué es útil para desarrolladores, daremos ejemplos de uso y discutiremos sus limitaciones.


Breve: qué es ProxyChains-NG y cómo funciona

ProxyChains es un programa que “envuelve” las conexiones TCP de las aplicaciones y las obliga a pasar por una secuencia de servidores proxy (SOCKS4, SOCKS5, HTTP/HTTPS).

Mecanismo de funcionamiento en Linux: ProxyChains-NG usa LD_PRELOAD. Inserta su biblioteca en la aplicación, intercepta las llamadas al sistema relacionadas con la red (por ejemplo, connect()), y las redirige a través de los proxies indicados en el archivo de configuración.

Modos de cadena soportados:

  • strict_chain — el tráfico sigue estrictamente la lista; si un proxy falla — la cadena no funciona. Este modo está activado en el config por defecto del proyecto.
  • dynamic_chain — si un proxy no está disponible, se omite; útil cuando hay varios proxies en la lista y se necesita resiliencia.
  • random_chain — elige un proxy aleatorio de la lista para cada conexión.

Importante: el proxychains original (versión 3.x) está obsoleto. Hoy se recomienda usar proxychains-ng (en los paquetes el binario suele llamarse proxychains4).


Instalación y configuración básica

En Debian/Ubuntu/Kali:

bash
sudo apt update
sudo apt install proxychains4
# comando de ejecución — proxychains4

En Debian y Ubuntu el paquete se llama proxychains4 (eso es proxychains-ng, en Debian 13 — versión 4.17); el paquete proxychains es la rama antigua 3.1.

El archivo de configuración normalmente se encuentra en /etc/proxychains4.conf. Ejemplo de la sección ProxyList:

ini
[ProxyList]
# Tor
socks5 127.0.0.1 9050
# proxy HTTP
http 192.168.1.100 8080

El proxy de DNS se controla con la directiva proxy_dns. En el config por defecto de proxychains-ng está activada; verifique que en el config de su paquete la línea no esté comentada:

ini
proxy_dns

Con proxy_dns la aplicación en lugar de obtener la IP real recibe una dirección ficticia de una subred interna (parámetro remote_dns_subnet, por defecto 224), y al conectarse proxychains envía al proxy el propio nombre del host — la resolución de la dirección la hace ya el proxy. Por eso las consultas DNS al resolutor del proveedor no salen.


Por qué ProxyChains es útil para un desarrollador

ProxyChains no es solo para anonimato. Para un desarrollador es útil en varios escenarios prácticos:

  • Probar el comportamiento de servicios desde distintas geolocalizaciones. Compruebas rápidamente cómo se comporta una API/sitio ante peticiones desde IP de EE. UU., UE, Asia, etc., sin levantar una VPN ni cambiar la configuración de las aplicaciones.
  • Depuración y pentesting. Puedes verificar que una aplicación no “filtra” la IP real y probar comportamientos bajo distintas condiciones de red.
  • Comodidad con utilidades CLI. En vez de configurar proxy en cada herramienta, añades el prefijo proxychains4.
  • Integración con Tor. Posibilidad sencilla de encaminar tráfico por Tor (si se toman medidas adicionales contra fugas).

Limitaciones importantes a tener en cuenta:

  • No funciona con binarios compilados estáticamente (por ejemplo, muchos binarios de Go).
  • No intercepta raw sockets y UDP (por defecto) — por lo tanto algunos tipos de tráfico (ICMP/ping, consultas DNS por UDP, VoIP) no se proxifican.
  • Puede aumentar la latencia y reducir la velocidad de conexión.

Ejemplos prácticos de uso

Ejecutas cualquier herramienta con el prefijo proxychains4:

  1. Comprobar IP externa:
bash
proxychains4 curl ifconfig.me

Devolverá la IP del último salto de la cadena.

  1. Escaneo con nmap (solo TCP Connect scan):
bash
proxychains4 nmap -sT -p 80,443 example.com

Importante: nmap -sS (SYN scan) usa raw sockets y no funcionará. ProxyChains soporta -sT (TCP Connect), ya que este usa la llamada estándar connect().

  1. SSH a través de la cadena:
bash
proxychains4 ssh user@remote-server.com
  1. Descarga a través de Tor:
  • Inicie tor localmente.

  • En el config /etc/proxychains4.conf añada:

    socks5 127.0.0.1 9050
    proxy_dns
  • Ejecute:

bash
proxychains4 wget https://example.com/file.zip

DNS y tráfico HTTP irán a través de Tor (si proxy_dns está activado).


Contras y limitaciones críticas

1. Fugas de DNS (DNS leaks) — riesgo principal

En el config por defecto de proxychains-ng proxy_dns está activado, y los nombres de host los resuelve el proxy. La fuga ocurre en dos casos: si proxy_dns está comentado (sucede en configs modificados) o si la aplicación resuelve las direcciones por sí misma, evitando el resolutor del sistema — por ejemplo, enviando consultas DNS por UDP directamente. Ese tráfico no lo intercepta proxychains, y las consultas van al servidor DNS del proveedor, lo que revela qué sitios se están consultando. Verifique el comportamiento de la utilidad concretas, por ejemplo con tcpdump -i any port 53.

2. Funciona solo con TCP

ProxyChains está destinado a TCP. UDP, ICMP y raw sockets no se proxifican. Para proxificar UDP hacen falta otras herramientas (por ejemplo soluciones tun/tap o servicios VPN, o túneles UDP específicos).

3. Compatibilidad

No funciona con binarios compilados estáticamente (no respetan LD_PRELOAD) ni con programas que crean raw sockets. Muchas utilidades modernas en Go se compilan estáticamente — téngalo en cuenta al planificar pruebas.

4. Degradación de rendimiento

Cada proxy adicional añade latencia. Para tareas sensibles a la latencia (streaming, juegos, realtime) ProxyChains no es adecuado.

5. Seguridad de la cadena de proxies

Los proxies en la cadena pueden registrar o modificar el tráfico. Use nodos de confianza y recuerde que el último nodo (exit node) ve el tráfico no cifrado si no usa TLS/HTTPS encima del proxy.


Consejos útiles y buenas prácticas

  • Asegúrese de que proxy_dns permanezca activado si desea anonimato real.
  • Pruebe la configuración: primero proxychains4 curl ifconfig.me, luego proxychains4 dig +short example.com @8.8.8.8 y compare resultados.
  • Para aplicaciones que no funcionan con LD_PRELOAD, use el proxy del sistema (opciones integradas) o levante un tun/tap local (VPN).
  • No combine proxies poco fiables con datos confidenciales — enviar credenciales por HTTP a través de un proxy no confiable es mala idea.
  • Para pruebas masivas de comportamiento geo-dependiente es mejor tener un pool de proxies de confianza en distintas regiones (o usar servicios comerciales).

Comparación breve: ProxyChains vs VPN vs proxy SOCKS (tabla)

TareaProxyChainsVPNSOCKS (local/servicio)
Redirigir cualquier tráfico TCP con prefijo✅ (para binarios dinámicamente linkados)✅ (todo el tráfico)Parcial (hay que configurar apps)
Proxificar DNS por defecto✅ (proxy_dns activado en el config por defecto)✅Depende de la configuración
Flexibilidad: cadenas de proxies✅❌ (normalmente un túnel)❌ (un solo salto)
Soporte UDP/ICMP❌✅Depende de la implementación
LatenciaPuede ser alta con cadenasUsualmente estableBaja/Media

Conclusión

ProxyChains-NG es una herramienta potente y ligera para desarrolladores y pentesters: facilita probar desde distintas geolocalizaciones, ayuda a comprobar fugas de IP y ofrece flexibilidad al trabajar con herramientas CLI. Pero no es universal: hay que tener presente las fugas de DNS, la falta de soporte para UDP/raw sockets, la incompatibilidad con binarios estáticamente compilados y los riesgos asociados a proxies no confiables.

Si piensa usar ProxyChains en trabajos serios, configure proxy_dns, pruebe el comportamiento de sus utilidades y utilice proxies de confianza o Tor junto con cifrado TLS. Para proxificar todo el tráfico (incluyendo UDP) es mejor considerar soluciones VPN o levantar un túnel local.

// Contact

¿Necesitas ayuda?

Escríbeme y te ayudaré a resolver el problema

Respondo en un día laborable (03:00-13:00 GMT)

Или оставьте заявку здесь:

Confirme que no es un bot.

Escribir y recibir una respuesta rápida