루트 액세스없이 SMB 서버 사용


18

HTC Hero (Android 2.1)를 사용하여 일반 Windows 파일 공유와 같은 WiFi 네트워크를 통해 SD 카드 및 전화 메모리의 내용을 공유 할 수있는 방법을 찾고 있습니다. 휴대 전화를 루팅 할 필요가없는 앱을 원하고 올바른 앱에 대한 비용을 지불하여 기꺼이 무료로 사용할 필요는 없습니다.

SMB 서버를 사용하려고 생각하고 있으며 지금까지 찾은 것은 다음과 같습니다.

  1. 루트 액세스가 필요한 SambaAndroid
  2. androidsmb 는 문서가없고 파일을 공개하지 않은 Google 코드에서 호스팅되는 "Android 장치 용 SMB / CIFS 네트워크 파일 및 프린터 공유 서버의 Java 구현"입니다.

루트 액세스없이 설치할 수있는 Android에서 SMB 서버를 기술적으로 개발할 수 있습니까?


나는 Wifi Explorer( appbrain.com/app/wifi-file-explorer/… )를 몇 번 사용했으며 루트가 필요하지 않고 훌륭하게 작동합니다. 그러나 SMB는 아니며 FTP도 아닙니다.
Joe Casadonte

답변:


12

귀하의 원래 질문에 여전히 대답하지 않고 동일한 것을 궁금해 했으므로 여기에 답이 있습니다.

짧은 대답 : 아니요. 루트가 없으면 기본 포트를 사용하여 SMB 서버를 실행하여 Windows PC에서 찾을 수 없습니다.

긴 대답 : SMB는 NetBIOS를 사용하는 포트 137-139 (UDP 및 TCP) 또는 TCP 포트 445에서 직접 최신 시스템 (Windows Vista 이상)에서 실행됩니다. 후자의 경우 컴퓨터 이름은 LLMNR (Link-local Multicast)에 의해 확인됩니다. UDP 포트 5355에서 실행되는 이름 확인) 프로토콜. 이것이 중요한 이유는 무엇입니까? 루트로 실행되지 않는 앱 은 권한이없는 포트 (<1024)에 바인딩 할 수 없습니다 . SMB에 대체 포트를 사용할 수 있지만 Windows는 기본 포트를 청취하기 위해 배선되어 있습니다. 따라서 Linux 또는 Windows 용 별도의 SMB 클라이언트를 사용하여 사용자 정의 포트 번호로 서버에 연결할 수 있다면 가능할 것입니다. 그러나 실제로 간단한 방법은 아닙니다.


이 모든 시간 후에 실제 답변이 훌륭합니다. 감사. 내가 이것을 필요로 했는지 기억할 수 있다면 ...;)
Day

3
글쎄, 난 너무 게으른 SD 카드에 액세스하기 위해 USB를 연결하기 때문에 그것을 원했다 : D
letmaik

Windows가 대처할 수 있는지 궁금해 \\your.ip:port...
토비아스 Kienzler

10

루트없이 또는 포트 전달을 사용하여 SMB 서버실행 하지 못할 수 있지만 루트 없이 WebDAV 서버를 실행하여 유사한 효과를 얻을 수 있습니다.

Android WebDAV 서버 설정

내 주식 Nexus 7에서 WebDAV Server를 설치 하고 열어서 시작 버튼을 클릭 /storage/sdcard한 후 응용 프로그램에 의해 표시된 URL에서 웹 브라우저의 내 폴더 를 즉시 볼 수있었습니다.http://192.168.x.y:8080

WebDAV를 사용하면 WebDAV 루트SdCard 뿐만 아니라 루트 (/) 또는 DCIM 을 선택할 수도 있습니다 .

Windows 탐색기를 통해 WebDAV 서버 사용

그런 다음 http://192.168.x.y:8080Windows 탐색기에서 네트워크 드라이브 로 매핑 하고 마치 MTP를 통해 연결된 것처럼 드라이브 문자를 통해 스토리지 드라이브의 내용에 액세스 할 수있었습니다.

