API de Varredura TCP
A API de Varredura TCP varre um intervalo de endereços IPv4 para conectividade TCP e conecta automaticamente dispositivos Android acessíveis via ADB na rede. Isso é útil para descobrir e conectar dispositivos Android sem fio sem comandos adb connect manuais.
Endpoint
POST /api/v1/device/tcp-scan
Requisitos
Esta API requer um plano Pro, Team ou Business. O plano Starter não tem acesso.
Corpo da Requisição
Todos os campos são opcionais. Quando omitidos, o app usa o intervalo de IP e a porta configurados nas Configurações.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| start_ip | string | Não | Endereço IPv4 inicial (ex. "192.168.1.2"). Padrão para as configurações salvas do app. |
| end_ip | string | Não | Endereço IPv4 final (ex. "192.168.1.254"). Padrão para as configurações salvas do app. |
| port | integer | Não | Porta TCP para varrer (ex. 5555). Padrão para o scan_port salvo (padrão: 5555). |
A varredura é limitada a uma única sub-rede /24. Se start_ip e end_ip pertencerem a sub-redes /24 diferentes, o intervalo é automaticamente truncado para start_ip.x.x.255.
Exemplos
Usar Configurações do App (recomendado)
Envie um corpo vazio para usar o intervalo de IP e a porta configurados no app:
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Intervalo 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
}'
Resposta
{
"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 da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
| data.total | integer | Total de IPs que responderam na porta TCP |
| data.success | integer | IPs conectados com sucesso via ADB |
| data.failed | integer | IPs que falharam na conexão ADB |
| data.details | array | Lista de resultados por IP |
| data.details[].ip | string | Endereço IP varrido |
| data.details[].success | boolean | true se a conexão ADB teve sucesso |
| data.details[].message | string | Saída ADB ou mensagem de erro |
Respostas de Erro
| Status HTTP | Código | Descrição |
|---|---|---|
| 403 | 403 | Acesso à API requer plano Pro+ |
Como Funciona
- Sonda TCP — Cada IP no intervalo é testado com um timeout de conexão TCP de 1 segundo (de forma concorrente).
- Conexão ADB — Para cada IP que responde,
adb connect <ip>:<port>é tentado (até 2 novas tentativas). - Agregação de Resultados — Todos os resultados por IP são coletados e retornados.
Após uma varredura bem-sucedida, os dispositivos conectados aparecem automaticamente no TikMatrix.