Verwenden von SMB-Server ohne Root-Zugriff -- wi-fi Bereich und root-access Bereich und cifs Bereich android verbunden Problem

Using SMB server without root access



19
vote

Problem

Deutsch

Ich suche einen Weg für meinen HTC Helden (Android 2.1), damit ich den Inhalt meiner SD-Karte und den Telefonspeicher über das WLAN-Netzwerk wie eine reguläre Windows-Dateifreigabe teilen kann. Ich möchte, dass ich nicht erfordert, dass ich mein Telefon wurzelst, und bin bereit, für die richtige App zu zahlen, damit es nicht frei sein muss.

Ich denke an den SMB-Server, und alles, was ich bisher gefunden habe, sind:

    .
  1. sambaandroid , der Root-Zugriff erfordert.
  2. androidsmb eine "Java-Implementierung der SMB / CIFS-Netzwerkdatei- und Druckerfreigabe" Server für Android-Geräte, die auf Google-Code gehostet werden, der keine Dokumentation hat und keine Dateien freigegeben hat.

ist es sogar technisch möglich, einen SMB-Server auf Android zu entwickeln, der ohne Root-Zugriff installiert werden kann?

Englische Sprache

I'm looking for a way for my HTC Hero (Android 2.1) so I can share the contents of my SD card and phone memory over the WiFi network like a regular Windows file share. I'd like one that does not require me to root my phone, and am willing to pay for the right app so it doesn't have to be free.

I'm thinking of using SMB server and all I've found so far are:

  1. SambaAndroid which requires root access.
  2. androidsmb which is a "Java implementation of the SMB/CIFS network file and printer share server for Android devices" hosted on Google Code that has no documentation and has not released any files.

Is it even technically possible to develop an SMB Server on Android that can be installed without root access?

        
 
 

Antwortliste

13
 
vote
vote
Beste Antwort
 

Da Ihre ursprüngliche Frage immer noch nicht beantwortet wird, und ich habe mich das gleiche gefragt, hier ist die Antwort.

Kurze Antwort: Nein, ohne root ist es nicht möglich, einen SMB-Server mit den Standardports auszuführen, sodass er von Windows-PCs gefunden wird.

lange Antwort: SMB läuft entweder auf Ports 137-139 (UDP und TCP) mit NetBIOS oder auf neueren Systemen (von Windows Vista ab) direkt auf dem TCP-Port 445, wo in den Letzteren Fallcomputernamen von der LLMNR aufgelöst werden (Link -Lokal-Multicast-Namensauflösung) Protokoll, das auf dem UDP-Port 5355 ausgeführt wird. Warum ist das wichtig? Apps läuft nicht als root Kann nicht an unvollständige Ports (/ £ 1024) binden können. Es ist möglich, alternative Ports für SMB zu verwenden, aber Windows ist hart verdrahtet, um einfach die Standardeinstellungen zu hören. Ich denke, wenn Sie Linux oder einen separaten SMB-Client für Windows verwenden, mit dem Sie eine Verbindung mit einem Server mit einer benutzerdefinierten Portnummer verbinden können, die wahrscheinlich möglich ist. Aber es ist nicht wirklich ein gerades Weg.

 

As your original question still isn't answered and I wondered the same, here's the answer.

Short answer: No, without root it's not possible to run an SMB server using the default ports so that it's found by Windows PCs.

Long answer: SMB either runs on ports 137-139 (UDP and TCP) using NetBIOS or on newer systems (from Windows Vista onwards) directly on TCP port 445 where in the latter case computer names are resolved by the LLMNR (Link-local Multicast Name Resolution) protocol which runs on UDP port 5355. Why is this important? Apps not running as root can't bind to unprivileged ports (<1024). It's possible to use alternative ports for SMB but Windows is hard-wired to just listen to the default ones. So I guess if you use Linux or a separate SMB client for Windows which allows to connect to a server with a custom port number it's probably possible. But it's not really a straight-forward way.

 
 
     
     
10
 
vote

