API skanowania TCP
API skanowania TCP skanuje zakres adresów IPv4 pod kątem łączności TCP i automatycznie łączy osiągalne urządzenia Android przez ADB w sieci. Jest przydatny do wykrywania i łączenia bezprzewodowych urządzeń Android bez ręcznych poleceń adb connect.
Endpoint
POST /api/v1/device/tcp-scan
Wymagania
Ten API wymaga planu Pro, Team lub Business. Plan Starter nie ma dostępu.
Treść Żądania
Wszystkie pola są opcjonalne. Gdy pominięte, aplikacja używa zakresu IP i portu skonfigurowanego w Ustawieniach.
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
| start_ip | string | Nie | Początkowy adres IPv4 (np. "192.168.1.2"). Domyślnie zapisane ustawienia aplikacji. |
| end_ip | string | Nie | Końcowy adres IPv4 (np. "192.168.1.254"). Domyślnie zapisane ustawienia aplikacji. |
| port | integer | Nie | Port TCP do skanowania (np. 5555). Domyślnie zapisany scan_port (domyślnie: 5555). |
Skanowanie jest ograniczone do pojedynczej podsieci /24. Jeśli start_ip i end_ip należą do różnych podsieci /24, zakres jest automatycznie skracany do start_ip.x.x.255.
Przykłady
Użyj ustawień aplikacji (zalecane)
Wyślij puste ciało, aby użyć zakresu IP i portu skonfigurowanego w aplikacji:
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Niestandardowy zakres 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
}'
Odpowiedź
{
"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"
}
]
}
}
Pola Odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
| data.total | integer | Łączna liczba IP, które odpowiedziały na porcie TCP |
| data.success | integer | IP połączone pomyślnie przez ADB |
| data.failed | integer | IP, dla których połączenie ADB nie powiodło się |
| data.details | array | Lista wyników na IP |
| data.details[].ip | string | Skanowany adres IP |
| data.details[].success | boolean | true jeśli połączenie ADB powiodło się |
| data.details[].message | string | Wynik ADB lub komunikat o błędzie |
Odpowiedzi Błędów
| Status HTTP | Kod | Opis |
|---|---|---|
| 403 | 403 | Dostęp do API wymaga planu Pro+ |
Jak to działa
- Sonda TCP — Każdy IP w zakresie jest testowany z 1-sekundowym limitem czasu połączenia TCP (jednocześnie).
- Połączenie ADB — Dla każdego IP, który odpowiada, próbowane jest
adb connect <ip>:<port>(do 2 ponownych prób). - Agregacja wyników — Wszystkie wyniki na IP są zbierane i zwracane.
Po udanym skanowaniu podłączone urządzenia pojawiają się automatycznie w TikMatrix.