Bisakah saya mengedit file host iPad?


87

Saya ragu ini mungkin tanpa jailbreak yang ekstensif, tetapi apakah mungkin untuk mengedit file host iPad (atau perangkat iOS apa pun)?


1
Bukan tanpa jailbreaking. Setelah di-jailbreak, itu akan sama dengan sistem Unix / BSD lainnya. Saya berasumsi, saya belum pernah melakukannya sebelumnya.
Jasarien

1
Bayangkan jika ada aplikasi yang dapat mengubah asosiasi antara nama host dan IP sahnya.
Jano

2
@jano Mungkin masalah itu sekarang ada pada aplikasi di Mac App Store. Ini ditangani oleh OSX yang membutuhkan kata sandi sebelum Anda dapat mengedit file host, dan mungkin juga oleh prosedur pemeriksaan aplikasi Apple.
Danyal Aytekin

3
@Jano: Microsoft Windows mengizinkan ini sekarang, dan ini menyebabkan 0 masalah. Anda hanya perlu memiliki izin Administrator. Dan ada alasan yang sah untuk ingin memodifikasi file host (semua terkait dengan mendapatkan sesuatu tanpa server DNS atau berurusan dengan masalah VPN).
Josh Mouch

Jawaban:


46

Tidak. Aplikasi hanya dapat mengubah file dalam direktori dokumen, dalam kotak pasirnya sendiri. Ini untuk keamanan, dan kemudahan instalasi / uninstall. Jadi, Anda hanya dapat melakukan ini di perangkat yang di-jailbreak.


1
Hanya di kotak pasir, tetapi tidak hanya di dalam direktori dokumen (lihat Panduan Pemrograman Aplikasi iOS> Waktu Proses Aplikasi> Sistem File).
Jano


47

Tidak, Anda tidak dapat mengubah file host iPad (tanpa jailbreak), tetapi dapat mengatasinya.

Inilah skenario saya:

  • Mac OS X, dengan IP 192.168.2.1, menjalankan aplikasi web
  • iPad, perangkat yang ingin Anda uji aplikasi webnya
  • Charles (untuk Mac), mengaktifkan proxy HTTP untuk iPad Anda

Saya akan menguji aplikasi web yang berjalan di Mac saya melalui iPad, tetapi saya tidak dapat mengaksesnya secara langsung.

Solusinya berhasil untuk saya:

  • Pertama, pastikan server dan iPad Anda berada di jaringan lokal yang sama.
  • Kemudian, atur proxy Charles, di menu "Proxy> Proxy Settings ...", isi Port(sebagian besar 8888) dan alihkan Enable transparent HTTP proxying.

masukkan deskripsi gambar di sini


  • Atur pengaturan proxy di iPad.

masukkan deskripsi gambar di sini

Sekarang Anda dapat mengunjungi aplikasi web Anda di iPad.

Tentu saja Anda dapat menggunakan alat proxy lain seperti Squid atau Varnish di Linux, atau fiddler di Wondows.


1
Itu tidak menjawab pertanyaan ... tapi ini adalah solusi yang sangat baik, mudah diterapkan, dan mudah diubah untuk tujuan yang paling ingin diedit oleh file host.
Matt Kenefick

Solusi luar biasa! Bersih dan mudah diterapkan. Saya menggunakan linux sebagai OS saya untuk workstation saya, jadi saya menggunakan tinyproxy dan proxy berfungsi baik dengan iPhone saya. Terima kasih sobat!
Edenshaw

Itu tidak berfungsi pada versi iOS yang lebih baru karena masalah keamanan mungkin, Ini bisa lebih mudah dengan filternetNodeJs modul
vanduc1102

1
"Sekarang Anda dapat mengunjungi aplikasi web Anda di iPad" - tetapi bagaimana caranya? Jika aplikasi saya hanya berfungsi di "myapp.dev.domain.com", bagaimana Ipad menyelesaikan nama tersebut. Di sinilah file host masuk, dan saya curiga inti pertanyaannya
Greg Woods

@GregWoods saya memiliki konfigurasi yang serupa dan ini berfungsi untuk saya dengan mengunjungi 'myapp.env.domain.com' tetapi hanya setelah mencoba beberapa kali
RenaissanceProgrammer

6

Cara termudah untuk melakukannya adalah dengan menjalankan simulator iPad menggunakan XCode dan kemudian menambahkan entri di file host (/ etc / hosts) pada sistem host untuk diarahkan ke situs pengujian Anda.


6
Pertanyaannya adalah tentang perangkat bukan simulator.
Janak Nirmal

5
@JanakNirmal Masih merupakan jawaban yang membantu.
Simon

6

Saya membutuhkan fungsi yang sama, dan melakukan jailbreak adalah hal yang tidak-tidak. Salah satu solusinya adalah meng-host sendiri server DNS ( MaraDNS ), buka pengaturan wifi Anda di ipad / telepon, dan tambahkan server DNS khusus Anda di sana.

Seluruh proses hanya membutuhkan waktu 10 menit, dan berhasil!

1) Unduh MaraDNS

2) Jalankan mkSecretTxt.exesebagai administrator

3) Ubah mararcfile, milik saya adalah:

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

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

Tambahkan file bernama " example.configuration" ke dalam folder yang sama di mana run_maradns.bat.

4) Edit file contoh konfigurasi Anda:

Simple.Example.com. 10.10.13.13 ~

5) Nonaktifkan semua Firewall (kenyamanan)

