रूट एक्सेस के बिना एसएमबी सर्वर का उपयोग करना


18

मैं अपने एचटीसी हीरो (एंड्रॉइड 2.1) के लिए एक रास्ता तलाश रहा हूं ताकि मैं अपने एसडी कार्ड और फोन मेमोरी की सामग्री को नियमित विंडोज फाइल शेयर की तरह वाईफाई नेटवर्क पर साझा कर सकूं। मैं ऐसा चाहता हूं कि मुझे अपने फोन को रूट करने की आवश्यकता नहीं है, और मैं सही ऐप के लिए भुगतान करने को तैयार हूं ताकि इसे मुफ्त न मिले।

मैं एसएमबी सर्वर का उपयोग करने के बारे में सोच रहा हूं और मैंने अब तक जो भी पाया है वे हैं:

  1. सांबाएरॉयड जो रूट एक्सेस की आवश्यकता है।
  2. Androidsmb जो "कोड के लिए SMB / CIFS नेटवर्क फ़ाइल और एंड्रॉइड डिवाइसों के लिए प्रिंटर शेयर सर्वर का जावा कार्यान्वयन" है, जो Google कोड पर होस्ट किया गया है जिसका कोई दस्तावेज नहीं है और जिसने कोई फाइल जारी नहीं की है।

क्या एंड्रॉइड पर एक एसएमबी सर्वर विकसित करना तकनीकी रूप से संभव है जो रूट एक्सेस के बिना इंस्टॉल किया जा सकता है?


मैंने कुछ बार Wifi Explorer( appbrain.com/app/wifi-file-explorer/… ) का उपयोग किया है और यह बढ़िया काम करता है, किसी रूट की आवश्यकता नहीं है। यह SMB नहीं है, हालांकि (और शायद एफ़टीपी नहीं है, या तो)।
जो कैसडोने सिप

जवाबों:


12

जैसा कि आपका मूल प्रश्न अभी भी उत्तर नहीं दिया गया है और मुझे आश्चर्य है कि यहाँ, उत्तर है।

संक्षिप्त उत्तर: नहीं, रूट के बिना डिफ़ॉल्ट पोर्ट का उपयोग करके SMB सर्वर को चलाना संभव नहीं है ताकि यह विंडोज पीसी द्वारा पाया जाए।

लंबे उत्तर: SMB या तो बंदरगाहों पर चलता है 137-139 (UDP और TCP) NetBIOS का उपयोग करके या नए सिस्टम (विंडोज विस्टा पर) से सीधे टीसीपी पोर्ट 445 पर जहां बाद वाले मामले में कंप्यूटर का नाम LLMNR (लिंक-स्थानीय मल्टीकास्ट) द्वारा हल किया जाता है नाम रिज़ॉल्यूशन) प्रोटोकॉल जो UDP पोर्ट 5355 पर चलता है। यह महत्वपूर्ण क्यों है? रूट के रूप में नहीं चलने वाले एप्लिकेशन बिना पोर्ट किए गए पोर्ट (<1024) से नहीं जुड़ सकते हैं । SMB के लिए वैकल्पिक पोर्ट का उपयोग करना संभव है, लेकिन डिफ़ॉल्ट लोगों को सुनने के लिए विंडोज को हार्ड-वायर्ड किया गया है। इसलिए मुझे लगता है कि यदि आप विंडोज के लिए लिनक्स या एक अलग एसएमबी क्लाइंट का उपयोग करते हैं जो एक कस्टम पोर्ट नंबर के साथ सर्वर से कनेक्ट करने की अनुमति देता है तो यह संभव है। लेकिन यह वास्तव में सीधा-सीधा तरीका नहीं है।


इस सब के बाद एक महान जवाब महान। धन्यवाद। अब अगर केवल मुझे याद है कि मुझे इसकी आवश्यकता क्यों है ...?)
दिन

3
ठीक है, मैं यह चाहता था क्योंकि मैं एसडी कार्ड का उपयोग करने के लिए यूएसबी प्लग करने के लिए बहुत आलसी हूं: डी
लेटामिक

मुझे आश्चर्य है कि अगर विंडोज के साथ सामना कर सकते हैं \\your.ip:port...
Tobias Kienzler

10

