Saya ingin menetapkan catatan dns yang akan digunakan browser saya, tetapi saya tidak memiliki akses root, jadi saya tidak dapat memodifikasi /etc/hosts
. Saya perlu melakukan ini untuk menguji vhosts dengan apache, yang dnsnya belum diatur. Saya memiliki akses ke firefox, dan chrome, jadi jika ada plugin yang dapat memfasilitasinya; atau opsi lain sangat membantu.
update: alternatif untuk mengganti dns mungkin memodifikasi header HTTP, jika yang benar dikirim ke apache, konten yang benar harus dikembalikan.
dns
not-root-user
http
xenoterracide
sumber
sumber
Jawaban:
Saya sedang mencari cara untuk menjalankan program dengan resolusi DNS yang dimodifikasi untuk tujuan pengujian. Bagi saya, solusinya menggunakan
HOSTALIASES
variabel lingkungan:Lihat
hostname(7)
.(Catatan: Dalam contoh,
HOSTALIASES
variabel lingkungan hanya memengaruhiwget
proses. Tentu saja, Anda dapatexport HOSTALIASES
membuatnya berlaku untuk semua subproses shell saat ini.)sumber
export
dalam banyak kasus:export HOSTALIASES=~/.hosts
.Anda dapat menulis pembungkus di sekitar fungsi libc untuk menyelesaikan nama host dan mencarinya di file yang berbeda dari / etc / hosts. Kemudian jalankan aplikasi apa pun yang ingin Anda gunakan dengan file host Anda
sumber
/etc/nsswitch.conf
ke~/.nsswitch.conf
, dan buat~/.nsswitch.conf
yang menanyakan basis data DNS Anda.Saya pikir cara terbaik untuk melakukan ini adalah dengan mengatur proxy SOCKS5 dan memberitahu firefox untuk mengirim permintaan DNS melalui proxy SOCKS5 (network.proxy.socks_remote_dns). Anda dapat mengatur proxy socks5 dengan openssh cukup mudah (opsi -D) dan menjalankan host jarak jauh dengan custom / etc / hosts, atau sesuatu seperti DNSMasq untuk pengaturan DNS yang lebih kompleks. Namun, secara efektif, ini mendorong konfigurasi pengaturan DNS ke sistem tempat Anda dapat melakukan perubahan di seluruh sistem.
sumber
Lihat pertanyaan berikut di superuser:
https://superuser.com/questions/184643/override-dns-in-firefox
Jika opsi yang dibahas dan tautan SO bukan solusi yang layak, maka periksa:
https://superuser.com/questions/100239/hostname-override-in-firefox
Terutama periksa:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Kedengarannya addon ini bisa membantu - tapi saya bergantung pada implementasinya yang sebenarnya.
sumber
Untuk menguji vhosts, Anda dapat mengatur server Apache sebagai proksi di Firefox. Nama yang Anda masukkan akan diteruskan ke Apache. Ini akan menghentikan penjelajahan situs lain sehingga mengatur kembali proxy setelah Anda selesai.
sumber
Saya membutuhkan sesuatu yang serupa untuk ssh, scp dll untuk server yang terus mengubah IP setiap beberapa minggu (dan IT kami memiliki penundaan beberapa minggu dalam pengaturan host). Saya menyelesaikannya dengan menggunakan variabel khusus untuk server ini:
export FOO='131.227.aaa.bbb
dan kemudian saya bisa melakukan apa sajassh bar@$FOO
dan saya mengubah IP~/.bashrc
kapan saja itu berubah ...sumber
Sial tidak, Anda tidak bisa, kecuali Anda menulis browser internet Anda sendiri.
Jika Anda harus melakukan beberapa tes, Anda memerlukan mesin uji, apa pun itu mesin virtual atau yang asli, jadi Anda harus bertanya kepada admin Unix Anda (atau penyedia hosting) bagaimana Anda dapat menempatkan lingkungan pengembangan.
Anda juga dapat menginstal VM di PC, menginstal distribusi Linux, Apache, dan menguji perubahan Anda (tidak sesulit kedengarannya)
Memperbarui
Untuk lebih jelasnya, setiap aplikasi ditulis menggunakan pustaka standar, dengan cara ini tidak ada yang harus menulis ulang pustaka tingkat rendah dan fungsi seperti gethostbyname ().
Fungsi-fungsi ini biasanya diatur untuk menggunakan file (/ etc / hosts) dan DNS, jadi, sial, jika Anda membutuhkan browser Anda akan menyelesaikan nama daripada yang diatur di / etc / hosts Anda tidak memiliki terlalu banyak alternatif .
sumber
open()
dan panggilan tingkat rendah lainnya .. selama pemuatan kode dinamis dilakukan (.so)