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.
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.
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.
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".
Saya membayangkan Anda dapat melakukannya dengan menyiapkan proxy transparan, menggunakan sesuatu seperti charles dan mengarahkan kembali lalu lintas seperti itu
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:
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.
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
-6
Jawaban Terbaik: Cukup tambahkan http atau https di browser Anda, alamat IP, titik dua, dan nomor port. Contoh: https://123.23.145.67:80
Jawaban:
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.
sumber
Jawaban sebelumnya benar, tetapi jika efek yang Anda cari adalah mengarahkan lalu lintas HTTP untuk domain ke IP lain, ada cara.
Karena secara teknis tidak menjawab pertanyaan Anda, saya telah mengajukan dan menjawab pertanyaan di sini:
Bagaimana cara mengalihkan permintaan HTTP yang dibuat dari iPad?
sumber
Tidak, Anda tidak dapat mengubah file host iPad (tanpa jailbreak), tetapi dapat mengatasinya.
Inilah skenario saya:
192.168.2.1
, menjalankan aplikasi webSaya akan menguji aplikasi web yang berjalan di Mac saya melalui iPad, tetapi saya tidak dapat mengaksesnya secara langsung.
Solusinya berhasil untuk saya:
Port
(sebagian besar8888
) dan alihkanEnable transparent HTTP proxying
.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.
sumber
NodeJs
modulCara 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.
sumber
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.exe
sebagai administrator3) Ubah
mararc
file, 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 manarun_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!
sumber
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".
sumber
Saya membayangkan Anda dapat melakukannya dengan menyiapkan proxy transparan, menggunakan sesuatu seperti charles dan mengarahkan kembali lalu lintas seperti itu
sumber
Workarond yang saya gunakan untuk tujuan pengembangan:
sumber
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.
sumber
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.
sumber
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
sumber
iphonesettings.net
?Anda membutuhkan akses untuk
/private/etc/
itu, tidak. kamu tidak bisa.sumber
Jawaban Terbaik: Cukup tambahkan http atau https di browser Anda, alamat IP, titik dua, dan nomor port. Contoh: https://123.23.145.67:80
sumber