Prueba
1 GB
2,63 US$
2,63 US$/GB
- Comprueba primero un ISP en una ciudad
- Segmentación por ASN, estado, ciudad y ZIP
- HTTP, HTTPS, SOCKS5
Caso de uso · QA y soporte
Algunos tickets solo tienen sentido en una red. Falla en inalámbrico fijo, aparece la ciudad equivocada o una imagen está desactualizada en un proveedor de cable. Una IP doméstica en esa red convierte el ticket en una prueba que puedes repetir.
Respuesta rápida
¿Cómo reproduzco un bug que solo ocurre con un proveedor de internet?
Reproducir un bug de red significa repetir el fallo de un cliente desde el mismo tipo de conexión: mismo proveedor, misma ciudad, idealmente la misma hora. Broadband Proxies da a los equipos de QA y soporte IPs residenciales de EE. UU. por ASN y ciudad. Las sesiones sticky duran hasta 30 minutos (la IP puede cambiar antes, por ejemplo si el dispositivo doméstico se desconecta). Un plan de 1 GB cuesta 2,63 US$; no hay KYC y se paga con criptomonedas.
| Tickets típicos | Falla solo en internet fijo inalámbrico, ciudad o estado detectados incorrectamente, contenido obsoleto en una red, bloqueado por sospechoso |
|---|---|
| Segmentación | ASN más estado, ciudad o ZIP, p. ej. USERNAME-country-us-state-az-city-phoenix-asn-22773 (red de Cox en Phoenix) |
| Sesiones sticky | hasta 30 minutos (la IP puede cambiar antes, por ejemplo si el dispositivo doméstico se desconecta) |
| Protocolos | HTTP, HTTPS (CONNECT) y SOCKS5 |
| Qué registrar | Segmentación solicitada, IP de salida, ASN de origen, ventana de tiempo UTC, id de sesión |
| Qué no puede copiar | El router del cliente, el Wi-Fi, el dispositivo y la configuración de DNS local |
| Precio | 2,63 US$ por 1 GB, 5,94 US$ por 10 GB, subusuarios por proyecto |
Una salida residencial le da a tu servicio la IP pública de la red del cliente. Cualquier lógica basada en esa IP se comportará como lo hace para el cliente. Surgen a menudo cuatro tipos de tickets.
Un proxy copia la IP pública y su red, no toda la conexión. El router del cliente, el Wi-Fi, las extensiones del navegador y el dispositivo quedan fuera de alcance. Pide una versión de navegador y una captura de pantalla para cubrir eso.
El DNS es otro límite. A través de un proxy, los nombres pueden resolverse por la red del proxy en lugar de por el resolver del ISP, así que los bugs solo de DNS necesitan otro método.
IPv6 también requiere cuidado. La comprobación de abajo usa api.ipify.org, que responde solo por IPv4. Si un bug aparece solo por IPv6, una prueba con proxy puede descartar o confirmar la ruta IPv4. Aún necesitas una línea IPv6 nativa para confirmar el resto.
Reúne los datos de la red
Pide el nombre del ISP, la ciudad o el ZIP, la hora del fallo y el texto del error. Una consulta como nuestra guía de IP de salida da el ASN sin compartir contraseñas ni acceso al router.
Crea un nombre de usuario fijo
Para un cliente de Cox en Phoenix: USERNAME-country-us-state-az-city-phoenix-asn-22773-session-bug4521-ttl-30.
Confirma y registra la salida
Ejecuta el script de abajo. Registra la IP de salida, el ASN de origen y el prefijo, y luego vigila si cambia la IP.
Reproduce dentro de la sesión
Usa el mismo nombre de usuario en el navegador o en el runner de pruebas. Termina dentro de la ventana de la sesión y anota cualquier cambio de IP.
Ejecuta una red de control
Repite los pasos en otro ASN de la misma ciudad. Si el bug desaparece, la red forma parte de la causa.
# Keep one sticky exit for a bug reproduction and write a record for the ticket.
import json
import time
from datetime import datetime, timezone
import requests
GATEWAY = "gw.broadbandproxies.com"
PORT = 7777
TARGET = "country-us-state-az-city-phoenix-asn-22773" # Cox network in Phoenix
SESSION = "bug4521"
USERNAME = "USERNAME-" + TARGET + "-session-" + SESSION + "-ttl-30"
PASSWORD = "PASSWORD"
proxy = "http://%s:%s@%s:%d" % (USERNAME, PASSWORD, GATEWAY, PORT)
proxies = {"http": proxy, "https": proxy}
def now():
return datetime.now(timezone.utc).isoformat(timespec="seconds")
def exit_ip():
r = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=30)
r.raise_for_status()
return r.json()["ip"]
def origin(ip):
r = requests.get(
"https://stat.ripe.net/data/prefix-overview/data.json",
params={"resource": ip, "sourceapp": "bug-repro"},
timeout=30,
)
r.raise_for_status()
data = r.json()["data"]
return [a["asn"] for a in data.get("asns", [])], data.get("resource")
ip = exit_ip()
asns, prefix = origin(ip)
record = {"target": TARGET, "session": SESSION, "start_utc": now(), "exit_ip": ip,
"origin_asns": asns, "prefix": prefix, "ip_changes": []}
# Reproduce the bug in the browser now, with the same username.
# This loop only checks every 5 minutes that the exit IP has not moved.
for _ in range(5):
time.sleep(300)
current = exit_ip()
if current != ip:
record["ip_changes"].append({"time_utc": now(), "new_ip": current,
"origin_asns": origin(current)[0]})
ip = current
record["end_utc"] = now()
print(json.dumps(record, indent=2))| Campo | Ejemplo | Por qué importa |
|---|---|---|
| Segmentación solicitada | country-us-state-az-city-phoenix-asn-22773 | Un colega puede ejecutar la misma prueba después |
| IP de salida | 203.0.113.24 (rango de documentación) | Búscala en los logs de tu servidor y de la CDN |
| ASN y prefijo de origen | AS22773, de RIPEstat | Demuestra la red, no solo la petición |
| Ventana de tiempo UTC | 2026-10-18 14:05 a 14:30 UTC | Coincide con las líneas de log entre zonas horarias |
| Id de sesión y TTL | bug4521, 30 minutos | Muestra si la IP se mantuvo igual |
| Resultado | HTTP 403 en /checkout/ | El bug, reproducido o no |
| Control | Misma ciudad en AS209: sin error | Separa causas de red de causas de código |
Prueba tu propio sitio, app o API, o un sistema cuyo dueño te lo haya pedido. Reproducir un ticket debería llevar unas pocas peticiones, no un rastreo. Nuestra Política de uso aceptable prohíbe inundaciones y escaneos de sistemas sin permiso del dueño.
Mantén los datos de clientes fuera de nombres de usuario e ids de sesión. Usa un número de ticket como bug4521, nunca un correo o un nombre. Los sitios de banca, gobierno y portales de pago están bloqueados en todos los planes, así que las páginas de proveedores de pago no se pueden probar a través del gateway.
Una sola reproducción suele ser unas pocas cargas de página más las comprobaciones del script. 1 GB (2,63 US$) cubre una prueba en un ISP y ciudad. 10 GB (5,94 US$) va bien para un equipo de QA con un subusuario por tester. El tráfico nunca caduca.
1 GB
2,63 US$
2,63 US$/GB
5 GB
3,75 US$
0,75 US$/GB
10 GB
5,94 US$
0,59 US$/GB
En todos los planes: Protocolos: HTTP, HTTPS, SOCKS5 · Segmentación: ASN (ISP), estado, ciudad y código postal en EE. UU.; país en el resto; la disponibilidad de ciudades varía · Sesiones: Rotación o sesiones fijas (hasta 30 minutos) · Autenticación: Usuario y contraseña, o una lista de IPs permitidas (hasta 10 IPs) · Caducidad del tráfico: Nunca caduca
Sí, dentro de una sesión sticky: hasta 30 minutos (la IP puede cambiar antes, por ejemplo si el dispositivo doméstico se desconecta). Pon -session-<id>-ttl-<minutes> al final del nombre de usuario y reutiliza el mismo id en cada herramienta. Registra la IP de salida al inicio y al final. Si cambió, indícalo en el ticket, porque una IP nueva puede estar en un prefijo diferente.
A menudo, sí. Apunta a AS21928 para T-Mobile Home Internet o AS22394 para Verizon 5G Home. Las salidas en esas redes suelen compartir direcciones con otros usuarios, como la línea del cliente. Broadband Proxies no puede distinguir si una salida es una puerta de enlace doméstica o un teléfono, así que anota el ASN en lugar del tipo de dispositivo.
No como se muestra aquí. El ejemplo comprueba la salida con api.ipify.org, que responde solo por IPv4. Si el fallo del cliente ocurre solo por IPv6, la prueba de proxy te dice si la ruta IPv4 está bien. Confirma el lado IPv6 desde una conexión IPv6 nativa.
El nombre del ISP, la ciudad o el código postal, la hora del fallo, el navegador y el error exacto. El ASN es lo que más ayuda: una página de consulta lo muestra sin ningún inicio de sesión. Nunca pidas contraseñas, acceso al router ni control remoto del dispositivo del cliente. No son necesarios para probar el lado de la red.
Sí. Crea un subusuario por tester o proyecto. Cada subusuario tiene sus propias credenciales, límite de tráfico y totales de uso. También puedes permitir hasta 10 IPs en lugar de una contraseña, lo que va bien para runners de CI con direcciones fijas. El tráfico sale del único plan que compraste.
La disponibilidad de ASN varía según la red, la ciudad y la hora del día; el checkout muestra lo que está en línea y no se publica el número de IP por ISP. Quita primero el código postal, luego la ciudad y mantén el ASN con el estado. Un proveedor más pequeño puede estar en línea solo a ciertas horas, así que reintenta a la hora del día en que el cliente reportó el fallo. Anota en el ticket qué nivel de segmentación usaste.
1 GB 2,63 US$ · ASN incluido · sin KYC
Empezar