हालांकि बिना रूट के SMB सर्वर को चलाना या पोर्ट फॉरवर्डिंग का उपयोग करना संभव नहीं हो सकता है , लेकिन समान प्रभाव के लिए रूट के बिना WebDAV सर्वर को चलाना संभव है।

Android WebDAV सर्वर सेट करना

अपने स्टॉक नेक्सस 7 पर, मैंने WebDAV सर्वर स्थापित किया , इसे खोला, स्टार्ट बटन पर क्लिक किया और तुरंत /storage/sdcardएप्लिकेशन द्वारा प्रदर्शित URL पर मेरे वेब ब्राउज़र में मेरे फ़ोल्डर को देखने में सक्षम था , अर्थातhttp://192.168.x.y:8080

ध्यान दें कि WebDAV के साथ, आपके पास रूट (/) या DCIM के साथ-साथ SdCard को WebDAV रूट के रूप में चुनने का भी विकल्प है ।

Windows Explorer के माध्यम से WebDAV सर्वर का उपयोग करना

फिर मैंने http://192.168.x.y:8080विंडोज एक्सप्लोरर में एक नेटवर्क ड्राइव के रूप में मैप किया और अपने स्टोरेज ड्राइव की सामग्री को एक्सेस कर सकता था, जैसे कि मैं एमटीपी के माध्यम से जुड़ा था, लेकिन ड्राइव अक्षर के माध्यम से।

अफसोस की बात है, यह समाधान अविश्वसनीय रूप से धीमा है।

प्रत्येक निर्देशिका में परिवर्तन 6 से 20 सेकंड के बीच होता है, जैसा कि अधिकांश फाइलों तक पहुंच है। एक बार जब एक फ़ाइल को एक्सेस किया जाता है, तो यह एक उचित गति पर स्थानांतरित होता है (विंडोज एक्सप्लोरर में एक एकल 42 एमबी फाइल की नकल करने में लगभग 60 सेकंड लगते हैं, इसलिए 700KB / s)।

इस प्रकार विंडोज एक्सप्लोरर के माध्यम से WebDAV कुछ बड़ी फ़ाइलों को डाउनलोड करने के लिए ठीक है, जिसका स्थान आप जानते हैं, लेकिन इस तरह से पूरे डिवाइस को ब्राउज़ या सिंक करना त्वरित नहीं है। मैंने लगभग ६००० फाइलों और ४०० निर्देशिकाओं में १.GB५ जीबी डेटा सिंक किया और इसमें औसतन प्रति मिनट १० घंटे, यानी लगभग ५० केबी / एस या १० फाइलें / डायरियाँ लीं।

Windows कमांड लाइन के माध्यम से WebDAV सर्वर का उपयोग करना

यहां तक ​​कि कमांड लाइन से, प्रत्येक निर्देशिका सूची में 5-6 सेकंड लगते हैं, जैसा कि किसी भी फ़ाइल तक पहुंच नहीं है। कमांड लाइन से उसी 42 एमबी फ़ाइल को कॉपी करते हुए लगभग 20 सेकंड लग गए, इसलिए लगभग 2.1MB / s।

एक वेब ब्राउज़र के माध्यम से WebDAV सर्वर का उपयोग करना

WebDAV के लिए सबसे तेज़ विकल्प हालांकि, सीधे दिए गए URL के माध्यम से अपने वेब ब्राउज़र का उपयोग करना है। निर्देशिका बदलने में शायद ही कभी एक सेकंड से अधिक समय लगता है और वेब ब्राउज़र से उसी 42 एमबी फ़ाइल को डाउनलोड करने में लगभग 12 सेकंड लगते हैं, इसलिए लगभग 3.6 एमबी / एस।

वेब ब्राउज़र का उपयोग करने का नकारात्मक पक्ष यह है कि यह केवल दिनांक (कोई आकार या प्रकार) दिखाता है और फ़ाइलों और निर्देशिकाओं के बीच कोई अंतर नहीं करता है, इसलिए यदि किसी फ़ाइल में कोई एक्सटेंशन नहीं है (या एक निर्देशिका है) तो यह स्पष्ट नहीं हो सकता है यदि एक लिंक पर क्लिक करने पर आप किसी अन्य वेब पेज (एक निर्देशिका के लिए) या एक डाउनलोड (एक फ़ाइल के लिए) शुरू कर देंगे।

