Uso del servidor SMB sin acceso de la raíz -- wi-fi campo con root-access campo con cifs camp android Relacionados El problema

Using SMB server without root access


19
vote

problema

Español

Estoy buscando una manera para mi HTC Hero (Android 2.1) para poder compartir los contenidos de mi tarjeta SD y la memoria del teléfono a través de la red WiFi como un recurso de archivo de Windows regular. Me gustaría una que no requiera que esté enraída mi teléfono, y estoy dispuesto a pagar por la aplicación correcta, por lo que no tiene que ser libre.

Estoy pensando en usar SMB Server y todo lo que he encontrado hasta ahora son:

  1. sambaandroid que requiere acceso de la raíz.
  2. androidsmb que es una "implementación de Java del archivo de red SMB / CIFS y la recurso compartido de impresora Servidor para dispositivos Android "alojado en el código de Google que no tiene documentación y no ha lanzado ningún archivo.

¿Incluso es técnicamente posible desarrollar un servidor SMB en Android que se puede instalar sin acceso a la raíz?

Original en ingles

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?

        
 
 

Lista de respuestas

13
 
vote
vote
La mejor respuesta
 

Como su pregunta original aún no está respondida y me pregunté lo mismo, aquí está la respuesta.

Respuesta corta: No, sin root, no es posible ejecutar un servidor SMB usando los puertos predeterminados para que se encuentre con Windows PC.

Respuesta larga: SMB se ejecuta en los puertos 137-139 (UDP y TCP) utilizando NetBIOS o en sistemas más nuevos (desde Windows Vista en adelante) directamente en el puerto TCP 445, donde en este último caso los nombres de la computadora se resuelven por el LLMNR (enlace -El protocolo de resolución de nombre de múltiples flojos) que se ejecuta en el puerto UDP 5355. ¿Por qué es esto importante? Aplicaciones que no se ejecutan como root No se puede unir a los puertos no privilegiados (& lt; 1024). Es posible usar puertos alternativos para SMB, pero Windows está cableado para escuchar los predeterminados. Por lo tanto, supongo que si usa Linux o un cliente SMB separado para Windows, lo que permite conectarse a un servidor con un número de puerto personalizado, es probable que sea posible. Pero no es realmente una forma directa.

 

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

Si bien es posible que no sea posible en Ejecute un servidor SMB sin root o Ujando el reenvío de puertos , es posible ejecutar un servidor WebDAV sin raíz de un efecto similar.

Configuración de un servidor WebDAV de Android

en mi stock nexus 7, instalé servidor webdav < / a>, lo abrió, hizo clic en el botón de inicio e inmediatamente podía ver mi abcdefghijklmn/storage/sdcard carpeta en mi navegador web en la URL mostrada por la aplicación, es decir, http://192.168.x.y:8080 < / p>

Tenga en cuenta que con WebDAV, también tiene la opción de seleccionar raíz (/) o DCIM , así como SDCard como el WebDAV < em> root .

utilizando el servidor WebDAV a través del Explorador de Windows

Luego me asignó ABCDEFGHIJKLMNABCDEFGHIJKLMN2 Como unidad de red en el Explorador de Windows y podría acceder a los contenidos de mi unidad de almacenamiento, al igual que si me conectaron a través de MTP, pero a través de una letra de unidad.

Lamentablemente, esta solución es increíblemente lenta.

Cada cambio de directorio lleva entre 6 y 20 segundos, al igual que el acceso a la mayoría de los archivos. Sin embargo, una vez que se accede a un archivo, se transfiere a una velocidad razonable (copiar un solo archivo de 42MB en el Explorador de Windows, tomó alrededor de 60 segundos, por lo que 700kb / s).

Por lo tanto, WebDAV a través de Windows Explorer está bien para descargar algunos archivos grandes cuya ubicación sabe, pero la navegación o la sincronización de un dispositivo completo de esta manera no es rápido. Sincroné 1.75 GB de datos en alrededor de 6000 archivos y 400 directorios y tomó 10 horas, es decir, alrededor de 50kb / s o 10 archivos / dirs por minuto en promedio.

usando el servidor WebDAV a través de la línea de comandos de Windows

Incluso desde la línea de comandos, cada listado de directorio toma 5-6 segundos, al igual que cualquier acceso. Copiar el mismo archivo de 42 MB de la línea de comandos tomó alrededor de 20 segundos, por lo que alrededor de 2.1MB / s.

utilizando el servidor WebDAV a través de un navegador web