Während es nicht möglich ist, einen SMB-Server ohne root oder Using-Portweiterleitung , es ist möglich, einen WebDAV-Server ohne Wurzel für einen ähnlichen Effekt auszuführen.

Einrichten eines Android-WebDAV-Servers

auf meinem Stock NEXUS 7, ich installierte webDAV-Server < / a>, öffnete es, klickte auf die Schaltfläche Start und konnte sofort meinen Ordner /storage/sdcard in meinem Webbrowser an der von der Anwendung angezeigten URL sehen, dh http://192.168.x.y:8080 < / p>

Beachten Sie, dass Sie mit WebDAV auch die Möglichkeit haben, root (/) oder dcim sowie sdcard wie das webDAV < em> root .

Verwenden des WebDAV-Servers über den Windows Explorer

Ich habe dann http://192.168.x.y:8080 als Netzwerklaufwerk in Windows Explorer zugeordnet und könnte der Zugriff auf den Inhalt meines Speicherlaufwerks, nur als ob ich über MTP verbunden wäre, sondern durch einen Laufwerksbuchstaben.

.

Leider ist diese Lösung unglaublich langsam.

Jede Verzeichnisänderung dauert zwischen 6 und 20 Sekunden, wie der Zugriff auf die meisten Dateien. Sobald eine Datei zugegriffen wird, überträgt sie jedoch mit einer angemessenen Geschwindigkeit über (Kopieren einer einzelnen 42 MB-Datei in Windows Explorer dauerte etwa 60 Sekunden, also 700kb / s).

somit webDAV über den Windows Explorer ist in Ordnung, um ein paar große Dateien herunterzuladen, deren Speicherort Sie kennen, aber das Durchsuchen oder Synchronisieren eines gesamten Geräts auf diese Weise ist es nicht schnell. Ich synchronisierte 1,75 GB Daten in rund 6000 Dateien und 400 Verzeichnissen und dauerte 10 Stunden, d. H. Durchschnittlich um 50 KB / s oder 10 Dateien / DIRS pro Minute.

Verwenden des WebDAV-Servers über die Windows-Befehlszeile

Selbst aus der Befehlszeile dauert jede Verzeichnisliste 5-6 Sekunden, ebenso wie jeder Dateizugriff. Das Kopieren derselben 42MB-Datei von der Befehlszeile dauerte ca. 20 Sekunden, so dass etwa 2,1 MB / s.

Verwenden des WebDAV-Servers über einen Webbrowser

Die schnellste Option für WebDAV ist, Ihren Webbrowser jedoch direkt über die angegebene URL zu verwenden. Das Ändern des Verzeichnisses dauert selten mehr als eine Sekunde und das Herunterladen derselben 42 MB-Datei vom Webbrowser dauerte rund 12 Sekunden, so dass etwa 3,6 MB / s.

Der Nachteil der Verwendung des Webbrowsers besteht darin, dass es nur das Datum (keine Größe oder Art) anzeigt, und es gibt keine Unterscheidung zwischen Dateien und Verzeichnissen, wenn eine Datei keine Erweiterung hat (oder ein Verzeichnis), dann kann es angezeigt werden Seien Sie nicht offensichtlich, wenn Sie auf einen Link klicken, führt Sie auf eine andere Webseite (für ein Verzeichnis) oder starten Sie einen Download (für eine Datei).

Vorbehalte

  • Standardmäßig begrenzt Windows die Größe von WebDAV-Downloads auf 50000000 Bytes (47,6 MB), obwohl dies durch einen Registry-Hack ( FileSizeLimitInBytes in HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebClientParameters ) Wenn Sie wissen, was Sie tun.

  • WebDAV-Zugriff ist nicht sicher . Auch wenn Sie ein Kennwort in den WebDAV-Teilen einstellen, ist die Verbindung immer noch http nicht https , so ist es nicht verschlüsselt. Verwenden Sie nur WebDAV auf einem sicheren WLAN-Netzwerk und aktivieren Sie den WebDAV-Server sicher nicht, während Sie sich in einem Internetcafé oder einem anderen ungesicherten WLAN befinden.

 

