rootアクセスなしのSMBサーバーを使用する -- wi-fi フィールド と root-access フィールド と cifs フィールド android 関連 問題

Using SMB server without root access


19
vote

問題

日本語

私は私のHTC Hero(Android 2.1)のための方法を探しています。私が私の携帯電話を根ざしすることを要求していない人は、無料のアプリを支払うことを望んでいます。

私はSMBサーバーを使っていることを考えています、そしてこれまでのところ私が見つけたのは:

  1. sambaandroid rootアクセスが必要です。
  2. androidsmb は「SMB / CIFSネットワークファイルのJava実装とプリンタ共有」 Googleコードでホストされており、ファイルをリリースしていないGoogleコードでホストされています。
  3. rootアクセスなしでインストールできるAndroid上のSMBサーバを開発する技術的には可能ですか?

英語

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?

        
 
 

回答リスト

13
 
vote
vote
ベストアンサー
 
あなたの元の質問がまだ答えられていないので、私は同じように疑問に思いました、これは答えです。

短回答:いいえ、rootなしで、Windows PCSによって見つけられるように、デフォルトのポートを使用してSMBサーバを実行することはできません。

LONG回答:SMBは、NetBIOSまたは新しいシステム(Windows Vista以降から)(Windows Vista以降のUDPおよびTCP)で実行されます。 -localマルチキャスト名解決)UDPポート5355で実行されるプロトコル。なぜこれは重要なのですか? root <<

 

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

root またはポート転送、同様の効果のためにrootなしでWebDAVサーバを実行することが可能です。

Android WebDAVサーバの設定

私の株式Nexus 7では、 WebDAVサーバ< / A>を開き、スタートボタンをクリックすると、アプリケーションによって表示されるURLのMy 9988776654330 フォルダ、つまり http://192.168.x.y:8080 にすぐに確認できました。 / P>

WebDAVでは、 root(/)または DCIM を選択することもできます。 em> root 。

Windowsエクスプローラを介してWebDAVサーバーを使用する

IN Windowsエクスプローラのネットワークドライブとして<コード> 998877666665544332 をマップし、MTPを介して接続されているがドライブ文字を通じて接続されているのと同じように、Storage Driveの内容にアクセスできます。

悲しいことに、この解決策は非常に遅いです。

ほとんどのファイルにアクセスするように、すべてのディレクトリの変更には6から20秒がかかります。ファイルがアクセスされると、それは合理的な速度で転送します(Windowsエクスプローラで1つの42MBファイルをコピーすると60秒、700kb / s)。

このようにしている場所を知っているが、このようにしてデバイス全体を閲覧または同期するいくつかの大きなファイルをダウンロードするための

OKです。私は約6000のファイルと400のディレクトリに1.75GBのデータを同期させ、それは10時間、すなわち平均で1分あたり約50kb / sまたは10のファイル/ dirsを占めました。

Windowsコマンドラインを介してWebDAVサーバを使用する

コマンドラインからも、各ディレクトリリストは、ファイルアクセスと同様に5~6秒かかります。コマンドラインから同じ42MBファイルをコピーすると、約20秒がかかりましたので、約2.1MB / s。

WebDAVサーバーをWebブラウザで使用する

WebDAVの最速オプションは、指定されたURLを介して直接Webブラウザを使用することです。ディレクトリの変更依然として1秒以上かかりません.Webブラウザから同じ42MBファイルをダウンロードして、約12秒後に、3.6MB / s。

Webブラウザの使用の下側は、日付(サイズまたはタイプなし)のみを表示し、ファイルとディレクトリの間を区別しないため、ファイルに拡張子(またはディレクトリが実行している場合)リンクをクリックすると、(ディレクトリ用)またはダウンロードを開始する(ファイルの場合)、リンクをクリックしてください。

警告

  • デフォルトでは、WindowsはWebDAVダウンロードのサイズを50000000バイト(47.6MB)に制限しますが、これはレジストリハック(<コード) <コード> FileSizeLimitInBytes の

  • webdavアクセスは安全ではありません。 WebDAV共有にパスワードを設定しても、接続は依然として<コード> 99888766544335 NOT 9988766655444336 ではないため、暗号化されていません。 セキュアWiFiネットワーク上のWebDAVのみを使用し、確かにインターネットカフェやその他の無担保WiFiにいる間にWebDAVサーバーを有効にしません。

 

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

