Za każdym razem, gdy próbuję telnet do domeny na moim LG Ally, kończy się to niepowodzeniem, ale działa, jeśli używam adresu IP. Więc próbowałem użyć nslookup telehack.com
i zwraca:
Server: 0.0.0.0
Address 1: 0.0.0.0
nslookup: can't resolve 'telehack.com'
Mam zainstalowany emulator terminala Android i BusyBox ,
To nie działało z domyślnymi dns, więc teraz mam wpisy dns ustawione na OpenDNS i nadal nie można ich rozwiązać.
czy jest coś, co mogę zrobić, aby rozwiązać ten problem, czy też jest to ograniczenie dla sojusznika?
Odpowiedzi:
Jest to znany problem z projektowaniem podczas używania statycznie połączonych bibliotek libresolv i glibc.
Masz 2 opcje:
Użyj natywnej biblioteki libion Bionic Google Androida zamiast glibc.
Zbuduj busyboksa, aby przeszukiwać biblioteki
/system/lib
(lub np/usr/lib -> /system/lib
. Utworzyć niezbędne linki ). Umieść ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 w swoim pliku/system/lib
.źródło
Sprawdź, czy środowisko emulatora terminali ma poprawnie ustawiony DNS, uruchamiając go
getprop net.dns1
i, jeśli to konieczne, ustaw go za pomocąsetprop net.dns1 [yourdns]
. Polecenia mogą się różnić w zależności od urządzenia, niektóre z nichnet.eth0.dns1
lubnet.gprs.dns1
uruchamianegetprop
bez parametrów, aby wyświetlić wszystkie ustawione właściwości podpowiedzi.źródło
nslookup
teraz dać prawidłowy adres serwera, czy też jeszcze pokazać0.0.0.0
?wpisz swój terminal, a następnie wpisz „su” i naciśnij enter (uwaga działa tylko, jeśli masz zrootowany telefon)
następnie wprowadź następujące dane (zamień xxxx na ip serwerów dns)
Teraz sprawdź, czy działa poprawnie
Powinno to rozwiązać teraz.
źródło
resolv.conf
zostaną zastąpione przy każdej zmianie łączności przez system.Skopiowałem (i nieznacznie zmieniłem) moją odpowiedź z komentarza, który opublikowałem w sprawie na stronie kodowej Google dla terminalu IDE, jednak powinna być taka sama:
Jeśli jesteś zrootowany, możesz zainstalować najnowszą wersję busyboksa (możesz ją skompilować). Następnie dowiedz się, gdzie znajduje się zaktualizowany busybox i uruchom następujące polecenia: (Zakładam, że jest nowa wersja i jest w
/system/bin
starej wersji~/system/bin
)Teraz domeny zostaną poprawnie rozwiązane.
Uwaga: ze względu na sposób działania busybox musisz mieć uprawnienia roota, aby móc z niego korzystać
ping
(chociaż rzeczy takie jakwget
inslookup
powinny być teraz w stanie poprawnie rozwiązywać hosty). Deweloperzy busybox pracują nad tym problemem.Osobiście użyłem tej aplikacji do zainstalowania najnowszej wersji: https://play.google.com/store/apps/details?id=stericson.busybox
źródło
Z jakiej sieci korzystasz? Jeśli jest to Wi-Fi, czy inne urządzenia w sieci mogą się z nim skontaktować? Jeśli jest to plan danych operatora ... czy jest blokowany?
Aktualizacja: 0.0.0.0 wydaje mi się blokiem pliku hosts. Jakieś programy blokujące reklamy? Adblock Plus? Modyfikacje plików hostów?
Wypróbuj sieć USB - jeśli opublikujesz tutaj komentarz z prośbą o to, zaktualizuję pytanie i wprowadzę samouczek (jest zaangażowany i wiem tylko, jak to zrobić na maszynach GNU / Linux)
źródło
/system/etc/hosts
wskazuje na kilka spamersko wyglądających adresów URL127.0.0.1
Używam tego w Androidzie z Androida. Może są lepsze sposoby.
źródło