While it may not be possible to run an SMB server without root or using port forwarding, it is possible to run a WebDAV server without root for a similar effect.

Setting up an Android WebDAV server

On my stock Nexus 7, I installed WebDAV Server, opened it, clicked on the start button and was immediately able to see my /storage/sdcard folder in my web browser at the URL displayed by the application, i.e. http://192.168.x.y:8080

Note that with WebDAV, you also have the option of selecting Root (/) or DCIM as well as SdCard as the WebDAV root.

Using the WebDAV server through Windows Explorer

I then mapped http://192.168.x.y:8080 as a network drive in Windows Explorer and could the access the contents of my storage drive, just as if I was connected via MTP, but through a drive letter.

Sadly, this solution is incredibly slow.

Every directory change takes between 6 and 20 seconds, as does accessing most files. Once a file is accessed though, it transfers at a reasonable speed (copying a single 42MB file in Windows Explorer took around 60 seconds, so 700KB/s).

Thus WebDAV via Windows Explorer is Ok for downloading a few large files whose location you know, but browsing or syncing a whole device this way isn't quick. I synced 1.75GB of data in around 6000 files and 400 directories and it took 10 hours, i.e. around 50KB/s or 10 files/dirs per minute on average.

Using the WebDAV server through Windows command line

Even from the command line, each directory listing takes 5-6 seconds, as does any file access. Copying the same 42MB file from the command line took around 20 seconds, so around 2.1MB/s.

Using the WebDAV server through a web browser

The fastest option for WebDAV is to use your web browser though, directly through the URL given. Changing directory rarely takes more than a second and downloading the same 42MB file from the web browser took around 12 seconds, so around 3.6MB/s.

The downside of using the web browser is that it only shows the date (no size or type) and makes no distinction between files and directories so if a file doesn't have an extension (or a directory does) then it may not be obvious if clicking on a link will take you to another web page (for a directory) or start a download (for a file).

Caveats

  • By default, Windows limits the size of WebDAV downloads to 50000000 bytes (47.6MB), though this can be changed through a registry hack (FileSizeLimitInBytes in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters) if you know what you are doing.

  • WebDAV access is not secure. Even if you set a password on the WebDAV share, the connection is still http not https, so it is not encrypted. Only use WebDAV on a secure wifi network and certainly don't enable the WebDAV server while you are in an internet cafe or other unsecured wifi.

 
 
   
   
5
 
vote

Das Problem ist nicht der Samba-Server, aber die Tatsache, dass Windows nur auf einen Samba-Teilen auf Port 445 zugreifen kann, und auf einem nicht verwurzelten Android kann eine normale App auf Port 445 nicht hören.

Sie können dies jedoch mit einem TCP-Port-Mapping überwinden:

    .
  1. Installieren Sie einen samba server auf Ihrem Android und lassen Sie es auf einem Hafen wie 7777 zu hören
  2. Installieren Sie eine TCP-Port-Weiterleitungssoftware irgendwo (ich habe es auf einem VirtualPC installiert)
  3. Richten Sie die PortMapping-Software ein, um Verbindungen am Port 445 anzuhören, und leiten Sie die Anschlüsse an Ihrem Android an Port 7777
  4. weiter
  5. Jetzt können Sie auf den freigegebenen Ordner auf diesem VirtualPC auf den freigegebenen Ordner zugreifen, und Sie erhalten die Daten von dem auf Android installierten Samba-Server (Trough the PortMapping)

Ich habe hier alle Schritte in meinem Blog beschrieben http: //techForpassion.blogspot. IT / 2013/12 / Android-how-to-Share-Ordner-over-Wifi.html

Ich habe einen anderen Samba-Server ausprobiert, und die einzige kostenlose App, die in dieser Konfiguration funktioniert, wird als samba server

 

The issue is not the samba server, but the fact that Windows can access a samba share only on port 445, and on a non-rooted android a normal App can't listen on port 445.

