J'ai un site Web en cours d'exécution sur mon ordinateur et je veux le tester à partir de ma tablette Nexus 7. C'est-à-dire sur le LAN WiFi local. Si je tape l'adresse IP, il se connecte, mais affiche le mauvais site Web, car j'utilise l'hébergement virtuel nommé.
Donc, ce que je veux faire, c'est pouvoir taper mysite.local
dans Chrome / Firefox sur le Nexus, les faire convertir en 10.1.2.3
(ou quelle que soit l'adresse IP locale), puis appeler le 10.1.2.3
serveur donnant mysite.local
comme hôte à demander.
Ma question: une tablette Android 4.x possède-t-elle des /etc/hosts
fichiers, ou équivalent, que je peux modifier? (Sans avoir à rooter la tablette, ou quelque chose comme ça.)
Sur mes ordinateurs Linux, je fais cela en ajoutant une entrée dans /etc/hosts
:
10.1.2.3 mysite.local
(Ou Windows\System32\drivers\etc\hosts
sur une machine Windows fait de même.)
BTW, il s'agit d'un semi-doublon de définir manuellement un nom d'hôte pour l'adresse IP (c'est-à-dire / etc / hosts équiv.?) , Mais cette question était pour Android 2.2, où apparemment ce n'était pas possible. (L'une des autres idées suggérées était de configurer DNS sur le routeur local, mais pour autant que je sache, mon routeur ne fait pas DNS localement, il n'a donc pas cette option. Je pourrais configurer mon propre serveur DNS pour ce faire, mais qui ressemble à une solution de gros boulot.)
la source
/etc/hosts
, mais de configurer votre "serveur de noms" (par exemple DNSMasq, ou tout ce que vous utilisez). Votre routeur peut vous donner une place pour cela./etc/hosts
doit être édité sur chaque machine sinon - et le fichier correspondant sur Android ne peut être édité qu'avec des "pouvoirs root" (je ne connais pas son emplacement exact, mais il se trouve quelque part à l'intérieur/data/system
AFAIR). Voir: Comment éditer le fichier etc / hostsRéponses:
Vous ne pouvez pas simplement modifier le fichier hosts sur Android, car il réside sur un système de fichiers en lecture seule:,
/system/etc/hosts
voir:Les alternatives sont:
la source
Comme mentionné par lzzy, vous pouvez utiliser serveur DNSMasq pour y parvenir. Mais Chrome utilise son propre processus de résolution DNS et cette méthode peut ne pas fonctionner.
Pour démarrer le serveur, utilisez la commande suivante:
sudo
requis pour se lier sur le port 53-d
démarrer le serveur au premier plan--no-hosts
n'utilisez pas le fichier des hôtes locaux--conf-file=/dev/null
n'utilisez aucun fichier de configuration--server=8.8.8.8 --server=8.8.4.4
adresses de serveurs en amont (Google DNS dans cet exemple)--address=/example.com/192.168.0.101
hôtes à remplacer. Vous devez ajouter vos hôtes sur cette ligne. Vous pouvez également y ajouter plusieurs hôtes.Modifiez ensuite le serveur DNS sur l'appareil. Cela peut être facilement fait en utilisant le application DNS Changer .
Après ces étapes, les demandes adressées à ces hôtes doivent être envoyées à vos adresses.
la source
Le moyen le plus simple de définir un hôte pour le mappage IP est le
hosts
fichier car la plupart des résolveurs DNS honorent ce fichier . Mais comme mentionné dans d'autres réponses, il n'est pas possible de modifier/etc/hosts
sans rooter l'appareil Android. L'accès au serveur Web avec une adresse IP ne fonctionnera pas non plus pour vous en raison de l'hébergement virtuel. Voici quelques options que vous pouvez utiliser sur un appareil non rooté:hosts
fichier personnalisé avant d'effectuer des requêtes sur le serveur DNS configuré en amont.dnsmasq
, ajoutezaddress=/mysite.local/10.1.2.3
à "dnsmasq.conf" . Ou surdnscrypt-proxy
ajoutermysite.local 10.1.2.3
à "cloaking-rules.txt" .10.1.2.3 mysite.local
auhosts
fichier sur le serveur proxy ou exécutez un serveur DNS local sur le serveur VPN.hosts
fichier à partir de la récupération personnalisée.Pour plus de détails, voir: Comment toujours résoudre un nom de domaine en IP fixe sans enracinement?
EN RELATION:
la source