iPad의 호스트 파일을 편집 할 수 있습니까?


87

광범위한 탈옥 없이는 이것이 가능할지 의심 스럽지만, iPad (또는 모든 iOS 기기)의 호스트 파일을 편집 할 수 있습니까?


1
탈옥 없이는 안됩니다. 탈옥되면 다른 Unix / BSD 시스템과 동일합니다. 나는 그것을 전에 해본 적이 없다고 생각한다.
Jasarien 2011 년

1
어떤 앱이 호스트 이름과 합법적 인 IP 간의 연결을 변경할 수 있다고 상상해보십시오.
Jano 2011-08-02

2
@jano 아마도 그 문제는 이제 Mac App Store의 앱에 존재합니다. 호스트 파일을 편집하기 전에 암호를 요구하는 OSX와 아마도 Apple의 앱 검사 절차에 의해 처리됩니다.
Danyal Aytekin 2011 년

3
@Jano : Microsoft Windows에서는 이제이를 허용하며 문제가 없습니다. 관리자 권한 만 있으면됩니다. 호스트 파일을 수정하려는 합법적 인 이유가 있습니다 (모두 DNS 서버없이 항목을 가져 오거나 VPN 문제를 처리하는 것과 관련이 있음).
Josh Mouch

답변:


46

아니요. 앱은 자체 샌드 박스 내에서 문서 디렉토리 내의 파일 만 수정할 수 있습니다. 이는 보안 및 설치 / 제거의 용이성을위한 것입니다. 따라서 탈옥 된 장치에서만이 작업을 수행 할 수 있습니다.


1
샌드 박스에서만 가능하며 문서 디렉토리 내에서만 가능합니다 (iOS 애플리케이션 프로그래밍 가이드> 애플리케이션 런타임> 파일 시스템 참조).
Jano


47

아니요, 탈옥없이 iPad의 호스트 파일을 변경할 수는 없지만 해결할 수 있습니다.

내 시나리오는 다음과 같습니다.

  • Mac OS X, IP 사용 192.168.2.1, 웹 앱 실행
  • 웹 앱을 테스트 할 장치 인 iPad
  • Charles (Mac 용), iPad 용 HTTP 프록시 활성화

iPad를 통해 Mac에서 실행되는 웹 앱을 테스트하려고하는데 직접 액세스 할 수 없습니다.

솔루션이 저에게 효과적입니다.

  • 먼저 서버와 iPad가 동일한 로컬 네트워크에 있는지 확인하십시오.
  • 그런 다음 "프록시> 프록시 설정 ..."메뉴에서 Charles 프록시를 설정하고 Port(대부분 8888) 입력하고 전환 Enable transparent HTTP proxying합니다.

여기에 이미지 설명 입력


  • iPad에서 프록시 설정을 설정합니다.

여기에 이미지 설명 입력

이제 iPad에서 웹 앱을 방문 할 수 있습니다.

물론 Linux의 Squid 또는 Varnish 또는 Wondows의 fiddler 와 같은 다른 프록시 도구를 사용할 수 있습니다 .


1
질문에 대한 답은 아니지만 ... 이것은 대부분의 사람들이 호스트 파일을 편집하고자하는 목적을 위해 훌륭하고 구현하기 쉽고 쉽게 전환 할 수있는 솔루션입니다.
Matt Kenefick 2015

굉장한 솔루션! 깨끗하고 구현하기 쉽습니다. 내 워크 스테이션의 OS로 Linux를 사용하므로 tinyproxy를 사용했고 프록시는 iPhone에서 잘 작동합니다. 감사합니다!
Edenshaw

보안 문제로 인해 최신 버전의 iOS에서는 작동하지 않을 수 있습니다. NodeJs모듈 필터 넷을
vanduc1102

1
"이제 iPad에서 웹 앱을 방문 할 수 있습니다"-그러나 어떻게? 내 앱이 "myapp.dev.domain.com"에서만 작동하는 경우 Ipad는 이름을 어떻게 확인합니까? 이것은 호스트 파일이 들어오는 곳이고 질문의 요점을 의심합니다
Greg Woods

@GregWoods 나는 비슷한 구성을 가지고 있으며 이것은 'myapp.env.domain.com'을 방문하여 나를 위해 일했지만 몇 번 시도한 후에야
RenaissanceProgrammer

6

이 작업을 수행하는 가장 쉬운 방법은 XCode를 사용하여 iPad 시뮬레이터를 실행 한 다음 호스트 시스템의 호스트 파일 (/ etc / hosts)에 항목을 추가하여 테스트 사이트를 가리키는 것입니다.


6
질문은 시뮬레이터가 아닌 장치에 관한 것입니다.
Janak Nirmal

5
@JanakNirmal 그래도 여전히 유용한 답변입니다.
Simon

6

나는 동일한 기능이 필요했고 탈옥을하는 것은 아니다. 한 가지 해결책은 DNS 서버 ( MaraDNS ) 하고 ipad / phone의 Wi-Fi 설정으로 이동 한 다음 여기에 사용자 지정 DNS 서버를 추가하는 것입니다.

전체 과정은 10 분 밖에 걸리지 않았고 작동합니다!

1) MaraDNS 다운로드

2) 실행 mkSecretTxt.exe 관리자 으로

3) mararc파일 수정 , 내 것은 다음과 같습니다.

ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"

csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"

" example.configuration" 파일을 같은 폴더에 추가하십시오 .run_maradns.bat .