But you can overcome this with some TCP port-mapping:

  1. Install a samba server on your android, and make it listen on a port like 7777
  2. Install a TCP port-forwarding software somewhere (I installed it on a virtualPC)
  3. Setup the portmapping software to listen for connections on port 445, and forward the connections to your android on port 7777
  4. Now you can access the shared folder on this virtualPC, and you'll get the data from the samba server installed on android (trough the portmapping)

I've described all the steps in detail here on my blog http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html

I've tried different samba server, and the only free app that works in this configuration is called Samba Server

 
 
   
   
2
 
vote

Alternativ können Sie einen FTP-Server auf Ihrem Telefon ausführen, um Zugriff auf den Inhalt Ihrer SD-Karte zu erhalten. Schauen Sie sich swiftp .

 

Alternatively, you could run a ftp server on your phone to get access to your SD card's content. Check out SwiFTP.

 
 
 
 
2
 
vote

Ich habe derzeit ein App (< stark> für nicht verwurzelte Geräte ) zum Teilen von Dateien im lokalen Netzwerk. Meine Lektionen gelernt:

  • Es ist möglich, einen SMB-Server auf Android ohne Root-Zugriff (auf nicht privilegierter Port) auszuführen. Mac OS X verbindet sich ohne Probleme mit ihm (wenn Sie Ihre IP- und Ports über Bonjour übertragen). Aber Windows nicht. Wie bereits von anderen Benutzern gesagt, verwendet Windows "Hardcoded" privilegierte Ports für den Zugriff von SMB. Die einzige Möglichkeit, die ich für die Verbindung mit Windows gefunden habe, erstellt einen Loopback-Netzwerkadapter, wie er erläutert hier (nicht derselbe Zweck, sondern die Idee). Schließlich denke ich, dass der benutzerfreundeste Weg WebDAV unter Windows verwendet. Auch wenn die Fenster nicht benutzerfreundlich tun, weil Sie Ihre IP von Hand eingeben müssen, und ich habe keinen Weg gefunden, wie es entdeckt werden konnte (bitte lassen Sie mich eine Zeile fallen, wenn Sie einen kennen).
  • In der Mac OS X World Das SMB-Protokoll ist ein klarer Gewinner . Ihre Anteil wird von Bonjour automatisch entdeckt und in Finder magisch angezeigt. Es ist komisch, dass WebDAV- und FTP-Aktien ignoriert werden (nicht automatisch vom Finder montiert), obwohl sie werden von Bonjour unterstützt. Clients von Drittanbietern (z. B. Cyberduck) haben keine Probleme mit der Auto-Entdeckung dieser Aktien.
 

I currently finished an app (for non-rooted devices) for sharing files in local network. My lessons learned:

  • It is possible to run an SMB Server on Android without root access (on non-privileged port). Mac OS X connects to it without any problems (if you broadcast your ip and port via Bonjour). But Windows dont. As already said by another users, Windows uses "hardcoded" privileged ports for SMB access. The only way I found for connecting with Windows is creating an loopback network adapter as explained here (not the same purpose, but the idea). Finally I think, that the user-friendliest way is using WebDAV on Windows. Even if the Windows do it not user-friendly, because you have to enter your ip by hand and I did not find a way how it could be discovered (please drop me a line, if you know one).
  • In the Mac OS X world the SMB protocol is a clear winner. Your share will be auto-discovered by Bonjour and magically appears in Finder. It is weird, that WebDAV and FTP shares are ignored (not auto-mounted by Finder), though they are supported by Bonjour. Third-party clients (e.g. Cyberduck) have no problems with auto-discovery of these shares.
 
 
1
 
vote

Ich kann Missverständnissen sein, aber es klingt, als ob Sie einen SMB-Client benötigen, kein Server. Sie benötigen auch keinen Root-Zugriff. So verwenden Sie SMB-Dateien mit dem Computer, um auf Ihrem Computer zu tranfer zu verwenden, können Sie Astro-Dateimanager verwenden mit dem smb addon , Oder es gibt Dateiexperte , die auch kostenlos ist.

Sie könnten auch WebDAV anstelle von SMB mit einer App wie websharing .