問題はSambaサーバではありませんが、Windowsがポート445でのみSamba Shareにアクセスできるという事実、および非根本的なAndroidでは、通常のアプリはポート445で聞くことができません。

しかし、あなたはこれを克服することができますTCPポートマッピング:

  1. Samba Server にAndroid 7777
  2. のような港を聞くようにする
  3. TCPポート転送ソフトウェアをどこかにインストールする(VirtualPCにインストールしました)
  4. ポートマッピングソフトウェアをポート445でリッスンし、ポート7777
  5. のAndroidへの接続を転送するようにポートマッピングソフトウェアを設定します。
  6. このVirtualPcの共有フォルダにアクセスすることができ、AndroidにインストールされているSamba Serverからデータが取得されます(ポートマッピングトラフ)
  7. 私はここで私のブログに詳細に詳細に説明しました http://techforpassion.blogspot。 IT / 2013/12 / Android-how-to-share-over-wifi.html

    私は異なるSamba Serverを試してみました、そしてこの構成で機能する唯一の無料アプリは 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

あるいは、あなたの携帯電話でFTPサーバーを実行して、SDカードのコンテンツにアクセスできます。チェックアウト 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

現在 ((<ローカルネットワーク内のファイルを共有するための非根型デバイスの強い>。私の教訓は学びました:

  • rootアクセスなしでAndroid上のSMBサーバを実行することができます(非特権ポート)。 Mac OS Xは問題なく接続します(Bonjourを介してIPとポートをブロードキャストされている場合)。しかし、Windowsはいけない。すでに別のユーザーによって言ったように、WindowsはSMBアクセスのための「ハードコード」特権ポートを使用します。 Windowsと接続するための唯一の方法は、説明されているループバックネットワークアダプタの作成こちら(同じ目的ではなく、考えていません)。最後に、 user-fryslyliest WayがWindows でWebDAVを使用していると思います。 Windowsがユーザーフレンドリーではない場合でも、あなたは手であなたのIPを入力しなければならず、私はそれがどのように発見されるかどうかを見つけられませんでした(あなたが知っていたら私の行をドロップしてください)。
  • Mac OS Xの世界では、SMBプロトコルは明確な勝者ですです。あなたの共有はBonjourによって自動発見され、魔法のようにFinderに現れます。 WebDAVとFTPの共有は無視されます(Finderによって自動マウントされていない)。 bonjourによってサポートされています。サードパーティのクライアント(例えばCyber​​ Duck)は、これらの株式の自動発見に問題がありません。
 

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

私は誤解されているかもしれませんが、サーバーではなくSMBクライアントが必要なように聞こえます。また、rootアクセスは必要ありません。 SMBを使用するには、SMBをコンピュータに使用するには、アストロファイルマネージャを使用できます。 smb addon 、または file Expert どちらも無料です。

webdav の代わりに WebSharing 。

過去に、私のコンピュータ上のクライアントソフトウェアでアプリを使用したアプリを使用しました。それは完全なVNCアプリではありませんでした。私は新しい電話を得ました、そして今私の人生のために私はアプリを見つけることができません。

 

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.

 
 
     
     

関連する質問

8  WiFiエラー:「ネットワークへの接続に失敗しました」  ( Wifi error failed to connect to network ) 
断続的に、WiFiネットワークに接続しようとすると、トーストメッセージとして次のエラーメッセージが表示されます。 ネットワークへの接続に失敗しました メッセージが接続しようとするとすぐにポップアップし、それは明らかにそれが試みて失敗していないことです。ログ...

12  WiFiは睡眠中に切断されます  ( Wifi disconnects during sleep ) 
私は最近気づいたことに気づいた、それが寝ていた後に私の電話を使うとき、WiFiは接続されず、それは接続する必要があります。私は高度なWiFiの設定に入り、「睡眠中にWi-Fiを維持し続ける」ことを確実にしましたが、問題は残ります。任意のアイデア? 私はHTC ...

0  特定のWiFiネットワークを介してインターネットに接続できません  ( Cannot connect to internet via certain wifi networks ) 
私のLG G3は最近、私の家のWiFi経由でインターネットにアクセスすることができないという点で行動を始めました。私は他のWiFiネットワーク上のインターネットに接続することができるので、私はそれが必ずしも電話に関する問題であるとは思わない。ただし、他のデバイ...

0  WiFi上の別のAndroidデバイスからビデオを再生する  ( Play videos from another android device over wifi ) 
WiFi接続(テザリング/ダイレクト)上でビデオを再生する方法はありますか?私はSDカードスロットを欠いているNexus 9を使っています。したがって、十分なスペースを持っている私のAndroid携帯電話からビデオを再生したいです。私の休暇のために必要なので...

0  WiFiに接続されているときに携帯電話を使用してください  ( Use cellular when connected to wifi ) 
WiFiに接続したときにAndroid携帯電話に携帯電話データを使用する可能性があります。 iOSのために私はこの https:// apple .stackexchange.com /質問/ 173894 / CAN-I-Connect-To-WiFi ...

7  My WiFiのトラブルシューティング - IPアドレスを取得できません  ( Troubleshooting my wifi cant get an ip address ) 
サムスンギャラクシーGIO(Android 2.3)を使用しています。そして私はWiFi接続を取得できません。私の兄弟はいくつかの携帯電話を持っていて、接続を得ることができます。 WiFiを有効にすると、ルータに接続しようとします。それはそれからIPアドレス...

0  Wi-Fiネットワークはスキャンできません  ( Wi fi network can not scanned ) 
私は最近購入したSony Xperia SLに問題があります。私はCisco WAP4410Nルータを持っています、そして、そのSSIDは、自動チャネル選択モードになっている間、私の電話で(手動で)スキャンまたは接続できません。私は私のiPhoneのための同じ...

2  Nexus S Rooting Wifiエラー問題  ( Nexus s rooting wifi error problem ) 
だから、私はAndroid 2.3.1で実行されているサムスンネクサスSのロックを解除し、それを根付いました。問題は私がもうWiFiを開くことができないということです、それは私がWiFiをクリックするたびに「エラー」を言っています。 これはなぜ起こっているので...

0  wifiホットスポットが近くに3Gを使って電話を止めます  ( Phone stops using 3g when wifi hotspot nearby ) 
私は最新の合法的なファームウェアでHTCの欲求を持っています。私はWiFiと3Gが有効になっています、そしてそれは通常大丈夫です。自宅で、それは私の(WPA2で保護された)ルータに接続し、そして外側に入るときそれは3Gに切り替わります。しかし、私は他のWiFi...

13  インターネットアクセスなしでWi-Fiを保つためにMarshmallowを強制する  ( Force marshmallow to keep a wi fi without internet access ) 
MarshMallow 6.0を実行しているNexus 5xをインターネットアクセスなしのWi-Fiホットスポットに関連付けています。 Androidは2秒ごとに接続を落とし続け、インターネットにアクセスできないと述べることさえ再接続しようとしないでください...

3  Wi-Fiはオフになっていません  ( Wi fi wont stay off ) 
モトローラドロイドを持っており、最新のアップデートをインストールしたばかりです。 私の職場のWi-Fiネットワークは気質がありますので、単にWi-Fiをオフにして4gを使用することをお勧めします。 問題は、(設定で〜~gt; Wi-Fi~1;スライドバーを...

4  常にWi-Fiを残す  ( Leaving wi fi on all the time ) 
それは私の携帯電話で常にWi-Fiを開いたままにするための待機時間に大きな影響を与えますか? ...

5  Wi-Fi節電をオフにしますか?  ( Turn off wi fi power saving ) 
AndroidでWi-Fi節電モードをオフにする方法はありますか、すなわちWi-Fiラジオが常に滞在してください。私はむしろ安定した低遅延のWi-Fi接続と、薄片状のWi-Fi接続とバッテリー寿命が長いほど、安定した低遅延のWi-Fi接続とバッテリー寿命がわ...

0  ネットワークを監視するためのWiFiドングルを使用する  ( Using a wifi dongle to monitor network ) 
私は内蔵のWiFiを備えたAndroidスマートボックスを持っています、そして私はネットワークを監視できるようにボックスにドングルを追加したいです。私はやや曖昧な答え(少なくとも私にとって)と同様の質問を見つけました。 AP のWiFiブリッジとしてのAn...

0  Android Nougat 7.0 WiFiインターネットは~10MBの後にドロップ  ( Android nougat 7 0 wifi internet drops after 10mb ) 
最初のバックグラウンド 以下のすべてのものとして私と裸であるべきです。 私は現在HTC 10を持っているので、私の父はいます。私の電話はeBayから購入していて、それは既にインストールされているNougat(7.0)の更新に来ました(電話1と呼ぶことができます...




© 2021 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有


Licensed under cc by-sa 3.0 with attribution required.