La opción más rápida para WebDAV es usar su navegador web, sin embargo, directamente a través de la URL dada. El directorio de cambio rara vez lleva más de un segundo y descargar el mismo archivo de 42 MB desde el navegador web tomó alrededor de 12 segundos, por lo que alrededor de 3.6MB / s.

El inconveniente de usar el navegador web es que solo muestra la fecha (sin tamaño o tipo) y no hace distinción entre archivos y directorios, por lo que si un archivo no tiene una extensión (o un directorio), entonces puede No sea obvio si hacer clic en un enlace lo llevará a otra página web (para un directorio) o iniciará una descarga (para un archivo).

advertencias

  • De forma predeterminada, Windows limita el tamaño de las descargas de WebDAV a 50000000 bytes (47.6MB), aunque esto puede ser cambiado a través de un hack de registro ( ABCDEFGHIJKLMNABCDEFGHIJKLMN3 EN ABCDEFGHIJKLMNABCDEFGHIJKLMN4 ) Si sabe lo que está haciendo.

  • WebDAV Access no es seguro . Incluso si configura una contraseña en la acción WebDAV, la conexión sigue siendo ABCDEFGHIJKLMNABCDEFGHIJKLMN5 NO ABCDEFGHIJKLMNABCDEFGHIJKLMN6 , por lo que no está encriptado. Utilice solo WebDAV en una red WiFi segura y ciertamente no habilite el servidor WebDAV mientras está en un Café de Internet u otro WiFi sin garantía.

 

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

El problema no es el servidor de Samba, pero el hecho de que Windows puede acceder a una samba Compartir solo en el puerto 445, y en una aplicación normal de Android, no se puede escuchar en el puerto 445.

Pero puede superar esto con un mapeo de puertos TCP:

  1. Instale un servidor samba en tu android , y haz que escuche un puerto como 7777
  2. Instale un software de reenvío de puertos TCP en algún lugar (lo instalé en un VirtualPC)
  3. Configure el software PortMapping para escuchar las conexiones en el puerto 445, y reenviar las conexiones a su Android en el puerto 7777
  4. Ahora puede acceder a la carpeta compartida en este virtualpc, y obtendrá los datos del servidor de Samba instalado en Android (A través del PortMapping)

He descrito todos los pasos en detalle aquí en mi blog http: //techforpassion.blogspot. IT / 2013/12 / Android-how-to-share-carpder-over-wifi.html

He intentado diferentes servidores Samba, y la única aplicación gratuita que funciona en esta configuración se llama samba servidor

 

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

Alternativamente, puede ejecutar un servidor FTP en su teléfono para acceder al contenido de su tarjeta SD. Echa un vistazo a 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

Actualmente terminé una App (< sólido> para dispositivos no arraigados ) para compartir archivos en la red local. Mis lecciones aprendidas:

  • Es posible ejecutar un servidor SMB en Android sin acceso a la raíz (en puerto no privilegiado). Mac OS X se conecta a él sin ningún problema (si transmite su IP y puerto a través de Bonjour). Pero Windows no. Como ya dijo otros usuarios, Windows usa puertos privilegiados "con codificación dura" para el acceso a SMB. La única forma en que la que encontré para conectar con Windows está creando un adaptador de red Loopback como se explica aquí (no es el mismo propósito, sino la idea). Finalmente, creo que la forma en que la lo service-amigable es usar WebDAV en Windows . Incluso si las ventanas no son fáciles de usar, porque tiene que ingresar su IP a mano y no encontré una forma en que se podría descubrir (por favor, escríbeme una línea, si conoce una).
  • en el Mac OS X World El protocolo SMB es un ganador claro . Su parte se descubrirá automáticamente por Bonjour y aparece mágicamente en el Buscador. Es raro, que las acciones de WebDAV y FTP se ignoran (no montadas automáticamente por el buscador), aunque son compatibles por bonjour. Los clientes de terceros (por ejemplo, cyberduck) no tienen problemas con el descubrimiento automático de estas acciones.
 

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

Puedo ser malentendido, pero parece que necesita un cliente SMB, no un servidor. Además, no necesita acceso de la raíz. Para usar SMB a los archivos de TRANFER a su computadora, puede usarla Adjunto Administrador de archivos con la SMB Addon , O hay Experto de archivos que también es gratis.

También podría usar WebDAV en lugar de SMB con una aplicación como websharing .

En el pasado utilicé una aplicación que con el software cliente en mi computadora me permitió transferir archivos a través del Explorador de archivos desde cualquier lugar a través de la web. No fue una aplicación de VNC completa. Tengo un nuevo teléfono y ahora por la vida de mí, no puedo encontrar la aplicación.

 

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.

 
 
     
     