चेतावनियां

  • डिफ़ॉल्ट रूप से, विंडोज WebDAV डाउनलोड के आकार को 50000000 बाइट्स (47.6MB) तक सीमित करता है, हालांकि इसे रजिस्ट्री हैक ( FileSizeLimitInBytesइन HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters) के माध्यम से बदला जा सकता है यदि आप जानते हैं कि आप क्या कर रहे हैं।

  • WebDAV पहुंच सुरक्षित नहीं है । यदि आप WebDAV शेयर पर पासवर्ड सेट करते हैं, तब भी कनेक्शन httpनहीं है https, इसलिए यह एन्क्रिप्टेड नहीं है। केवल एक सुरक्षित वाईफाई नेटवर्क पर WebDAV का उपयोग करें और जब आप इंटरनेट कैफे या अन्य असुरक्षित वाईफाई में होते हैं तो निश्चित रूप से WebDAV सर्वर को सक्षम नहीं करते हैं।


यह विधि मेरे डिवाइस पर बहुत तेज़ है। धन्यवाद!
क्लस्टर

सैमसंग S10 + विंडोज 8.0 पर परीक्षण किया गया। ठीक काम करता है।
ब्रेथलॉज़

5

मुद्दा सांबा सर्वर नहीं है, लेकिन यह तथ्य कि विंडोज केवल 445 पोर्ट पर एक सांबा शेयर का उपयोग कर सकता है, और एक गैर-रूट किए गए एंड्रॉइड पर एक सामान्य ऐप पोर्ट 445 पर नहीं सुन सकता है।

लेकिन आप इसे कुछ टीसीपी पोर्ट-मैपिंग से दूर कर सकते हैं:

  1. अपने Android पर एक सांबा सर्वर स्थापित करें , और इसे 7777 जैसे पोर्ट पर सुनें
  2. कहीं टीसीपी पोर्ट-फ़ॉरवर्डिंग सॉफ़्टवेयर स्थापित करें (मैंने इसे वर्चुअलपीसी पर स्थापित किया है)
  3. पोर्ट 445 पर कनेक्शन के लिए सुनने के लिए पोर्टमैपिंग सॉफ़्टवेयर सेट करें, और पोर्ट 7777 पर अपने एंड्रॉइड के कनेक्शन को अग्रेषित करें
  4. अब आप इस virtualPC पर साझा किए गए फ़ोल्डर को एक्सेस कर सकते हैं, और आपको एंड्रॉइड पर स्थापित सांबा सर्वर से डेटा प्राप्त होगा (पोर्ट पोर्ट करें)

मैंने यहाँ अपने ब्लॉग http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html पर विस्तार से सभी चरणों का वर्णन किया है।

मैंने अलग सांबा सर्वर की कोशिश की है, और इस विन्यास में काम करने वाले एकमात्र मुफ्त ऐप को सांबा सर्वर कहा जाता है


दिलचस्प प्रस्ताव, लेकिन क्या आप \\androids.ip:7777एक्सप्लोरर एड्रेस बार में कुछ दर्ज नहीं कर सकते हैं ?
टोबियास किंज़्लर

1
@tobias kienzler मेरी जानकारी के लिए, यह काम नहीं करेगा
अधिकतम

2

वैकल्पिक रूप से, आप अपने एसडी कार्ड की सामग्री तक पहुंच प्राप्त करने के लिए अपने फोन पर एक ftp सर्वर चला सकते हैं। की जाँच करें SwiFTP


मैं दूसरा SwiFTP। आप रूट किए बिना फोन से किसी भी फाइल को लेने में सक्षम नहीं होंगे, लेकिन यह एसडी कार्ड के लिए ठीक काम करना चाहिए।
वेबस

2