6) Jalankan file " run_maradns.bat"

7) Seharusnya tidak ada kesalahan.

8) Tambahkan server DNS Anda ke daftar, seperti yang ditunjukkan di sini: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html

9) Bekerja!


1
setiap jawaban di sini mengasumsikan OP ingin mengendus lalu lintas HTTP sementara ini adalah satu-satunya jawaban aktual yang fokus pada resolusi DNS spoofing (sebagai memodifikasi file host)
Filipe Pina

5

Ya, Anda dapat mengedit file host iPad, tetapi Anda harus di-jailbreak. Setelah Anda selesai melakukannya, unduh Cydia (pasar aplikasi), dan dapatkan iFile. File host terletak di dalam "/ etc / hosts".


4

Saya membayangkan Anda dapat melakukannya dengan menyiapkan proxy transparan, menggunakan sesuatu seperti charles dan mengarahkan kembali lalu lintas seperti itu


3

Workarond yang saya gunakan untuk tujuan pengembangan:

  1. Buat server proxy Anda sendiri (Salah satu opsinya adalah: Squid di Linux).
  2. Setel file host Anda dengan domain Anda.
  3. Setel server proxy di iPad / IPHONE dan Anda dapat menggunakan dengan host Anda.

Solusi sederhana yang bagus!
Adam Freeman

3

Saya tahu sudah lama ini diposting, tetapi dengan iOS 7.1, beberapa hal telah berubah.

Sejauh ini, jika Anda mengembangkan Aplikasi, Anda HARUS memiliki sertifikat SSL yang valid yang dikenali oleh Apple, jika tidak, Anda akan mendapatkan pesan kesalahan pada iDevice Anda. Tidak ada lagi sertifikat yang ditandatangani sendiri. Lihat di sini daftarnya:

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

Selain itu, jika Anda berada di sini, itu berarti Anda mencoba membuat iDevice Anda menentukan nama (ke server https Anda), di lingkungan pengujian atau pengembangan.

Alih-alih menggunakan squid, yang merupakan aplikasi hebat, Anda cukup menjalankan server DNS yang sangat dasar seperti dnsmasq. Ini akan menggunakan file host Anda sebagai baris pertama resolusi nama, jadi, pada dasarnya Anda dapat menipu iDevice Anda di sana, mengatakan bahwa www.blah.com adalah 192.168.10.10.

File konfigurasinya sesederhana 3 hingga 4 baris, dan Anda bahkan dapat mengkonfigurasi server DHCP internalnya jika diinginkan.

Ini milikku:

dengar-alamat = 192.168.10.35

domain-dibutuhkan

palsu-priv

no-dhcp-interface = eth0

local = / localnet /

Tentu saja Anda harus mengkonfigurasi jaringan di iDevice Anda untuk menggunakan DNS itu (192.168.10.35 dalam kasus saya), atau hanya mulai menggunakan DHCP dari server itu, setelah dikonfigurasi dengan benar.

Selain itu, jika dnsmasq tidak dapat menyelesaikan nama secara internal, ini menggunakan server DNS biasa Anda (seperti 8.8.8.8) untuk menyelesaikannya untuk Anda. SANGAT sederhana, elegan, dan memecahkan masalah saya dengan instalasi iDevice App di rumah.

Ngomong-ngomong, pecahkan banyak masalah resolusi nama dengan Mac biasa (OS X) juga.

Sekarang, kata-kataku: Apple berdarah. Membuat perangkat aman tidak termasuk mengebiri sistem operasi atau pengembangnya.


Terima kasih Carlos. Perjuangannya adalah kami menggunakan produk vpn seluler Pulse Secure untuk menguji server. Ini tidak tersedia di luar. Jadi, jika kita ingin menguji sertifikat PROD baru maka kita memerlukan iPad untuk pergi ke server pengujian (tempat sertifikat PROD dipasang); tetapi untuk menggunakan URL www.prod ...... com. sejauh ini, tidak ada solusi untuk skenario ini yang ditemukan. : 0 (
codeslapper

2

Jika Anda memiliki kebebasan untuk memilih nama host, Anda dapat menambahkan host Anda ke layanan DNS dynanmic, seperti dyndns.org. Kemudian Anda dapat mengandalkan mekanisme resolusi normal iPad untuk menyelesaikan alamat tersebut.


2

Anda juga dapat menggunakan server proxy di iPhone atau iPade Anda melalui internet seluler (3G) dengan menggunakan generator proxy iPhone Seluler:

http://iphonesettings.net/mobileproxygenerator.php

Cukup masukkan apn operator Anda (dengan nama pengguna / kata sandi apn jika diperlukan) dan server proxy yang ingin Anda lalui dan ketuk Hasilkan


2
PERHATIAN PEMBACA : situs web dalam jawaban ini terdaftar sebagai malware oleh banyak solusi firewall internet perusahaan. Dengan mengirimkan semua lalu lintas Anda melalui server proxy yang tidak tepercaya, Anda mengekspos semua informasi yang dikirimkan. Apakah kamu benar-benar percaya iphonesettings.net?
ErikE

-2

Anda membutuhkan akses untuk /private/etc/itu, tidak. kamu tidak bisa.


@OmG, Pertanyaannya adalah "apakah semuanya mungkin" dan komentarnya sebenarnya menjawab pertanyaan itu dengan akurat. Berhenti menyalin / menempel komentar untuk meningkatkan reputasi Anda sendiri.
Daniel Smith

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.