In der Vergangenheit habe ich eine App verwendet, die mit Clientsoftware auf meinem Computer dazu durfte, Dateien über den Datei-Explorer von überall im Web übertragen zu lassen. Es war keine vollständige VNC-App. Ich habe ein neues Telefon und jetzt für das Leben von mir kann ich die App nicht finden.

 

I may be misunderstanding but it sounds like you need an SMB client, not a server. Also, you do not need root access. To use SMB to tranfer files to you computer you can use ASTRO File Manager with the SMB addon, or there's File Expert which is also free.

You could also use WebDAV instead of SMB with an app like WebSharing.

In the past I used an app that with client software on my computer allowed me to transfer files through the file explorer from anywhere through the web. It wasn't a full VNC app. I got a new phone and now for the life of me I can't find the app.

 
 
     
     

Verwandte Fragen

2  Montage von CIFs / Samba-Volume als Verzeichnis in Android  ( Mounting cifs samba volume as a directory in android ) 
Ich benutze ein benutzerdefiniertes ROM basierend auf CyanogenMod 13, mein Gerät ist verwurzelt und ich habe xgespezifische installiert. Ich suche nach einer ...

0  Wie montiere ich einen Synology Remote-Ordner auf Android 8.0?  ( How do i mount a synology remote folder on android 8 0 ) 
Mein Telefon ist nicht verwurzelt. Ich habe freigegebene Ordner auf einem Synology-Laufwerk, den ich auf ein paar verschiedenen MACs montieren kann, die ver...

0  Netzwerkspeicherantrag  ( Network storage application ) 
Ich habe Android-Gerät EGRAT U9 mit angehängter externer Festplatte. Ich möchte dieses Gerät auch als NAS verwenden und das Laufwerk als Netzwerkdiskette auf ...

4  Gute Kombination zum Spielen von Medien von SMB / CIFS Share?  ( Good combination for playing media from smb cifs share ) 
Derzeit verwende ich ES File Explorer + MX Player, um Audio- und Videodateien dafür abzuspielen. Leider hat es einige Probleme: . MX-Player sieht nur akt...

2  So teilen Sie Android-Verzeichnisse über LAN mit dem SMB-Protokoll [Duplikat]  ( How to share android directories over lan using smb protocol ) 
Diese Frage hat bereits Antworten hier Verwenden von SMB-Server ohne Root-Zugriff (6 answers) ...

0  Ist es möglich, den Hidden SMB / CIFS-Teilen von Android zu erreichen?  ( Is it possible to reach hidden smb cifs share from android ) 
Ich verwende ES file explorer , um meine Windows-Aktien zu durchsuchen. Jetzt habe ich einige SMB / CIFS-Aktien mit Linux gemacht, und es ist in der Lage, "v...

0  Mount CIFS / SMB-Teilen an Android 10 als Ordner  ( Mount cifs smb share to android 10 as folder ) 
Ich versuche, CIFS-Teilen an Android 10-verwurzeltes Telefon zu montieren, und ich montiere es bereits, aber ich kann keine Dateien im Ordner in anderen Apps ...

19  Verwenden von SMB-Server ohne Root-Zugriff  ( Using smb server without root access ) 
Ich suche einen Weg für meinen HTC Helden (Android 2.1), damit ich den Inhalt meiner SD-Karte und den Telefonspeicher über das WLAN-Netzwerk wie eine reguläre...

1  Zugriff auf Windows Admin-Teilen von Android?  ( Access windows admin share from android ) 
Ich habe mehrere Android-Apps getestet und keiner von ihnen scheint, was ich tun kann, was ich will. Wie kann ich auf Admin-Aktien zugreifen, z. B. \hostc$...

18  So montieren Sie SMB / CIFS-Netzwerkaktien auf Android-Gerät?  ( How to mount smb cifs network shares on android device ) 
Ich habe ein verwurzeltes Android-Gerät, das auf Lebkuchen läuft. Ich habe mich gefragt, ob es einen Weg gibt, meine Windows-CIFS-Aktien (gemeinsame Internet-...




© 2022 www.antworten.top All Rights Reserved. Fragen & Antworten Haus Alle Rechte vorbehalten