API TCP-сканирования
API TCP-сканирования сканирует диапазон IPv4-адресов на предмет TCP-подключения и автоматически подключает доступные Android-устройства через ADB в сети. Это полезно для обнаружения и подключения беспроводных Android- устройств без ручных команд adb connect.
Эндпоинт
POST /api/v1/device/tcp-scan
Требования
Этот API требует тарифа Pro, Team или Business. Тариф Starter не имеет доступа.
Тело запроса
Все поля необязательны. При отсутствии приложение использует диапазон IP и порт, настроенные в Настройках.
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
| start_ip | string | Нет | Начальный IPv4-адрес (напр. "192.168.1.2"). По умолчанию — сохранённые настройки приложения. |
| end_ip | string | Нет | Конечный IPv4-адрес (напр. "192.168.1.254"). По умолчанию — сохранённые настройки приложения. |
| port | integer | Нет | TCP-порт для сканирования (напр. 5555). По умолчанию — сохранённый scan_port (по умолчанию: 5555). |
Сканирование ограничено одной подсетью /24. Если start_ip и end_ip принадлежат разным подсетям /24, диапазон автоматически усекается до start_ip.x.x.255.
Примеры
Использование настроек приложения (рекомендуется)
Отправьте пустое тело для использования диапазона IP и порта, настроенных в приложении:
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Пользовательский диапазон IP
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
}'
Ответ
{
"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"
}
]
}
}
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| data.total | integer | Общее количество IP, ответивших на TCP-порт |
| data.success | integer | IP, успешно подключённые через ADB |
| data.failed | integer | IP, для которых подключение ADB не удалось |
| data.details | array | Список результатов по IP |
| data.details[].ip | string | Сканируемый IP-адрес |
| data.details[].success | boolean | true если подключение ADB успешно |
| data.details[].message | string | Вывод ADB или сообщение об ошибке |
Ответы об ошибках
| HTTP-статус | Код | Описание |
|---|---|---|
| 403 | 403 | Доступ к API требует тарифа Pro+ |
Как это работает
- TCP-зонд — Каждый IP в диапазоне тестируется с 1-секундным таймаутом TCP-подключения (параллельно).
- Подключение ADB — Для каждого IP, который отвечает, выполняется попытка
adb connect <ip>:<port>(до 2 повторных попыток). - Агрегация результатов — Все результаты по IP собираются и возвращаются.
После успешного сканирования подключённые устройства автоматически появляются в TikMatrix.