안타깝게도이 솔루션은 매우 느립니다.

대부분의 파일에 액세스하는 것처럼 모든 디렉토리 변경은 6 초에서 20 초 사이입니다. 파일에 액세스하면 적절한 속도로 전송됩니다 (Windows 탐색기에서 단일 42MB 파일을 복사하는 데 약 60 초가 걸리므로 700KB / s).

따라서 Windows 탐색기를 통한 WebDAV는 위치를 아는 몇 개의 큰 파일을 다운로드하는 데 적합하지만 전체 장치를 탐색하거나 동기화하는 것은 빠르지 않습니다. 나는 약 6000 개의 파일과 400 개의 디렉토리에서 1.75GB의 데이터를 동기화했으며 10 시간이 걸렸다. 평균 50 분 / 초 또는 분당 10 개의 파일 / 디렉토리.

Windows 명령 행을 통해 WebDAV 서버 사용

명령 줄에서도 파일 액세스와 마찬가지로 각 디렉토리 목록에 5-6 초가 걸립니다. 명령 줄에서 동일한 42MB 파일을 복사하는 데 약 20 초가 걸리므로 약 2.1MB / s입니다.

웹 브라우저를 통해 WebDAV 서버 사용

WebDAV의 가장 빠른 옵션은 주어진 URL을 통해 웹 브라우저를 사용하는 것입니다. 디렉토리를 변경하는 데 거의 1 초 이상 걸리지 않으며 웹 브라우저에서 동일한 42MB 파일을 다운로드하는 데 약 12 ​​초가 걸리므로 약 3.6MB / s입니다.

웹 브라우저를 사용하는 단점은 날짜 (크기 또는 유형 없음) 만 표시하고 파일과 디렉토리를 구분하지 않으므로 파일의 확장자가 없거나 디렉토리가 없으면 명확하지 않을 수 있다는 것입니다 링크를 클릭하면 다른 웹 페이지 (디렉토리)로 이동하거나 다운로드 (파일)로 시작됩니다.

경고

  • 기본적으로 Windows는 WebDAV 다운로드 크기를 50000000 바이트 (47.6MB)로 제한하지만, 수행중인 작업을 알고있는 경우 레지스트리 해킹 ( FileSizeLimitInBytesin HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters)을 통해 변경할 수 있습니다 .

  • WebDAV 액세스가 안전하지 않습니다 . WebDAV 공유에서 비밀번호를 설정하더라도 연결은 여전히 http되지 https않으므로 암호화되지 않습니다. 보안 Wi-Fi 네트워크에서만 WebDAV를 사용 하고 인터넷 카페 또는 기타 보안되지 않은 Wi-Fi에있는 동안에는 WebDAV 서버를 활성화하지 마십시오.


이 방법은 내 장치에서 매우 빠릅니다. 감사합니다!
Cluster

Samsung S10 + Windows 8.0에서 테스트되었습니다. 잘 작동합니다.
Brethlosze

5

문제는 삼바 서버가 아니지만 Windows가 포트 445에서만 삼바 공유에 액세스 할 수 있다는 사실과 루팅되지 않은 안드로이드에서는 일반 앱이 포트 445에서 청취 할 수 없다는 것입니다.

그러나 일부 TCP 포트 매핑으로이를 극복 할 수 있습니다.

  1. 삼바 서버 를 안드로이드에 설치하고 7777과 같은 포트에서 청취하십시오.
  2. 어딘가에 TCP 포트 포워딩 소프트웨어 설치 (virtualPC에 설치)
  3. 포트 445에서 연결을 수신하고 포트 7777에서 Android로 연결을 전달하도록 포트 매핑 소프트웨어를 설정하십시오.
  4. 이제이 virtualPC의 공유 폴더에 액세스 할 수 있으며 Android에 설치된 Samba 서버에서 데이터를 가져올 수 있습니다 (포트 매핑을 통해).

나는 내 블로그 http://techforpassion.blogspot.it/2013/12/android-how-to-share-folder-over-wifi.html 에 모든 단계를 자세히 설명했습니다.

