Перейти к основному содержимому

API TCP-сканирования

API TCP-сканирования сканирует диапазон IPv4-адресов на предмет TCP-подключения и автоматически подключает доступные Android-устройства через ADB в сети. Это полезно для обнаружения и подключения беспроводных Android-устройств без ручных команд adb connect.

Эндпоинт

POST /api/v1/device/tcp-scan

Требования

Требование к лицензии

Этот API требует тарифа Pro, Team или Business. Тариф Starter не имеет доступа.

Тело запроса

Все поля необязательны. При отсутствии приложение использует диапазон IP и порт, настроенные в Настройках.

ПолеТипОбязательноОписание
start_ipstringНетНачальный IPv4-адрес (напр. "192.168.1.2"). По умолчанию — сохранённые настройки приложения.
end_ipstringНетКонечный IPv4-адрес (напр. "192.168.1.254"). По умолчанию — сохранённые настройки приложения.
portintegerНет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.totalintegerОбщее количество IP, ответивших на TCP-порт
data.successintegerIP, успешно подключённые через ADB
data.failedintegerIP, для которых подключение ADB не удалось
data.detailsarrayСписок результатов по IP
data.details[].ipstringСканируемый IP-адрес
data.details[].successbooleantrue если подключение ADB успешно
data.details[].messagestringВывод ADB или сообщение об ошибке

Ответы об ошибках

HTTP-статусКодОписание
403403Доступ к API требует тарифа Pro+

Как это работает

  1. TCP-зонд — Каждый IP в диапазоне тестируется с 1-секундным таймаутом TCP-подключения (параллельно).
  2. Подключение ADB — Для каждого IP, который отвечает, выполняется попытка adb connect <ip>:<port> (до 2 повторных попыток).
  3. Агрегация результатов — Все результаты по IP собираются и возвращаются.

После успешного сканирования подключённые устройства автоматически появляются в TikMatrix.