Mam witrynę internetową uruchomioną na komputerze i chcę ją przetestować na moim tablecie Nexus 7. Tj. Przez lokalną sieć WiFi LAN. Jeśli wpisam adres IP, łączy się, ale pokazuje niewłaściwą stronę internetową, ponieważ używam nazwanego wirtualnego hostingu.
Chcę więc wpisać mysite.local
Nexusa w Chrome / Firefox, przekonwertować go na 10.1.2.3
(lub inny lokalny adres IP), a następnie zadzwonić do 10.1.2.3
serwera podając go mysite.local
jako hosta.
Moje pytanie: Czy tablet z Androidem 4.x ma /etc/hosts
pliki lub ich odpowiedniki, które mogę edytować? (Bez konieczności rootowania tabletu itp.)
Na moich komputerach z Linuksem robię to, dodając wpis w /etc/hosts
:
10.1.2.3 mysite.local
(Lub Windows\System32\drivers\etc\hosts
na komputerze z systemem Windows robi to samo.)
BTW, jest to pół-duplikat opcji Ręcznie ustaw nazwę hosta dla adresu IP (tj. / Etc / hosts equiv.?) , Ale to pytanie dotyczyło Androida 2.2, gdzie najwyraźniej nie było to możliwe. (Jeden z alternatywnych pomysłów sugerował, że skonfigurowano DNS na lokalnym routerze, ale o ile wiem, mój router nie robi DNS lokalnie, więc nie mam tej opcji. Mógłbym skonfigurować własny serwer DNS, aby to zrobić, ale wydaje się, że jest to rozwiązanie Big Job).
źródło
/etc/hosts
, ale skonfigurowałem twój „serwer nazw” (np. DNSMasq lub cokolwiek, czego używasz). Router może ci to dać./etc/hosts
w przeciwnym razie należy edytować na każdym komputerze - a odpowiedni plik na Androidzie można edytować tylko za pomocą „uprawnień roota” (nie znam jego dokładnej lokalizacji, ale jest gdzieś w/data/system
AFAIR). Zobacz: Jak edytować plik etc / hostsOdpowiedzi:
Nie można po prostu edytować pliku hosts na Androidzie, ponieważ znajduje się on w systemie plików tylko do odczytu:
/system/etc/hosts
patrz:Alternatywami są:
źródło
Jak wspomniano przez lzzy, do osiągnięcia tego można użyć serwera DNSMasq . Ale Chrome korzysta z własnego procesu rozpoznawania DNS i ta metoda może nie działać.
Aby uruchomić serwer, użyj następującego polecenia:
sudo
wymagane do połączenia z portem 53-d
uruchom serwer na pierwszym planie--no-hosts
nie używaj lokalnego pliku hosts--conf-file=/dev/null
nie używaj żadnego pliku konfiguracyjnego--server=8.8.8.8 --server=8.8.4.4
adresy serwerów nadrzędnych (Google DNS w tym przykładzie)--address=/example.com/192.168.0.101
hosty do zastąpienia. Musisz dodać swoich gospodarzy do tej linii. Możesz także dodać wiele hostów.Następnie zmień serwer DNS na urządzeniu. Można to łatwo zrobić za pomocą aplikacji DNS Changer .
Po wykonaniu tych kroków żądania do tych hostów należy wysłać na adresy.
źródło
Najprostszym sposobem zdefiniowania odwzorowania hosta na IP jest
hosts
plik, ponieważ większość serwerów rozpoznających DNS honoruje ten plik . Ale jak wspomniano w innych odpowiedziach, nie można edytować/etc/hosts
bez rootowania urządzenia z Androidem. Dostęp do serwera internetowego za pomocą adresu IP również nie będzie działać z powodu wirtualnego hostingu. Oto kilka opcji, z którymi możesz korzystać na nie uruchomionym urządzeniu:hosts
plik przed wysłaniem zapytania do skonfigurowanego serwera DNS.dnsmasq
, dodajaddress=/mysite.local/10.1.2.3
do „dnsmasq.conf” . Lubdnscrypt-proxy
dodajmysite.local 10.1.2.3
do „cloaking-rules.txt” .10.1.2.3 mysite.local
dohosts
pliku na serwerze proxy lub uruchom lokalny serwer DNS na serwerze VPN.hosts
plik z odzyskiwania niestandardowego.Aby uzyskać więcej informacji, zobacz: Jak zawsze rozwiązać nazwę domeny na stały adres IP bez rootowania?
ZWIĄZANE Z:
źródło