Ir al contenido
GProxy
Registro
Гайды 8 min de lectura 33 vistas

ProxyChains

Descubre ProxyChains en Linux, una herramienta potente para enrutar el tráfico de red a través de múltiples proxies, mejorando la seguridad y privacidad en línea.

Безопасность
ProxyChains

ProxyChains es una herramienta de línea de comandos para Linux que fuerza cualquier conexión TCP realizada por un programa a pasar a través de una lista especificada de servidores proxy, formando una 'cadena' para una mayor privacidad o para eludir restricciones de red. Opera interceptando dinámicamente las llamadas al sistema relacionadas con la red, redirigiéndolas a través de uno o más servidores proxy configurados antes de llegar al destino.

Descripción general de ProxyChains

ProxyChains funciona como un envoltorio para otros programas, permitiendo que su tráfico de red sea enrutado a través de una secuencia de proxies. Este mecanismo de encadenamiento puede ofuscar el origen de las solicitudes de red, dificultando el rastreo de la dirección IP de origen real. Se emplea con frecuencia para el anonimato, eludiendo restricciones geográficas o accediendo a redes con controles de acceso basados en IP específicos.

Cómo funciona ProxyChains

ProxyChains utiliza el mecanismo LD_PRELOAD en Linux. LD_PRELOAD es una variable de entorno que especifica una lista de bibliotecas compartidas que se cargarán antes que cualquier otra biblioteca, incluida la biblioteca estándar de C (libc). ProxyChains proporciona su propia biblioteca compartida (libproxychains4.so) que contiene versiones modificadas de funciones de red estándar (por ejemplo, connect(), send(), recv()).

Cuando un programa se ejecuta con ProxyChains (por ejemplo, proxychains4 <comando>), libproxychains4.so se precarga. Esta biblioteca intercepta las llamadas del programa a las funciones de red. En lugar de realizar conexiones directas, estas llamadas interceptadas se redirigen a través de la cadena de proxy configurada. Este proceso es transparente para la aplicación envuelta, que continúa operando como si estuviera realizando conexiones de red directas.

Instalación

Los procedimientos de instalación varían ligeramente según la distribución de Linux.

Debian/Ubuntu

sudo apt update
sudo apt install proxychains4

Fedora/CentOS/RHEL

sudo dnf install proxychains-ng
# O para sistemas más antiguos:
sudo yum install proxychains-ng

Arch Linux

sudo pacman -S proxychains-ng

Desde el código fuente

Para otras distribuciones o versiones específicas, ProxyChains se puede compilar desde el código fuente.

git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
sudo make install-config # Instala el archivo de configuración predeterminado en /etc/proxychains.conf

Configuración

El archivo de configuración principal para ProxyChains se encuentra típicamente en /etc/proxychains.conf o ~/.proxychains/proxychains.conf. Si ninguno existe, proxychains.conf se puede copiar del directorio fuente o de /usr/share/proxychains/proxychains.conf a /etc/proxychains.conf.

Directivas clave

El archivo de configuración define cómo se utilizan los proxies y qué proxies están disponibles.

  • strict_chain: Todos los proxies de la lista se utilizan en el orden en que aparecen. Si algún proxy de la cadena falla, la conexión falla.
  • dynamic_chain: Todos los proxies de la lista se utilizan, pero si uno falla, se omite y la cadena continúa con el siguiente proxy. Esto ofrece más resiliencia.
  • random_chain: Un número especificado de proxies (chain_len) se selecciona aleatoriamente de la lista y se utiliza en un orden aleatorio.
  • chain_len: (Se usa con random_chain) Especifica el número de proxies a seleccionar aleatoriamente.
  • proxy_dns: Fuerza que las solicitudes DNS se resuelvan a través de la cadena de proxy, mitigando las fugas de DNS. Esto es crítico para el anonimato.
  • remote_dns_subnet: (Se usa con proxy_dns) Especifica una subred IP para usar en consultas DNS remotas si proxy_dns está habilitado. El valor predeterminado es 10.0.0.0/8.

Formato de la lista de proxies

Los proxies se definen al final del archivo proxychains.conf bajo la sección [ProxyList]. Cada entrada de proxy sigue este formato:

tipo dirección_ip puerto [nombre_de_usuario] [contraseña]

Los tipos admitidos incluyen socks4, socks5 y http.

Fragmento de ejemplo de proxychains.conf

# Archivo de configuración de ProxyChains

# Descomente uno de los tipos de cadena de proxy:
# strict_chain
# dynamic_chain
random_chain

# Aleatorizar la lista de proxies - no, esto no tiene sentido.
# Mantenga el orden predeterminado de los proxies en la lista de proxies y úselos en ese orden.
# Si desea aleatorizar, use 'random_chain' arriba.
# random_chain_len 2

# Hacer un host desde donde comienza la cadena.
# Esto puede ser útil para algunas aplicaciones.
# chain_len 2

# Enviar solicitudes DNS a través de la cadena.
# Esto es altamente recomendado para el anonimato.
proxy_dns

# Subred DNS remota
# Cuando proxy_dns está habilitado, esta subred se utiliza para consultas DNS remotas.
# El valor predeterminado es 10.0.0.0/8
# remote_dns_subnet 10.0.0.0/8

# Tiempo de espera para conexiones proxy.
# proxy_timeout 10000

# Lista de proxies - añada sus proxies aquí
# Formato: tipo dirección_ip puerto [nombre_de_usuario] [contraseña]
[ProxyList]
# socks4  127.0.0.1 9050  # Ejemplo para Tor (puerto SOCKS predeterminado)
# socks5  192.168.1.1 1080
# http    proxy.example.com 8080 user pass

