API de Scan TCP
L'API de Scan TCP analyse une plage d'adresses IPv4 pour détecter la connectivité TCP et connecte automatiquement les appareils Android accessibles via ADB sur le réseau. Cela est utile pour découvrir et connecter des appareils Android sans fil sans commandes adb connect manuelles.
Endpoint
POST /api/v1/device/tcp-scan
Prérequis
Cette API nécessite un plan Pro, Team ou Business. Le plan Starter n'y a pas accès.
Corps de la Requête
Tous les champs sont optionnels. Lorsqu'ils sont omis, l'application utilise la plage d'IP et le port configurés dans les Paramètres.
| Champ | Type | Requis | Description |
|---|---|---|---|
| start_ip | string | Non | Adresse IPv4 de début (ex. "192.168.1.2"). Par défaut les paramètres enregistrés de l'app. |
| end_ip | string | Non | Adresse IPv4 de fin (ex. "192.168.1.254"). Par défaut les paramètres enregistrés de l'app. |
| port | integer | Non | Port TCP à scanner (ex. 5555). Par défaut le scan_port enregistré (défaut : 5555). |
Le scan est limité à un seul sous-réseau /24. Si start_ip et end_ip appartiennent à des sous-réseaux /24 différents, la plage est automatiquement tronquée à start_ip.x.x.255.
Exemples
Utiliser les Paramètres de l'App (recommandé)
Envoyez un body vide pour utiliser la plage d'IP et le port configurés dans l'app :
curl -X POST http://localhost:50809/api/v1/device/tcp-scan \
-H "Content-Type: application/json" \
-d '{}'
Plage d'IP Personnalisée
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
}'
Réponse
{
"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"
}
]
}
}
Champs de la Réponse
| Champ | Type | Description |
|---|---|---|
| data.total | integer | Total des IP ayant répondu sur le port TCP |
| data.success | integer | IP connectées avec succès via ADB |
| data.failed | integer | IP ayant échoué la connexion ADB |
| data.details | array | Liste des résultats par IP |
| data.details[].ip | string | Adresse IP scannée |
| data.details[].success | boolean | true si la connexion ADB a réussi |
| data.details[].message | string | Sortie ADB ou message d'erreur |
Réponses d'Erreur
| Statut HTTP | Code | Description |
|---|---|---|
| 403 | 403 | L'accès à l'API nécessite un plan Pro+ |
Fonctionnement
- Sonde TCP — Chaque IP de la plage est testée avec un timeout de connexion TCP d'1 seconde (en parallèle).
- Connexion ADB — Pour chaque IP qui répond,
adb connect <ip>:<port>est tenté (jusqu'à 2 réessais). - Agrégation des Résultats — Tous les résultats par IP sont collectés et retournés.
Après un scan réussi, les appareils connectés apparaissent automatiquement dans TikMatrix.