Bagaimana saya bisa menghapus cache DNS saya di ponsel Android saya? (Droid3, Gingerbread, di-root untuk lebih spesifik)
Idealnya saya sedang mencari perintah untuk dijalankan melalui emulator terminal, sesuatu yang mirip
ipconfig /flushdns
Di mesin windows.
Apa versi Linux ini?
Jawaban:
Pada sistem Linux yang khas, cache dihapus dengan menjalankan
/etc/init.d/nscd restart
, tetapi setidaknya ROM saya tidak menggunakan nscd untuk melakukan cache DNS. Anda dapat memeriksa apakah Anda memilikinya, tetapi saya ragu. Saya telah melihat saran bahwa membersihkan cache browser akan menghapus cache DNS juga, tetapi satu cara yang pasti adalah dengan melakukan reboot keras (shutdown, lepaskan baterai selama 30-an, pasang kembali baterai dan boot).sumber
Alamat di-cache selama 600 detik (10 menit) secara default. Pencarian gagal di-cache selama 10 detik. Dari semua yang saya lihat, tidak ada yang dibangun untuk membersihkan cache. Tampaknya ini adalah bug yang dilaporkan di Android karena cara menyimpan cache DNS. Mengosongkan cache browser tidak menyentuh DNS, "hard reset" menghapusnya karena itu hanya habis.
Bisakah kita menanyakan alasan yang mendasari perlunya menghapus cache DNS? Mungkin ada solusi lain yang terlewatkan karena kita tidak melihat gambaran yang lebih besar.
sumber
networkaddress.cache.ttl
dannetworkaddress.cache.negative.ttl
dalambuild.prop
.Satu-satunya cara untuk melakukan ini di Android adalah dengan melakukan reboot keras. Alat baris perintah yang diperlukan biasanya tidak tersedia, namun dalam pengujian saya, reboot yang keras selalu melakukan trik untuk saya (Galaxy Nexus, dan HTC Desire, berbagai ROM).
Ini menyakitkan, tetapi lebih cepat dari batas waktu cache 10 menit.
sumber
Ada juga aplikasi seperti Internet Booster yang menjanjikan "menghapus cache DNS" (di antara hal-hal lain). Saya tidak mencobanya sendiri, dan lebih jauh lagi sepertinya tidak ada cara untuk melakukan itu (hanya satu tombol "optimalkan" yang "menerapkan peningkatan"); juga efeknya mungkin berbeda di antara perangkat (kata deskripsi aplikasi) - tetapi mungkin lebih baik daripada reboot. Btw: walaupun tidak menyebutkan root sebagai persyaratan, mungkin masih diperlukan.
Ada beberapa "aplikasi serupa" yang tercantum di Google Play - tetapi perlu diketahui bahwa kebanyakan dari mereka termasuk iklan Airpush dan / atau ingin izin berlebihan, itulah sebabnya saya tidak menyebutkannya di sini.
Solusi lain yang mungkin (tidak diuji sendiri) yang saya temukan di MadPC , sepertinya mengutip jawaban pengguna8522 sebelum menyatakan:
Howto singkat lain menyebutkan cara mudah berbeda untuk membersihkan DNS (sekali lagi, saya tidak menguji ini sendiri): Cukup beralih ke mode pesawat (oops, tidak ada jaringan?) Dan kembali (ah, itu dia) harus melakukan trik. Mungkin terdengar bodoh, tapi saya bisa membayangkan ketika memasuki mode pesawat Android melakukan sesuatu yang mirip
/etc/init.d/networking stop
, yang memiliki DNS flush sebagai efek samping.Sebuah solusi yang sangat mudah disediakan oleh dtumaykin dalam komentar di bawah ini: cukup beralih ke mode pesawat dan kembali mungkin sudah melakukannya (tentu saja dengan efek samping dari jaringan turun selama beberapa detik;) Meskipun mungkin tidak bekerja pada beberapa perangkat, patut dicoba: tidak ada instalasi tambahan, dan mudah dilakukan bahkan oleh n00bs.
Jika ada yang mencoba salah satu solusi itu, konfirmasi (atau yang sebaliknya) pasti diterima :)
sumber
ndc resolver flushdefaultif
danndc resolver flushif wlan0
; mereka membutuhkan root. Ada juga metode NetworkManagementService.flushDefaultDnsCache () , yang hanya membutuhkan CHANGE_NETWORK_STATE sebelum JB, tetapi kemudian dikunci ke CONNECTIVITY_INTERNAL. Jadi rupanya ada cara peretasan untuk membersihkan cache DNS tanpa root (setelah build.prop tuning untuk membunuh cache level-Java), tetapi itu tidak akan berfungsi di JB.Dalam versi modern Android ada opsi untuk menghapus cache DNS Chrome di bawah chrome: // net-internal / # dns
sumber
Dalam kasus saya, saya hanya punya satu nama domain yang saya perlu memerah. Saran seperti beralih Mode Pesawat, melakukan reboot keras, atau tindakan dalam chrome: // net-internal / # dns tidak bekerja untuk saya. Sebagai gantinya, saya mengubah sementara pengaturan WiFi saya untuk menggunakan server nama Google di 8.8.8.8.
Inilah langkah-langkah yang saya ambil:
Setelah langkah-langkah ini, ketika saya
ping
mengedit nama domain di konsol itu diselesaikan ke alamat IP yang benar dan sepertinya menulis di atas yang lama di-cache. Agaknya mengunjungi domain di browser akan memiliki efek yang sama.Ketika saya kembali ke WiFi dan mengatur "pengaturan IP" kembali ke "DHCP", domain yang benar terus menyelesaikan ke alamat IP saat ini.
Ini ada pada Sony Xperia Z3 yang menjalankan Android 5.1.1
sumber
Pada Adroid 5.1 Mobile yang telah mengambil DNS yang salah karena dialihkan ke banyak antara dua WLAN; (Tanda tanya pada WLAN Connexion. Saya tidak ingin mengembalikan telepon saya seperti yang saya lakukan sekali .. Engelsiz: DNS Changer memperbaikinya; )
sumber