Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
tplink-smartplug — TP-Link WiFi SmartPlug क्लाइंट और Wireshark डिसेक्टर | Kitploit
उपकरण/GitHubGitHub/softscheck/tplink-smartplug
पैकेट स्निफिंग और विश्लेषणएन्क्रिप्शन/डिक्रिप्शन उपकरणIoT सुरक्षाभेद्यता विश्लेषणरिवर्स इंजीनियरिंगनेटवर्क सुरक्षावायरलेस सुरक्षाहार्डवेयर और IoT सुरक्षाफर्मवेयर विश्लेषण
GitHubsoftscheck/tplink-smartplug

tplink-smartplug

TP-Link WiFi SmartPlug क्लाइंट और Wireshark डिसेक्टर

1.2k2921 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

TP-Link WiFi SmartPlug क्लाइंट और Wireshark डिसेक्टर

पूरी कहानी के लिए देखें Reverse Engineering the TP-Link HS110

tplink_smartplug.py

मालिकाना TP-Link Smart Home प्रोटोकॉल के लिए एक पायथन क्लाइंट जो TP-Link HS100, HS110 और KP115 WiFi Smart Plugs को नियंत्रित करता है। SmartHome प्रोटोकॉल TCP पोर्ट 9999 पर चलता है और एक तुच्छ XOR ऑटोकी एन्क्रिप्शन का उपयोग करता है जो कोई सुरक्षा प्रदान नहीं करता है।

कोई प्रमाणीकरण तंत्र नहीं है और डिवाइस की स्थिति (कॉन्फ़िगर/अनकॉन्फ़िगर) से स्वतंत्र रूप से कमांड स्वीकार किए जाते हैं।

कमांड JSON का उपयोग करके फ़ॉर्मेट किए जाते हैं, उदाहरण के लिए:

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

null के बजाय हम {} भी लिख सकते हैं। कमांड को नेस्ट किया जा सकता है, उदाहरण के लिए:

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

कमांड की पूरी सूची tplink-smarthome-commands.txt में दी गई है।

उपयोग

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

-t का उपयोग करके लक्ष्य IP प्रदान करें और -c या -j का उपयोग करके एक कमांड भेजें। -c फ़्लैग के लिए कमांड:

-j फ़्लैग का उपयोग करके कमांड के लिए पूर्ण JSON स्ट्रिंग प्रदान करके अधिक उन्नत कमांड (जैसे नियम बनाना या संपादित करना) जारी किए जा सकते हैं। कमांड की व्यापक सूची के लिए कृपया tplink-smarthome-commands.txt देखें।

[!TIP] प्रतिक्रिया को सुंदर प्रिंट करने के लिए, क्वाइट पैरामीटर (-q) का उपयोग करें और आउटपुट को jq के माध्यम से पाइप करें। उदाहरण के लिए: ./tplink_smartplug.py -t 192.168.178.49 -c info -q | jq

Wireshark डिसेक्टर

TP-Link Smart Home प्रोटोकॉल पैकेट्स (TCP पोर्ट 9999) को डिक्रिप्ट करने के लिए Wireshark डिसेक्टर।

ScreenShot

[!NOTE]
यदि आपके पास Wireshark > 3.5.0 है तो आप अंतर्निर्मित डिसेक्टर का उपयोग कर सकते हैं।

स्थापना

tplink-smarthome.lua को इसमें कॉपी करें:

OSस्थापना पथ
Windows%APPDATA%\Wireshark\plugins
Linux/MacOS$HOME/.local/lib/wireshark/plugins

tddp-client.py

TP-Link डिवाइस डिबग प्रोटोकॉल (TDDP) का उपयोग करके TP-Link डिवाइस से बात करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट पायथन क्लाइंट।

TDDP राउटर, एक्सेस पॉइंट, कैमरा और स्मार्टप्लग सहित TP-Link उपकरणों की एक पूरी श्रृंखला में लागू किया गया है। TDDP किसी डिवाइस के कॉन्फ़िगरेशन को पढ़ और लिख सकता है और विशेष कमांड जारी कर सकता है। कमांड भेजने के लिए UDP पोर्ट 1040 का उपयोग किया जाता है, उत्तर UDP पोर्ट 61000 पर आते हैं। इस क्लाइंट का TP-Link Archer C9 वायरलेस राउटर और TP-Link HS-110 WiFi Smart Plug के साथ परीक्षण किया गया है।

TDDP एक बाइनरी प्रोटोकॉल है जो पेटेंट CN102096654A में प्रलेखित है।

कमांड Type और SubType हेडर फ़ील्ड में उपयुक्त मान सेट करके जारी किए जाते हैं। डेटा DES-एन्क्रिप्टेड लौटाया जाता है और डिक्रिप्ट करने के लिए डिवाइस के उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है। इसी प्रकार, डिवाइस पर लिखे जाने वाले कॉन्फ़िगरेशन डेटा को एन्क्रिप्टेड भेजने की आवश्यकता होती है। DES कुंजी उपयोगकर्ता नाम और पासवर्ड के MD5 हैश को एक साथ जोड़कर और फिर MD5 हैश के पहले 8 बाइट्स लेकर बनाई जाती है।

उपयोग

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

-t का उपयोग करके लक्ष्य IP प्रदान करें। आप उपयोगकर्ता नाम और पासवर्ड प्रदान कर सकते हैं, अन्यथा डिफ़ॉल्ट रूप से admin/admin का उपयोग किया जाता है। लौटाए गए डेटा को डिक्रिप्ट करने के लिए ये आवश्यक हैं।

कमांड को दो-अक्षर हेक्स स्ट्रिंग के रूप में प्रदान करें, जैसे -c 0A। कोई कमांड किस प्रकार का डेटा पढ़ सकता है, यह विभिन्न TP-Link उपकरणों के लिए अलग-अलग होगा।

उदाहरण

Archer C9 पर डिफ़ॉल्ट कॉन्फ़िगरेशन में WAN लिंक स्थिति पढ़ने से लिंक डाउन (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
टूल डाउनलोड करें
कमांडविवरण
antitheftकॉन्फ़िगर किए गए एंटीथेफ्ट नियमों की सूची
cloudinfoक्लाउड कनेक्टिविटी जानकारी लौटाता है
countdownकॉन्फ़िगर किए गए काउंटडाउन नियमों की सूची
energyरीयलटाइम वोल्टेज/करंट/पावर लौटाता है
energy_resetएनर्जी मीटर रीसेट करता है
infoडिवाइस जानकारी लौटाता है
ledoffLED संकेतक बंद करता है
ledonLED संकेतक चालू करता है
offप्लग बंद करता है
onप्लग चालू करता है
rebootडिवाइस को रिबूट करता है
resetडिवाइस को फ़ैक्टरी सेटिंग्स पर रीसेट करता है
runtime_resetरनटाइम सांख्यिकी मिटाता है
scheduleकॉन्फ़िगर किए गए शेड्यूल नियमों की सूची
timeसिस्टम समय लौटाता है
wlanscanपास के एक्सेस पॉइंट्स को स्कैन करता है