
सुरक्षा प्रशिक्षण प्लेटफार्मों में मोबाइल घटकों के एकीकरण को सक्षम करने के लिए एक कंटेनर-आधारित ढांचा
डॉकराइज़्ड एंड्रॉइड एक कंटेनर-आधारित ढाँचा है जो डॉकर के अंदर एंड्रॉइड एमुलेटर को चलाने और इसे ब्राउज़र के माध्यम से नियंत्रित करने की अनुमति देता है। यह प्रोजेक्ट साइबर रेंज में मोबाइल सुरक्षा घटकों को एकीकृत करने के लिए एक प्रारंभिक बिंदु प्रदान करने के उद्देश्य से विकसित किया गया है, लेकिन इसका उपयोग किसी भी उद्देश्य के लिए किया जा सकता है। किसी भी मामले में, विकास और परीक्षण उद्देश्यों के लिए सुझाया गया प्रोजेक्ट docker-android है।
जैसा कि उपरोक्त संक्षिप्त विवरण में कहा गया है, यह प्रोजेक्ट साइबर रेंज में मोबाइल सुरक्षा घटकों को शामिल करने के लिए एक प्रारंभिक बिंदु प्रदान करने के उद्देश्य से बनाया गया है। इस कारण से, पहले से विकसित की गई सुविधाएँ और भविष्य में जोड़ी जाने वाली सुविधाएँ उपयोगकर्ता को यथार्थवादी सिमुलेशन (उदाहरण के लिए सुरक्षा प्रशिक्षण के लिए) सेट करने में आसान बनाने में मदद करेंगी। यह README काफी लंबा है, शायद आप सीधे "कैसे चलाएं" भाग पर जाना चाहें।
वर्तमान में निम्नलिखित सुविधाएँ उपलब्ध हैं:
| प्रारंभिक सेटअप | इंस्टेंस प्रबंधक सेटअप | मैन्युअल सेटअप |
|---|---|---|
| initial-setup | instance-manager-setup | manual-setup |
| टूलबॉक्स सुविधाएँ | इंस्टेंस स्विच |
|---|---|
| toolbox | instance-switch |
प्रोजेक्ट तीन मुख्य भागों से बना है:
मुख्य घटक वह है जो एक डॉकर कंटेनर के अंदर एंड्रॉइड घटक (एमुलेटेड या वास्तविक) को चलाने के लिए आवश्यक सभी प्रक्रियाओं को निष्पादित करता है, साथ ही बाहर की ओर कुछ सुविधाओं को उजागर करता है। यह निस्संदेह सबसे जटिल भाग है क्योंकि इसे सुविधाओं का एक सेट प्रदान करने के लिए विभिन्न प्रक्रियाओं का प्रबंधन करना होता है। उपरोक्त आंकड़ा दीर्घकालिक प्रक्रियाओं, आरंभिक प्रक्रियाओं और उपयोगिता स्क्रिप्ट के बीच एक स्पष्ट अंतर दिखाता है। इसके अलावा, यह आंकड़ा दर्शाता है कि 6 दीर्घकालिक प्रक्रियाएँ हैं, यह मुख्य घटक का सामान्य अवलोकन प्रदान करने के लिए जोड़ी गई एक छोटी अशुद्धि है, वास्तव में मुख्य घटक के दो अलग-अलग स्वाद हैं:
मुख्य वास्तुशिल्प अंतर दीर्घकालिक प्रक्रियाओं से संबंधित है: एमुलेटर के लिए कोर दीर्घकालिक एमुलेटर प्रक्रिया चलाता है जबकि वास्तविक डिवाइस के लिए कोर भौतिक डिवाइस को प्रदर्शित और नियंत्रित करने के लिए दीर्घकालिक scrcpy प्रक्रिया चलाता है। अन्य भाग काफी समान हैं, बस कोर घटक के प्रकार के आधार पर अलग-अलग व्यवहार का पालन करने के लिए कुछ तर्क के साथ।
UI घटक बैकएंड द्वारा प्रदान की गई सभी सुविधाओं का उपयोग करने का एक सरल तरीका प्रदान करता है और डिवाइस को प्रदर्शित और नियंत्रित करने की क्षमता भी जोड़ता है। उपयोगकर्ता को मैन्युअल रूप से कोर घटक का पता और संबंधित पोर्ट (बैकएंड द्वारा प्रदान किया गया पोर्ट और websockify द्वारा प्रदान किया गया पोर्ट) डालना होता है; इस मैन्युअल सेटअप के माध्यम से डिफ़ॉल्ट पोर्ट (जो बैकएंड के लिए 4242 और websockify के लिए 6080 हैं) को बदलना संभव है।
इंस्टेंस प्रबंधक घटक का कार्य एक एकल REST API के माध्यम से चल रहे कोर के बारे में सभी जानकारी (यानी, पते और पोर्ट) प्रदान करना है। यह एक सरल JSON कॉन्फ़िगरेशन फ़ाइल लिखकर किया जाता है जिसमें docker-compose में मौजूद सभी कोर के बारे में जानकारी होती है, ताकि एक-एक करके मैन्युअल रूप से जोड़ने के कष्टदायक कार्य से बचा जा सके। JSON कॉन्फ़िगरेशन फ़ाइल की संरचना निम्नलिखित है:
{
"instances": [
{
"name": [डिवाइस की पहचान करने के लिए सामान्य स्ट्रिंग],
"address": [घटक का पता],
"core_port": [बैकएंड का पोर्ट],
"vnc_port": [VNC का पोर्ट]
}
]
}
| एंड्रॉइड संस्करण | API | इमेज |
|---|---|---|
| 5.0.1 | 21 | secsi/dockerized-android-core-emulator-5.0.1 |
| 5.1.1 | 22 | secsi/dockerized-android-core-emulator-5.1.1 |
| 6.0 | 23 | secsi/dockerized-android-core-emulator-6.0 |
| 7.0 | 24 | secsi/dockerized-android-core-emulator-7.0 |
| 7.1.1 | 25 | secsi/dockerized-android-core-emulator-7.1.1 |
| 8.0 | 26 | secsi/dockerized-android-core-emulator-8.0 |
| 8.1 | 27 | secsi/dockerized-android-core-emulator-8.1 |
| 9.0 | 28 | secsi/dockerized-android-core-emulator-9.0 |
| 10.0 | 29 | secsi/dockerized-android-core-emulator-10.0 |
| 11.0 | 30 | secsi/dockerized-android-core-emulator-11.0 |
| - | - | secsi/dockerized-android-core-bare |
| - | - | secsi/docker-android-core-real-device |
secsi/dockerized-android-core-bare कोई सिस्टम इमेज डाउनलोड नहीं करता है और आप अपने होस्ट मशीन पर वह फ़ोल्डर माउंट कर सकते हैं जहाँ आपके पास सभी SDK फ़ोल्डर हैं।