Saltar al contenido principal

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

Requisito de Licencia

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.

CampoTipoRequeridoDescripción
start_ipstringNoDirección IPv4 inicial (ej. "192.168.1.2"). Por defecto usa los ajustes guardados de la app.
end_ipstringNoDirección IPv4 final (ej. "192.168.1.254"). Por defecto usa los ajustes guardados de la app.
portintegerNoPuerto TCP a escanear (ej. 5555). Por defecto usa el scan_port guardado (por defecto: 5555).
Restricción de Subred

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

CampoTipoDescripción
data.totalintegerTotal de IPs que respondieron en el puerto TCP
data.successintegerIPs conectadas exitosamente vía ADB
data.failedintegerIPs que fallaron la conexión ADB
data.detailsarrayLista de resultados por IP
data.details[].ipstringDirección IP escaneada
data.details[].successbooleantrue si la conexión ADB fue exitosa
data.details[].messagestringSalida de ADB o mensaje de error

Respuestas de Error

Estado HTTPCódigoDescripción
403403El acceso a la API requiere plan Pro+

Cómo Funciona

  1. Sondeo TCP — Cada IP del rango es probada con un timeout de conexión TCP de 1 segundo (de forma concurrente).
  2. Conexión ADB — Para cada IP que responde, se intenta adb connect <ip>:<port> (hasta 2 reintentos).
  3. Agregación de Resultados — Todos los resultados por IP son recopilados y devueltos.

Después de un escaneo exitoso, los dispositivos conectados aparecen automáticamente en TikMatrix.