Relacionados problema

7  Solución de problemas de mi WiFi - No se puede obtener una dirección IP  ( Troubleshooting my wifi cant get an ip address ) 
Estoy usando un Samsung Galaxy Gio (Android 2.3). Y no puedo conseguir una conexión WiFi. Mi hermano tiene el teléfono exacto y puede obtener una conexión. ...

0  Use celular cuando está conectado a WiFi  ( Use cellular when connected to wifi ) 
¿Existe la posibilidad de forzar un teléfono Android para usar datos celulares cuando esté conectado a WiFi? Para iOS he encontrado este https: // Apple .sta...

0  Android Nougat 7.0 WiFi Internet gotas después de ~ 10 MB  ( Android nougat 7 0 wifi internet drops after 10mb ) 
Primero un poco de fondo desnudo consigo como todos los siguientes debes ser relevantes. Actualmente tengo un HTC 10, también lo hace mi padre. Mi teléfon...

5  Desactivar el ahorro de energía Wi-Fi?  ( Turn off wi fi power saving ) 
¿Hay una manera de desactivar el modo de ahorro de energía Wi-Fi en Android, es decir, ¿la radio Wi-Fi permanece en todo momento? Prefiero tener una conexión ...

0  Reproduce videos de otro dispositivo Android sobre WiFi  ( Play videos from another android device over wifi ) 
¿Hay alguna manera de reproducir videos sobre una conexión WiFi (conectación / directa)? Estoy usando un nexo 9 que falta una ranura para tarjeta SD. Por lo t...

2  Nexus s enraizando el problema de error wifi  ( Nexus s rooting wifi error problem ) 
Entonces, he desbloqueado mi Samsung Nexus S que se ejecuta en Android 2.3.1 y lo he arraigado. El problema ahora es que ya no puedo abrir WiFi, se mantiene d...

0  No se puede conectar a Internet a través de ciertas redes WiFi  ( Cannot connect to internet via certain wifi networks ) 
Mi LG G3 recientemente comenzó a actuar en que no podrá acceder a Internet a través de mi casa WiFi. Puedo conectarme a Internet en otras redes wifi, así que ...

3  Wi-Fi no se quedará fuera  ( Wi fi wont stay off ) 
Tengo un DROID MOTOROLA y acaba de instalar la última actualización. La red Wi-Fi en mi lugar de trabajo es temperamental, por lo que prefiero simplemente a...

0  El teléfono se detiene usando 3G cuando WiFi Hotspot cercano  ( Phone stops using 3g when wifi hotspot nearby ) 
Tengo un deseo HTC con el último firmware legítimo. Tengo wifi y 3G habilitado, y suele estar bien; En casa, se conecta a mi enrutador (protegido por WPA2), y...

0  Usando un dongle wifi para monitorear la red  ( Using a wifi dongle to monitor network ) 
Tengo una caja inteligente de Android con un wifi incorporado y quiero agregar un dongle a la caja para que pueda monitorear la red. He encontrado una pregunt...

12  WiFi se desconecta durante el sueño  ( Wifi disconnects during sleep ) 
Noté que, cuando usaría mi teléfono después de haber estado durmiendo, WiFi no estaría conectado y tendría que conectarse. Fui a la configuración de WiFi avan...

13  Fuerza Marshmallow para mantener una Wi-Fi sin acceso a Internet  ( Force marshmallow to keep a wi fi without internet access ) 
Estoy asociando un Nexus 5x que ejecuta Marshmallow 6.0 a un punto de acceso Wi-Fi que no tiene acceso a Internet. Android sigue dejando caer la conexión cada...

4  Dejando Wi-Fi en todo el tiempo  ( Leaving wi fi on all the time ) 
¿Afecta altamente el tiempo de espera para dejar que Wi-Fi abra todo el tiempo en mi teléfono? ...

0  La red Wi-Fi no puede escanearse  ( Wi fi network can not scanned ) 
Estoy teniendo problemas con mi recientemente comprado Sony Xperia SL. Tengo enrutador Cisco WAP4410N, y su SSID no se puede escanear ni conectar (manualmente...

8  Error de WiFi: "Error al conectarse a la red"  ( Wifi error failed to connect to network ) 
Intermitente, cuando intento conectarme a una red WiFi, obtengo el siguiente mensaje de error como un mensaje de tostado: Error al conectarse a la red E...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.