मैंने वर्तमान में स्थानीय नेटवर्क में फ़ाइलें साझा करने के लिए एक एप्लिकेशन ( गैर-रूट किए गए उपकरणों के लिए ) समाप्त कर दिया है । मेरे सबक सीखे:

  • एंड्रॉइड पर रूट एक्सेस (गैर-विशेषाधिकारित पोर्ट पर) के बिना एक एसएमबी सर्वर चलाना संभव है। मैक ओएस एक्स इसे बिना किसी समस्या के जोड़ता है (यदि आप अपने आईपी और पोर्ट को बोन्जोर के माध्यम से प्रसारित करते हैं)। लेकिन विंडोज न। जैसा कि पहले ही अन्य उपयोगकर्ताओं द्वारा कहा गया है, विंडोज एसएमबी पहुंच के लिए "हार्डकोड" विशेषाधिकार प्राप्त बंदरगाहों का उपयोग करता है। विंडोज के साथ जुड़ने का एकमात्र तरीका मैंने एक लूपबैक नेटवर्क एडेप्टर बनाया है जैसा कि यहां बताया गया है (एक ही उद्देश्य नहीं, लेकिन विचार)। अंत में मुझे लगता है, कि यूजर-फ्रेंडली तरीका विंडोज पर WebDAV का उपयोग कर रहा है । भले ही विंडोज यह उपयोगकर्ता के अनुकूल नहीं है, क्योंकि आपको अपने आईपी को हाथ से दर्ज करना होगा और मुझे ऐसा कोई तरीका नहीं मिला कि यह कैसे खोजा जा सकता है (कृपया मुझे एक लाइन छोड़ दें, यदि आप एक जानते हैं)।
  • मैक ओएस एक्स दुनिया में एसएमबी प्रोटोकॉल एक स्पष्ट विजेता है । आपका हिस्सा बोन्जौर द्वारा स्वतः खोजा जाएगा और जादुई रूप से फाइंडर में दिखाई देगा। यह अजीब है, कि WebDAV और FTP के शेयरों को अनदेखा किया जाता है (फाइंडर द्वारा ऑटो-माउंटेड नहीं), हालांकि वे बोन्जौर द्वारा समर्थित हैं । थर्ड-पार्टी क्लाइंट्स (उदाहरण के लिए साइबरडक) को इन शेयरों की ऑटो-डिस्कवरी में कोई समस्या नहीं है।

1

मुझे गलतफहमी हो सकती है लेकिन ऐसा लगता है कि आपको एक SMB क्लाइंट की आवश्यकता है, सर्वर की नहीं। इसके अलावा, आपको रूट एक्सेस की आवश्यकता नहीं है। आपके कंप्यूटर में ट्रान्सफ़ॉर्म करने के लिए SMB का उपयोग करने के लिए आप SMB Addon के साथ ASTRO फ़ाइल प्रबंधक का उपयोग कर सकते हैं , या वहाँ फ़ाइल विशेषज्ञ भी है जो मुफ़्त है।

तुम भी इस्तेमाल कर सकते हैं WebDAV की तरह एक app के साथ एसएमबी के बजाय WebSharing

अतीत में मैंने एक ऐप का उपयोग किया था जो मेरे कंप्यूटर पर क्लाइंट सॉफ़्टवेयर के साथ मुझे वेब के माध्यम से फ़ाइल एक्सप्लोरर के माध्यम से फ़ाइलों को स्थानांतरित करने की अनुमति देता था। यह पूर्ण VNC ऐप नहीं था। मुझे एक नया फोन मिला और अब मेरे जीवन के लिए मुझे ऐप नहीं मिल रहा है।


नमस्ते उत्तर के लिए धन्यवाद, मैं वास्तव में फोन पर एक सर्वर चाहता था ताकि मेरे (उबंटू) पीसी उस पर नई फ़ाइलों को धक्का दे सके जब मुझे घर मिले बिना मुझे फोन को अपनी जेब से निकालने के लिए भी। पीसी पर अतिरिक्त सॉफ़्टवेयर की आवश्यकता नहीं है, लेकिन निश्चित रूप से फोन पर एक FTP या WebDAV सर्वर भी उस आवश्यकता को पूरा करेगा, इसलिए ऐसा लगता है कि फ़ाइल विशेषज्ञ काम करेगा। अब मैं वापस रिपोर्ट कर रहा हूँ धन्यवाद
दिन

Hmmm एफ़टीपी सर्वर काम नहीं करता है - उबंटू "सर्वर से कनेक्ट करें" विज़ार्ड कहता है "स्ट्रीम का अप्रत्याशित अंत"। काम पर जाना है, बाद में फिर से कोशिश करेंगे टा।
दिन

नहीं, यह काम नहीं करता ... मेरी गलती है। यह काम अच्छी तरह से धन्यवाद करना चाहिए।
दिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.