다른 삼바 서버를 시도했지만이 구성에서 작동하는 유일한 무료 앱은 삼바 서버입니다.


흥미로운 제안이지만 \\androids.ip:7777탐색기 주소 표시 줄에 같은 것을 입력 할 수 없습니까?
Tobias Kienzler

1
@tobias kienzler 내 지식으로는, 작동하지 않을 것이다
Max

2

또는 전화기에서 ftp 서버를 실행하여 SD 카드의 내용에 액세스 할 수 있습니다. SwiFTP를 확인하십시오 .


두 번째 SwiFTP입니다. 루트없이 파일을 사용하여 전화에서 파일을 가져올 수는 없지만 SD 카드에는 잘 작동합니다.

2

현재 로컬 네트워크에서 파일을 공유 하기위한 ( 루팅되지 않은 장치 용 )을 완료했습니다 . 내 교훈은 다음과 같습니다.

  • 루트 액세스 권한이없는 (권한이없는 포트에서) Android에서 SMB 서버를 실행할 수 있습니다. Mac OS X은 아무런 문제없이 연결됩니다 (Bonjour를 통해 IP 및 포트를 브로드 캐스트하는 경우). 그러나 Windows는 그렇지 않습니다. 다른 사용자가 이미 언급했듯이 Windows는 SMB 액세스를 위해 "하드 코딩 된"권한있는 포트를 사용합니다. Windows에 연결할 때 찾은 유일한 방법은 여기에 설명 된 것처럼 루프백 네트워크 어댑터를 만드는 것입니다 (같은 목적이 아니라 아이디어). 마지막으로, 가장 친숙한 방법은 Windows에서 WebDAV를 사용하는 것입니다 . Windows가 사용자 친화적이지 않은 경우에도 직접 손으로 IP를 입력해야하기 때문에 IP를 발견 할 수있는 방법을 찾지 못했습니다.
  • Mac OS X 세계에서 SMB 프로토콜은 확실한 승자 입니다. Bonjour가 귀하의 공유를 자동 검색하여 Finder에 마술처럼 나타납니다. Bonjour 가 지원 하지만 WebDAV 및 FTP 공유는 무시됩니다 (Finder에 의해 자동 마운트되지 않음) . 타사 클라이언트 (예 : Cyberduck)는 이러한 공유의 자동 검색에 문제가 없습니다.

1

오해가있을 수 있지만 서버가 아닌 SMB 클라이언트가 필요한 것 같습니다. 또한 루트 액세스가 필요하지 않습니다. SMB를 사용하여 컴퓨터로 파일을 전송하려면 SMB addon 과 함께 ASTRO File Manager 를 사용 하거나 File Expert 도 무료입니다.

WebSharing 과 같은 앱에서 SMB 대신 WebDAV 를 사용할 수도 있습니다 .

과거에는 컴퓨터에 클라이언트 소프트웨어가있는 앱을 사용하여 웹을 통해 어디서나 파일 탐색기를 통해 파일을 전송할 수있었습니다. 완전한 VNC 앱이 아니 었습니다. 새 전화를 받았는데 이제는 내 인생에서 앱을 찾을 수 없습니다.


답변에 감사드립니다. 전화로 서버를 꺼내지 않고도 집에 도착했을 때 내 (우분투) PC가 새 파일을 푸시 할 수 있도록 전화 서버를 원했습니다. PC에는 추가 소프트웨어가 필요하지 않지만 전화의 FTP 또는 WebDAV 서버도 해당 요구 사항을 충족하므로 File Expert가 작업을 수행하는 것처럼 보입니다. 내가 다시 감사를보고 지금 설치하고있어

FTP 서버가 작동하지 않는 것 같습니다. Ubuntu "서버에 연결"마법사에 "예기치 않은 스트림 끝"이 표시되어 있습니다. 일하러 가야 나중에 나중에 다시 시도합니다.

작동하지 않습니다 ... 서두르는 나의 잘못. 작업을 훌륭하게 수행해야합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.