4) example.configuration 파일을 편집합니다.

Simple.Example.com. 10.10.13.13 ~

5) 모든 방화벽 비활성화 (편의성)

6) " run_maradns.bat" 파일 실행

7) 오류가 없어야합니다.

8) 다음과 같이 목록에 DNS 서버를 추가합니다. http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html

9) 작동합니다!


1
이 유일한 실제 대답은 동안 모든 대답은 여기에 냄새 HTTP 트래픽에 영업 욕구를 가정합니다 (호스트 파일을 수정로) DNS 해상도를 스푸핑에 초점
필리페 피나

5

예, iPad 호스트 파일을 편집 할 수 있지만 탈옥해야합니다. 이 작업을 마치면 Cydia (앱 마켓)를 다운로드하고 iFile을 다운로드합니다. 호스트 파일은 "/ etc / hosts"내에 있습니다.


4

찰스와 같은 것을 사용하여 투명한 프록시를 설정하고 트래픽을 그런 식으로 리디렉션하면 가능하다고 생각합니다.


3

Workarond 나는 개발 목적으로 사용합니다.

  1. 자신의 프록시 서버를 만듭니다 (하나의 옵션은 Linux의 Squid).
  2. 도메인으로 호스트 파일을 설정하십시오.
  3. IPAD / IPHONE에 프록시 서버를 설정하면 호스트와 함께 사용할 수 있습니다.

멋진 간단한 솔루션!
Adam Freeman

3

이 글이 게시 된 지 오래되었지만 iOS 7.1에서는 몇 가지 사항이 변경되었습니다.

지금까지 앱을 개발하는 경우 Apple에서 인식하는 유효한 SSL 인증서가 있어야합니다. 그렇지 않으면 iDevice에 오류 메시지가 표시됩니다. 더 이상 자체 서명 된 인증서가 없습니다. 여기 목록을 참조하십시오.

http://support.apple.com/kb/ht5012

또한 여기에 있다면 테스트 또는 개발 환경에서 iDevice가 이름 (https 서버로)을 확인하도록 시도하고 있음을 의미합니다.

훌륭한 애플리케이션 인 squid를 사용하는 대신 dnsmasq와 같은 매우 기본적인 DNS 서버를 실행할 수 있습니다. 호스트 파일을 이름 확인의 첫 번째 줄로 사용하므로 기본적으로 www.blah.com이 192.168.10.10이라고 말하면서 iDevice를 속일 수 있습니다.

구성 파일은 3-4 줄로 간단하며 원하는 경우 내부 DHCP 서버를 구성 할 수도 있습니다.

다음은 내 것입니다.

수신 주소 = 192.168.10.35

도메인 필요

가짜 priv

no-dhcp-interface = eth0

로컬 = / localnet /

물론 해당 DNS (제 경우에는 192.168.10.35)를 사용하도록 iDevice에서 네트워킹을 구성해야합니다. 또는 적절하게 구성된 후에 해당 서버에서 DHCP 사용을 시작해야합니다.

또한 dnsmasq가 내부적으로 이름을 확인할 수없는 경우 일반 DNS 서버 (예 : 8.8.8.8)를 사용하여 이름을 확인합니다. 매우 간단하고 우아하며 사내 iDevice 앱 설치 문제를 해결했습니다.

그건 그렇고, 일반 Mac (OS X)에서도 많은 이름 확인 문제를 해결합니다.

자, 내 불평 : 블러디 애플. 기기를 안전하게 만드는 것은 운영체제 나 개발자를 거세하는 것을 포함해서는 안됩니다.


카를로스 감사합니다. 문제는 Pulse Secure의 모바일 VPN 제품을 사용하여 서버를 테스트하는 것입니다. 외부에서는 사용할 수 없습니다. 따라서 새 PROD 인증서를 테스트하려면 iPad가 테스트 서버 (PROD 인증서가 설치된 곳)로 이동해야합니다. 그러나 URL www.prod ...... com을 사용합니다. 지금까지이 시나리오에 대한 해결책이 없습니다. : 0 (
codeslapper

2

호스트 이름을 자유롭게 선택할 수 있다면 dyndns.org와 같은 동적 DNS 서비스에 호스트를 추가하기 만하면됩니다. 그런 다음 iPad의 일반 해상도 메커니즘을 사용하여 주소를 확인할 수 있습니다.


2

iPhone Mobile 프록시 생성기를 사용하여 모바일 인터넷 (3G)을 통해 iPhone 또는 iPade에서 프록시 서버를 사용할 수도 있습니다.

http://iphonesettings.net/mobileproxygenerator.php

이동 통신사의 apn (필요한 경우 apn 사용자 이름 / 암호 사용)과 통과하려는 프록시 서버를 입력하고 생성을 탭하기 만하면됩니다.


2
독자주의 :이 답변의 웹 사이트는 많은 기업 인터넷 방화벽 솔루션에서 맬웨어로 나열됩니다. 신뢰할 수없는 프록시 서버를 통해 모든 트래픽을 전송하면 전송 된 모든 정보가 노출됩니다. 당신이 할 정말 믿어 iphonesettings.net?
ErikE apr

-2

액세스 권한이 필요합니다 /private/etc/. 당신은 할 수 없습니다.


@OmG, 질문은 "전혀 가능합니까?"였고 그의 의견은 실제로 질문에 정확하게 대답합니다. 댓글 복사 / 붙여 넣기를 중지하여 자신의 평판을 높이세요.
Daniel Smith

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