iPhone / iPod Touch에서 SOCKS 프록시에 어떻게 연결합니까?


18

저는 Mac에서 SSH 터널링을 통해 생성 한 SOCKS 프록시를 통해 안전하게 비공개로 서핑하고 싶습니다. 이것을 달성하기 위해 Mac에서 SSH 클라이언트를 사용했습니다. 그런 다음 iPhone OS는 본질적으로 Mac OS이므로 동일한 트릭이 iPhone에서도 작동 할 수 있다고 생각했습니다.

터미널 (iPhone의 터미널)을 통해 iPhone에 SSh 터널을 만들었습니다. (예, 탈옥 됐어요)

ssh -D [port] user@domain.com

이 단계에서 내 iPhone은 SOCKS 프록시입니다.

그러나 iPhone 네트워킹 환경 설정 패널에 SOCKS 프록시를 지정하는 방법이없는 것 같습니다. 이 문제를 해결하기 위해 PAC (Proxy Auto-Contig) 파일을 만드는 것이 좋습니다 .

iPhone에서 자체 SOCKS 프록시를 사용하는 방법에 대한 아이디어가 있습니까?

답변:


20

글쎄, 더 좋은 방법은 없다고 생각합니다. Apple, iPhone OS 네트워크 설정 패널에 SOCKS 프록시 설정을하기가 너무 어렵습니까? :-(

어쨌든, 지금까지 가장 좋은 대답은 내가 인터넷에서 찾을 수있는 유일한 방법 은 SNIPPLR Code 2.0 웹 사이트의 문서에서 Unjailbroken iPhone / iPod Touch에서 SOCKS 프록시에 연결하는 방법 이라는 제목의 문서입니다 .

다음은 솔루션의 정리 된 버전입니다.

아마도 개인 정보 보호를 위해 직장에서 SSH / SOCKS 터널을 통해 웹 트래픽을 이미 전달하고 있으며 iPhone / iPod Touch에서 동일한 터널을 사용하고 싶다고 가정 해 봅시다. 이것은 실제로 달성하기 매우 쉽습니다.

  1. 업무용 컴퓨터의 SOCKS 터널에서 LAN 연결을 허용해야 iPhone / iPod Touch가 LAN에 연결될 수 있습니다.

    ssh -N -g -D 1080 user@domain.com
    
  2. 텍스트 파일을 작성하고 다음 코드를 삽입하십시오.

    function FindProxyForURL(url, host)
    { 
         return "SOCKS 192.168.xx.xx:yyyy";
    }
    

    SSH 명령에서 x를 IP로 바꾸고 y를 -D 뒤에 사용한 포트로 바꾸십시오.

  3. 텍스트 파일을 PAC (Proxy Auto-Config) 파일로 확장명 이 .pac 인 웹 액세스 가능 장소에 저장하십시오 .

    이 기회를 읽고 있다면 작업 LAN에서 HTTP를 통해 파일을 제공하는 방법을 알고 있으므로 이에 대해서는 다루지 않겠습니다.

  4. 마지막으로 iPhone / iPod Touch에서 설정 → Wi-Fi로 이동하여 회사 네트워크 오른쪽의 파란색 화살표를 클릭하십시오. 맨 아래로 스크롤하여 자동을 클릭하고 PAC 파일의 주소를 입력하십시오 (예 : http : //192.168.xx.xx/mysupersecretproxy.pac ).

이제 iPhone / iPod touch에서 웹을 안전하게 서핑 할 수 있습니다.


여기에는 2G / 3g 네트워크 링크가 아닌 WIFI 사용 사례가 포함됩니다.
Douglas 님이

이것이 ssh 터널의 전체 목적을 무너 뜨리지 않습니까? iPhone과 컴퓨터 간의 트래픽이 암호화되지 않습니까?
JBis

또한 VPN (WireGuard)에 연결할 때 프록시 설정이 무시되는 것 같습니다. iOS 장치와 실행중인 서버 사이의 연결을 암호화하기 위해 그에 의존하고 싶기 때문 ssh -gD입니다. 드로잉 보드로 돌아갑니다.
sjy

4

마지막 답변 감사합니다.

"USB 케이블을 통해 iPhone을 온라인으로 연결하는 SSH" 블로그 게시물과 함께, 나는 네트워크상의 SSH 서버 만있는 USB 테더를 통해 매우 견고한 인스턴트 리버스 SSH / SOCKS 솔루션을 고안했습니다 . 이를 통해 WiFi에 결함이 있고 강력한 전화 데이터 요금제 (T-Mobile Prepaid)가 없어도 모든 TCP 기반 앱이 USB를 통해 SSH 서버의 인터넷을 사용할 수 있습니다.

프록시 서버 구성이 필요하지 않습니다.

블로그 게시물의 요점은 명령 줄에서 프록시를 제어 할 수 있다는 것입니다. 파일을 사용하십시오 :

/private/var/preferences/SystemConfiguration/preferences.plist

다음과 같이 "ip1"섹션을 찾으십시오 (GPRS / EDGE / 3G 인터페이스를 교체하려는 경우).

<dict>
<key>Interface</key>
<dict>
<key>DeviceName</key>
<string>ip1</string>
<key>Hardware</key>
<string>com.apple.CommCenter</string>
<key>Type</key>
<string>com.apple.CommCenter</string>
</dict>

EDGE / 3G를 무시하려면 ip1 섹션이 있어야합니다! 파일에서 다른 프록시 항목을 찾지 마십시오.

그런 다음 다음 섹션을 추가하십시오.

<key>Proxies</key>
<dict>
<key>ProxyAutoConfigEnable</key>
<integer>1</integer>
<key>ProxyAutoConfigURLString</key>
<string>file:///private/var/preferences/proxy.pac</string>
</dict>

그런 다음 트릭을 사용하여 방금 지정한 파일에 SOCKS 프록시를 지정하십시오.

/private/var/preferences/proxy.pac

더하다:

function FindProxyForURL(url, host)
{ 
     return "SOCKS 127.0.0.1:1080";
}

proxy.pac에 대한 권한을 777로 변경하십시오 (모두 읽기, 쓰기, 실행할 수 있음).

iPhone을 재부팅하십시오.

iTunes 9 용 iTunnel을 다운로드하십시오 (이전 버전도 사용 가능). (http://www.mediafire.com/?2q1fzowoy12)

새로운 퍼티 연결 생성 : 연결> SSH> Tunnels 섹션에서 iPhone의 포트 202와 같이 전달 된 "원격"포트를 인터넷에 연결된 SSH 서버 (192.168.2.100:22)에 추가하십시오.

Source Port: 202
Destination: 192.168.2.100:22

동일한 Putty Connection의 SSH 섹션에서 Remote Commmand를 다음으로 설정하십시오.

ssh -D 1080 user@127.0.0.1 -p 202

Putty 구성을 새로운 명명 된 세션에 저장하십시오.

선택적으로 키를 생성하고 * ~ / .ssh / authorized_keys *에 공개 키를 양쪽 끝에 추가하므로 암호를 입력 할 필요가 없습니다. 사용 putty.exe은 "프로필 이름을"-로드 더욱 그 속도를 바로 가기에.


물론 Cygwin 또는 그와 함께 Windows에서 OpenSSH 서버를 실행하는 경우 중간 터널을 건너 뛸 수 있습니다.
thadk

일반적인 테 더링을하기 위해이 작업을 반대로 수행하는 사람이 있습니다. snipplr.com/view/16563/…
thadk

0

이 메시지 는 올바르게 해석하면 명령 줄을 통해이 작업을 수행 할 수 없음을 나타냅니다. 네트워크 환경 설정이 SOCKS를 지원하지 않기 때문에 전혀 할 수 없다는 것을 의미합니다.


이 사이트에서는 SOCKS 프록시를 만드는 데 아무런 문제가 없지만 설정은 PAC 파일을 사용하여 설정해야합니다. 더 쉬운 방법이 있다면 나는 화를 냈다. snipplr.com/view/16563/…
GeneQ


0

위의 답변은 모든 것이 아닙니다.

  1. ssh -D는 iOS 시스템 (예 : iPhone 및 iPad)의 글로벌 프록시가 아닙니다.

  2. HTTP 프록시도 글로벌 프록시가 아닙니다.

대부분의 게임과 IM (인스턴트 메시지)에서 모두 사용할 수는 없습니다. 그것은 단지 일부 웹 서핑 (사파리는 괜찮습니다)이지만 대부분 이것 만입니다.

iPhone 및 iPad에서 가장 쉽고 쉬운 방법은 VPN을 사용하는 것입니다. 원격 에이전트 VPN 서버를 통해 모든 인터넷 데이터를 전송할 수있는 글로벌 에이전트입니다. 또 다른 선택은 OpenVPN이며, iOS에서 클라이언트를 제공합니다.

iPhone과 iPad에서 Windows와 같은 글로벌 양말 프록시를 실행하는 프로그램은 없습니다.


0

탈옥하지 않고이 작업을 수행 할 수있는 방법을 찾았지만 가정용 컴퓨터에서 호스팅 할 수있는 ssh 서버에 액세스해야합니다.

두 개의 iPhone 응용 프로그램이 필요합니다. iSSH (ssh tunnel) 및 ProxyBrowse (socks5 브라우저).

SSH 서버도 필요합니다.

이 예에서는 SSH 서버 [호스트]와 ssh 서버 [사용자]의 사용자 계정을 호출합니다.


SSH 서버

다음 명령을 실행하십시오.

SSH -f -N -D 8080 [user]@[host]

맞습니다. [host]에서 [host]로 역동적 인 포트를 생성하면 곧 이유를 알 수 있습니다.


iSSH

"구성 추가 ...", 서버 / 사용자 이름 등의 일반적인 항목을 작성하십시오. 하단 근처에서 SSH> 없음을 선택할 수 있으며 "터널"에 대한 옵션이 표시됩니다. "터널 추가"버튼을 선택하십시오.

로컬 포트 ​​: 8080

대상 호스트 : [호스트]

목적지 포트 : 8080

모든 것을 저장하고 연결을 엽니 다.


ProxyBrowse

서버 : localhost

포트 : 8080

iSSH가 이미 터널을 생성했으며 iSSH가 iPhone의 백그라운드에서 계속 실행되므로 사용자 이름 또는 비밀번호를 입력하지 않아도됩니다.

이제 SSH 터널을 통해 웹을 탐색 할 수 있습니다.


한 걸음 더 나아가고 싶습니까? 서버에 Tor를 설치하고 iSSH 터널을 Tor 포트에 연결 한 다음 전화기에서 익명으로 웹을 탐색 할 수 있습니다.

기술적으로 관심이 많은 사람은 방금 일어난 일에 대해 조금 더 자세히 알고 싶어합니다.

[host] : ssh -f -N -D 8080 [host]
[client_tunnel] : ssh -L 8080:localhost:8080 [host]
[client_socks5] : localhost:8080

SOCKS 프록시 브라우저는 로컬 포트 ​​전달 터널을 통해 서버의 동적 포트 전달 터널과 통신합니다.

처음


ProxyBrowse를 제외한 네트워크 액세스는 다루지 않습니다. 예를 들어 이메일은 보호되지 않습니다.
Douglas

0

쉘 (jailbroken)에 액세스 proxy.pac할 수 있고 위에서 언급 한 위치에 파일을 배치 할 수 proxy.pac있는 경우 터널링하려는 연결의 네트워크 환경 설정에서 파일에 다음 링크를 사용할 수도 있습니다 .

file://private/var/preferences/proxy.pac

미국의 SSH 서버에 대한 SSH 터널과 함께
Wi-Fi를 통해 허용 범위를 벗어난 (즉, 미국 이외의 지역으로 여행하는 동안) Pandora / Slacker 등을들을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.