# Ejemplo usando múltiples proxies para una cadena
socks5  192.168.1.10 1080
socks5  192.168.1.11 1080
http    192.168.1.12 8080

Tipos de proxy compatibles

ProxyChains admite los siguientes protocolos proxy:

  • SOCKS4: Protocolo proxy simple para aplicaciones TCP. No admite UDP ni autenticación.
  • SOCKS5: Protocolo proxy avanzado que admite TCP, UDP y autenticación. Recomendado para la mayoría de los casos de uso.
  • HTTP: Admite proxies HTTP para tunelizar conexiones TCP. Se puede usar con o sin autenticación.

Ejemplos de uso

Para usar ProxyChains, anteponga proxychains4 (o proxychains en algunos sistemas) al comando que desea ejecutar a través de los proxies.

Uso básico

Verifique su dirección IP externa a través de la cadena de proxy:

proxychains4 curl ifconfig.me

Este comando enrutará la solicitud curl a través de la cadena de proxy configurada, e ifconfig.me informará la dirección IP del último proxy en la cadena, o del primer proxy que funcione si dynamic_chain está habilitado.

Prueba de fugas de DNS

Con proxy_dns habilitado en proxychains.conf:

proxychains4 curl https://ipleak.net/

Revise la sección DNS en ipleak.net para confirmar que las solicitudes DNS se resuelven a través de la cadena de proxy y no de su servidor DNS local.

Uso con escáneres de red

Escanear un objetivo a través de una cadena de proxy puede ocultar el origen del escaneo.

proxychains4 nmap -sT -Pn target.example.com

Nota: Los modos -sS (escaneo SYN) de nmap y otros modos de paquetes sin procesar no funcionan con ProxyChains porque LD_PRELOAD solo intercepta llamadas de socket de nivel superior, no la generación de paquetes sin procesar. Use -sT (escaneo de conexión TCP).

Uso con Secure Shell (SSH)

Para establecer una conexión SSH a través de una cadena de proxy:

proxychains4 ssh user@remote_host.com

Uso con Wget

Descargar archivos a través de una cadena de proxy:

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

Uso con un navegador web (por ejemplo, Firefox)

ProxyChains está diseñado para aplicaciones de línea de comandos. Para aplicaciones gráficas como navegadores web, generalmente es más efectivo configurar directamente los ajustes de proxy del navegador o usar una extensión de administrador de proxy dedicada. Sin embargo, se puede forzar:

proxychains4 firefox

Este método suele ser menos estable y fiable para aplicaciones GUI complejas en comparación con la configuración de proxy nativa.

Comparación de tipos de cadena

Característica strict_chain dynamic_chain random_chain
Uso de proxy Todos los proxies de la lista, en orden. Todos los proxies de la lista, en orden, omitiendo los fallidos. chain_len proxies seleccionados y ordenados aleatoriamente.
Tolerancia a fallos Baja (la conexión falla si algún proxy falla). Alta (omite los proxies fallidos). Moderada (falla si los proxies aleatorios seleccionados fallan).
Anonimato Alto (ruta fija, todos los proxies utilizados). Alto (ruta fija, todos los proxies que funcionan utilizados). Variable (ruta aleatoria, diferente cada vez).
Rendimiento Potencialmente más lento debido a la ruta fija y completa. Más rápido si algunos proxies son lentos/caídos. Variable, depende de los proxies seleccionados.
Caso de uso Cuando todos los proxies son fiables y el orden importa. Cuando la resiliencia es importante. Cuando se desea variar la ruta para el anonimato.

Consideraciones de seguridad y limitaciones

ProxyChains es una herramienta para enrutar el tráfico, no una solución completa de anonimato. Los usuarios deben comprender sus limitaciones.

Fugas de DNS

Sin proxy_dns habilitado, las solicitudes DNS pueden ser resueltas directamente por el sistema local, exponiendo la dirección IP real del usuario al servidor DNS. Habilitar proxy_dns es crucial para el anonimato.

Fugas de tráfico

ProxyChains intercepta principalmente conexiones TCP. Las aplicaciones que usan UDP u otros protocolos directamente (por ejemplo, algunos clientes VPN, aplicaciones VoIP, ciertos juegos o los modos de paquetes sin procesar de nmap) pueden eludir la cadena de proxy, lo que lleva a fugas de tráfico. No es adecuado para aplicaciones que requieren una anonimización completa de la pila de red.

Sobrecarga de rendimiento

Encadenar múltiples proxies introduce latencia y reduce el rendimiento. Cada salto en la cadena añade tiempo de procesamiento y retardo de red. Cuantos más proxies haya en la cadena, más lenta será la conexión.

No es una solución mágica para el anonimato

ProxyChains proporciona una capa adicional de ofuscación, pero no garantiza el anonimato absoluto. Los adversarios sofisticados aún pueden correlacionar patrones de tráfico o explotar otras vulnerabilidades (por ejemplo, huellas digitales del navegador, fugas de WebRTC) para desanonimizar a un usuario. Debe usarse junto con otras prácticas de seguridad, como un sistema operativo seguro, reglas de firewall robustas y una selección cuidadosa de aplicaciones.

Compatibilidad de aplicaciones

ProxyChains se basa en LD_PRELOAD para interceptar llamadas a bibliotecas. No todas las aplicaciones se comportan de forma predecible cuando se interceptan sus funciones de red. Las aplicaciones que utilizan bibliotecas de red personalizadas, vinculación estática o interfaces de kernel específicas pueden no funcionar correctamente o en absoluto con ProxyChains.

Actualizado: 03.03.2026
Volver a la categoría

Pruebe nuestros proxies

20,000+ proxies en 100+ países del mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.