Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
tplink-smartplug — Client SmartPlug WiFi TP-Link et dissecteur Wireshark | Kitploit
Outils/GitHubGitHub/softscheck/tplink-smartplug
Sniffing et Analyse de PaquetsOutils de Chiffrement/DéchiffrementSécurité IoTAnalyse des VulnérabilitésRétro-ingénierieSécurité RéseauSécurité Sans FilSécurité Matériel et IoTAnalyse de Micrologiciel
GitHubsoftscheck/tplink-smartplug

tplink-smartplug

Client SmartPlug WiFi TP-Link et dissecteur Wireshark

1.2k29238il y a 1 anVérifié par Kitploit
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Client TP-Link WiFi SmartPlug et dissecteur Wireshark

Pour l'histoire complète, voir Rétro-ingénierie de la TP-Link HS110

tplink_smartplug.py

Un client Python pour le protocole propriétaire TP-Link Smart Home afin de contrôler les prises intelligentes WiFi TP-Link HS100, HS110 et KP115. Le protocole SmartHome fonctionne sur le port TCP 9999 et utilise un chiffrement XOR à auto-clé trivial qui n'offre aucune sécurité.

Il n'existe aucun mécanisme d'authentification et les commandes sont acceptées indépendamment de l'état de l'appareil (configuré/non configuré).

Les commandes sont formatées en JSON, par exemple :

{"system":{"get_sysinfo":null}}

Au lieu de null, on peut aussi écrire {}. Les commandes peuvent être imbriquées, par exemple :

{"system":{"get_sysinfo":null},"time":{"get_time":null}}

Une liste complète des commandes est fournie dans tplink-smarthome-commands.txt.

Utilisation

./tplink_smartplug.py -t <ip> [-c <cmd> || -j <json>]

Fournissez l'adresse IP cible avec -t et une commande à envoyer à l'aide de -c ou de -j. Commandes pour l'option -c :

CommandeDescription
antitheftListe les règles antivol configurées
cloudinfoRenvoie les informations de connectivité cloud
countdownListe les règles de compte à rebours configurées
energyRenvoie tension/courant/puissance en temps réel
energy_resetRéinitialise les compteurs d'énergie
infoRenvoie les informations de l'appareil
ledoffÉteint le voyant LED
ledonAllume le voyant LED
offÉteint la prise
onAllume la prise
rebootRedémarre l'appareil
resetRéinitialise l'appareil aux paramètres d'usine
runtime_resetEfface les statistiques d'exécution
scheduleListe les règles de programmation configurées
timeRenvoie l'heure système
wlanscanRecherche les points d'accès à proximité

Des commandes plus avancées, comme la création ou la modification de règles, peuvent être envoyées à l'aide de l'option -j en fournissant la chaîne JSON complète de la commande. Veuillez consulter tplink-smarthome-commands.txt pour une liste complète des commandes.

[!TIP] Pour un affichage formaté, utilisez le paramètre silencieux (-q) et passez la sortie dans jq. Par exemple : ./tplink_smartplug.py -t 192.168.178.49 -c info -q | jq

Dissecteur Wireshark

Dissecteur Wireshark pour déchiffrer les paquets du protocole TP-Link Smart Home (port TCP 9999).

ScreenShot

[!NOTE]
Si vous avez Wireshark > 3.5.0, vous pouvez utiliser le dissecteur intégré.

Installation

Copiez tplink-smarthome.lua dans :

OSChemin d'installation
Windows%APPDATA%\Wireshark\plugins
Linux/MacOS$HOME/.local/lib/wireshark/plugins

tddp-client.py

Un client Python de preuve de concept pour communiquer avec un appareil TP-Link à l'aide du TP-Link Device Debug Protocol (TDDP).

TDDP est implémenté sur toute une gamme d'appareils TP-Link, notamment les routeurs, les points d'accès, les caméras et les prises intelligentes. TDDP peut lire et écrire la configuration d'un appareil et émettre des commandes spéciales. Le port UDP 1040 est utilisé pour envoyer les commandes, les réponses arrivent sur le port UDP 61000. Ce client a été testé avec un routeur sans fil TP-Link Archer C9 et une prise intelligente WiFi TP-Link HS-110.

TDDP est un protocole binaire documenté dans le brevet CN102096654A.

Les commandes sont émises en définissant les valeurs appropriées dans les champs d'en-tête Type et SubType. Les données renvoyées sont chiffrées en DES et nécessitent le nom d'utilisateur et le mot de passe de l'appareil pour être déchiffrées. De même, les données de configuration à écrire sur l'appareil doivent être envoyées chiffrées. La clé DES est construite en prenant le hachage MD5 du nom d'utilisateur et du mot de passe concaténés, puis en prenant les 8 premiers octets du hachage MD5.

Utilisation

./tddp-client.py -t <ip> -u username -p password -c 0A

Fournissez l'adresse IP cible avec -t. Vous pouvez fournir un nom d'utilisateur et un mot de passe ; sinon admin/admin est utilisé par défaut. Ils sont nécessaires pour déchiffrer les données renvoyées.

Fournissez la commande sous forme de chaîne hexadécimale de deux caractères, p. ex. -c 0A. Le type de données qu'une commande peut lire varie selon les appareils TP-Link.

Exemple

La lecture de l'état du lien WAN sur un Archer C9 en configuration par défaut indique que le lien est inactif (0) :

root@kitploit:~
./tddp-client.py -t 192.168.0.1 -c 0E
Request Data: Version 02 Type 03 Status 00 Length 00000000 ID 0001 Subtype 0e
Reply Data:   Version 02 Type 03 Status 00 Length 00000018 ID 0001 Subtype 0e
Decrypted:    wan_ph_link 1 0
Télécharger l’outil