API de Escaneo TCP
La API de Escaneo TCP analiza un rango de direcciones IPv4 en busca de conectividad TCP y conecta automáticamente los dispositivos Android accesibles a través de ADB en la red. Esto es útil para descubrir y conectar dispositivos Android inalámbricos sin comandos adb connect manuales.
Endpoint
POST /api/v1/device/tcp-scan
Requisitos
Esta API requiere un plan Pro, Team o Business. El plan Starter no tiene acceso.
Cuerpo de la Solicitud
Todos los campos son opcionales. Cuando se omiten, la aplicación utiliza el rango de IP y el puerto configurados en Ajustes.
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| start_ip | string | No | Dirección IPv4 inicial (ej. "192.168.1.2"). Por defecto usa los ajustes guardados de la app. |
| end_ip | string | No | Dirección IPv4 final (ej. "192.168.1.254"). Por defecto usa los ajustes guardados de la app. |
| port | integer | No | Puerto TCP a escanear (ej. 5555). Por defecto usa el scan_port guardado (por defecto: 5555). |
El escaneo está limitado a una sola subred /24. Si start_ip y end_ip pertenecen a subredes /24 diferentes, el rango se trunca automáticamente a start_ip.x.x.255.
Ejemplos
Usar Ajustes de la App (recomendado)
Envía un body vacío para usar el rango de IP y el puerto configurados en la app:
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Rango de IP Personalizado
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{
"start_ip": "192.168.1.2",
"end_ip": "192.168.1.254",
"port": 5555
}'
Respuesta
{
"code": 0,
"message": "success",
"data": {
"total": 3,
"success": 2,
"failed": 1,
"details": [
{
"ip": "192.168.1.100",
"success": true,
"message": "already connected to 192.168.1.100:5555"
},
{
"ip": "192.168.1.101",
"success": true,
"message": "connected to 192.168.1.101:5555"
},
{
"ip": "192.168.1.102",
"success": false,
"message": "failed to connect to 192.168.1.102:5555"
}
]
}
}
Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| data.total | integer | Total de IPs que respondieron en el puerto TCP |
| data.success | integer | IPs conectadas exitosamente vía ADB |
| data.failed | integer | IPs que fallaron la conexión ADB |
| data.details | array | Lista de resultados por IP |
| data.details[].ip | string | Dirección IP escaneada |
| data.details[].success | boolean | true si la conexión ADB fue exitosa |
| data.details[].message | string | Salida de ADB o mensaje de error |
Respuestas de Error
| Estado HTTP | Código | Descripción |
|---|---|---|
| 403 | 403 | El acceso a la API requiere plan Pro+ |