TCP-Scan-API
Die TCP-Scan-API scannt einen Bereich von IPv4-Adressen auf TCP-Konnektivität und verbindet erreichbare Android-Geräte automatisch über ADB im Netzwerk. Dies ist nützlich, um drahtlose Android-Geräte ohne manuelle adb connect-Befehle zu entdecken und zu verbinden.
Endpunkt
POST /api/v1/device/tcp-scan
Voraussetzungen
Diese API erfordert einen Pro-, Team- oder Business-Plan. Der Starter-Plan hat keinen Zugang.
Anfrage-Body
Alle Felder sind optional. Wenn sie weggelassen werden, verwendet die App den in den Einstellungen konfigurierten IP-Bereich und Port.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| start_ip | string | Nein | Start-IPv4-Adresse (z.B. "192.168.1.2"). Standardmäßig gespeicherte App-Einstellungen. |
| end_ip | string | Nein | End-IPv4-Adresse (z.B. "192.168.1.254"). Standardmäßig gespeicherte App-Einstellungen. |
| port | integer | Nein | TCP-Port zum Scannen (z.B. 5555). Standard ist der gespeicherte scan_port (Standard: 5555). |
Der Scan ist auf ein einzelnes /24-Subnetz begrenzt. Wenn start_ip und end_ip zu verschiedenen /24-Subnetzen gehören, wird der Bereich automatisch auf start_ip.x.x.255 gekürzt.
Beispiele
App-Einstellungen verwenden (empfohlen)
Leeren Body senden, um den in der App konfigurierten IP-Bereich und Port zu verwenden:
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Benutzerdefinierter IP-Bereich
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
}'
Antwort
{
"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"
}
]
}
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
| data.total | integer | Gesamtzahl der IPs, die auf den TCP-Port geantwortet haben |
| data.success | integer | IPs, die erfolgreich über ADB verbunden wurden |
| data.failed | integer | IPs, bei denen die ADB-Verbindung fehlgeschlagen ist |
| data.details | array | Ergebnisliste pro IP |
| data.details[].ip | string | Gescannte IP-Adresse |
| data.details[].success | boolean | true wenn die ADB-Verbindung erfolgreich war |
| data.details[].message | string | ADB-Ausgabe oder Fehlermeldung |
Fehlerantworten
| HTTP-Status | Code | Beschreibung |
|---|---|---|
| 403 | 403 | API-Zugang erfordert Pro+-Plan |
Funktionsweise
- TCP-Probe — Jede IP im Bereich wird mit einem 1-Sekunden-TCP-Verbindungs-Timeout getestet (gleichzeitig).
- ADB-Verbindung — Für jede IP, die antwortet, wird
adb connect <ip>:<port>versucht (bis zu 2 Wiederholungen). - Ergebnis-Aggregation — Alle Ergebnisse pro IP werden gesammelt und zurückgegeben.
Nach einem erfolgreichen Scan erscheinen verbundene Geräte automatisch in TikMatrix.