Ponownie zamontowałem /sys
jako rw
, dodałem jeden wpis etc/hosts
(np. 10.0.0.1 x.com www.x.com
) I ponownie uruchomiłem urządzenie.
Po ponownym uruchomieniu, jeśli sprawdzę etc/hosts
, wpis jest w porządku. Jeśli pinguję x.com
, pinguje poprawny adres IP, który podałem.
Ale jeśli otworzę przeglądarkę internetową (giełdową lub Dolphin) i x.com
przejdę do niej, przejdzie ona na adres IP, na który DNS rozpoznaje.
Co się dzieje?
(Mój telefon to Nexus One, na którym działa niestandardowa pamięć ROM Cyanogen 7.1 oparta na Androidzie 2.3.7)
Aktualizacja:
w aplikacji „ LAN Droid ” dostaję edytowany adres (więc 10.0.0.1
) też w porządku. Wygląda na to, że tylko przeglądarki źle się zachowują.
ls -l /etc/hosts
ewentualnie problem z uprawnieniami / własnością?chmod 644 /system/etc/hosts
rozwiązałem toOdpowiedzi:
Brzmi to dokładnie jak ten , aż do ping pracy, ale nie w przeglądarce. Jego ostateczne rozwiązanie jest cytowane poniżej:
Nie wiem, co zmodyfikowałeś, ale możesz chcieć sprawdzić, jakich znaków linii / nowego wiersza używa.
źródło
ff=unix
teraz iset list
zobaczyć przerwanie linii DOS ... nawet poszedł naprzód i uruchom wyrażenie regularne, jakby było jakieś przerwanie linii DOS, nic nie znaleziono.Nie jestem pewien, czy to pomaga, ale miałem problem z ignorowanym plikiem hosts i został rozwiązany przez faceta w tym wątku - odpowiedzią jest umieszczenie pustej nowej linii na końcu pliku.
źródło
Czy możesz zainstalować strace i porównać wyjściowe uruchomione śledzenie przy ping z śledzeniem w przeglądarce, aby zobaczyć, dlaczego wyszukiwania DNS są obsługiwane inaczej?
Czy na pewno nie trwa stałe buforowanie? Jakie jest TTL w Twojej domenie?
Wygląda na to, że Android nie używa /etc/resolv.conf, ale może istnieją pewne właściwości, które kontrolują, które aplikacje używają / etc / hosts i które przechodzą bezpośrednio do wyszukiwania DNS. https://groups.google.com/forum/?fromgroups#!topic/android-platform/K2Wr4WaEneI
źródło
Jeśli tworzysz plik hosts na komputerze z systemem Windows, upewnij się, że każdy wiersz jest oddzielony tylko LF (nie [CR] [LF], tylko [LF]). Możesz to sprawdzić i utworzyć odpowiednie pliki hostów za pomocą notatnika ++.
źródło
Myślę, że musisz opróżnić DNS na swoim Androidzie, sprawdź to pytanie /programming/2101762/android-flush-dns , szczególnie „przejdź do ustawień -> aplikacje -> Lokalizacja sieci -> Wyczyść dane”.
źródło
Podejrzewam, że przeglądarka jest skonfigurowana do pracy przez serwer proxy.
Możesz być w stanie stwierdzić za pomocą netstat -n lub w / proc / net / tcp (lub jeszcze lepiej, / proc / # browser_pid # / net / tcp) z jakim adresem się faktycznie łączy. Jeśli to nie zgadza się z adresem Twojej witryny, prawdopodobnie przechodzisz przez pośrednika.
źródło
Zwykle powiedziałbym (ale nie dotyczy to ciebie, niestety):
Po prostu spróbuj zrestartować komputer, jeśli zmiany nie zostaną zauważone, ponieważ instancja komputera Dalvik lub podstawowy system mógł buforować poprzednie żądanie DNS.
Możesz spróbować AdAway ręcznie dodać wpisy do pliku hosts (aby sprawdzić, czy robi to tak samo jak ręcznie).
źródło