Saya memiliki situs web yang berjalan di komputer saya, dan saya ingin mengujinya dari tablet Nexus 7 saya. Yaitu melalui LAN WiFi lokal. Jika saya mengetik alamat IP yang terhubung, tetapi menunjukkan situs web yang salah, karena saya menggunakan hosting virtual bernama.
Jadi, yang ingin saya lakukan adalah dapat mengetik mysite.local
di Chrome / Firefox pada Nexus, minta mereka mengonversinya menjadi 10.1.2.3
(atau apa pun alamat IP lokal), lalu panggil 10.1.2.3
server yang memberi mysite.local
sebagai Host untuk meminta.
Pertanyaan Saya: Apakah tablet Android 4.x memiliki /etc/hosts
file, atau yang setara, yang dapat saya edit? (Tanpa harus me-rooting tablet, atau semacamnya.)
Di komputer Linux saya, saya melakukan ini dengan menambahkan entri di /etc/hosts
:
10.1.2.3 mysite.local
(Atau Windows\System32\drivers\etc\hosts
pada mesin Windows melakukan hal yang sama.)
BTW, ini adalah semi-duplikat Secara manual menetapkan nama host untuk alamat IP (yaitu / etc / hosts equiv.?) , Tapi pertanyaannya adalah untuk Android 2.2, di mana ternyata itu tidak mungkin. (Salah satu ide alternatif menyarankan ada konfigurasi DNS di router lokal, tetapi sejauh yang saya tahu router saya tidak melakukan DNS lokal sehingga tidak memiliki opsi itu. Saya bisa mengatur server DNS saya sendiri untuk melakukan ini, tetapi itu terasa seperti Solusi Pekerjaan Besar.)
sumber
/etc/hosts
paham, Darren: Saya tidak menyarankan pengeditan , tetapi mengonfigurasi "server nama" Anda (mis. DNSMasq, atau apa pun yang Anda gunakan). Router Anda mungkin memberi Anda tempat untuk itu./etc/hosts
perlu diedit di setiap mesin jika tidak - dan file yang sesuai di Android hanya dapat diedit dengan "kekuatan root" (saya tidak tahu lokasi persisnya di luar kepala saya, tetapi ada di suatu tempat di dalam/data/system
AFAIR). Lihat: Cara mengedit file etc / hostsJawaban:
Anda tidak dapat hanya mengedit file host di Android, karena file tersebut berada pada sistem file read-only:,
/system/etc/hosts
lihat:Alternatifnya adalah:
sumber
Seperti yang disebutkan oleh lzzy, Anda dapat menggunakan server DNSMasq untuk mencapai ini. Tetapi Chrome menggunakan proses penyelesaian DNS sendiri dan metode ini mungkin tidak berfungsi.
Untuk memulai server gunakan perintah berikut:
sudo
diperlukan untuk mengikat pada port 53-d
mulai server di latar depan--no-hosts
jangan gunakan file host lokal--conf-file=/dev/null
jangan gunakan file konfigurasi apa pun--server=8.8.8.8 --server=8.8.4.4
alamat server hulu (Google DNS dalam contoh ini)--address=/example.com/192.168.0.101
host untuk menimpa. Anda perlu menambahkan host Anda di baris ini. Anda juga dapat menambahkan beberapa host di sana.Kemudian ubah server DNS pada perangkat. Ini dapat dengan mudah dilakukan menggunakan aplikasi DNS Changer .
Setelah langkah-langkah ini, permintaan ke host ini harus dikirim ke alamat Anda.
sumber
Cara paling sederhana untuk mendefinisikan host ke pemetaan IP adalah
hosts
file karena sebagian besar penyelesai DNS menghormati file itu . Tetapi seperti yang disebutkan dalam jawaban lain, tidak mungkin mengedit/etc/hosts
tanpa me-rooting perangkat Android. Mengakses server web dengan alamat IP juga tidak akan berfungsi untuk Anda karena hosting virtual. Berikut adalah beberapa opsi yang dapat Anda gunakan di perangkat yang tidak di-root:hosts
file khusus sebelum membuat kueri ke server DNS hulu yang dikonfigurasi.dnsmasq
, tambahkanaddress=/mysite.local/10.1.2.3
ke "dnsmasq.conf" . Atau didnscrypt-proxy
tambahkanmysite.local 10.1.2.3
ke "cloaking-rules.txt" .10.1.2.3 mysite.local
kehosts
file di server proxy atau jalankan server DNS lokal di server VPN.hosts
file dari pemulihan khusus.Untuk detail lebih lanjut, lihat: Cara selalu menyelesaikan nama domain ke IP tetap tanpa rooting?
TERKAIT:
sumber