6 votes

Est-ce qu'Android a une "page de configuration du routeur" lorsqu'il agit en tant que point d'accès sans fil ou filaire?

Je peux éditer tous les aspects cruciaux de mon hotspot/router dans les options de configuration pour le hotspot/router.

Je suis confus quant au fonctionnement du DHCP lors de l'utilisation du téléphone Android comme hotspot/router et je voulais comprendre cela.

Une de mes tentatives pour obtenir cette information était d'essayer d'accéder à 192.168.6.1 via un navigateur web - c'est, bien sûr, l'adresse IP du téléphone. J'espérais voir une sorte de page de configuration du routeur comme on le voit normalement lors de la configuration d'un routeur filaire/sans fil Ethernet classique via un navigateur web, mais malheureusement, il n'y avait pas une telle page.

J'ai fait quelques recherches et j'ai découvert que vous pouvez obtenir quelques informations de base sur la configuration IP du téléphone en téléchargeant un émulateur de terminal et en exécutant quelques commandes de *nix de base.

Je cherchais quelque chose de plus - une interface graphique serait excellente, mais je prendrai toutes les suggestions sur la façon d'accéder aux spécifications de configuration du routage du téléphone.

Y a-t-il une sorte de "page de configuration du routeur" à laquelle je peux accéder lorsque j'active mon hotspot sans fil sur mon téléphone Android?

1 votes

Voir cette réponse - si vous utilisez le support natif du partage de connexion, il n'y a pas de configuration, les adresses IP utilisées pour le point d'accès Wi-Fi et le partage de connexion USB sont codées en dur.

0 votes

Jusqu'à Pie dnsmasq est le serveur DHCP/DNS d'Android. Vous pouvez le configurer quelque peu via dnsmasq.conf par exemple pour assigner définitivement une adresse IP statique aux clients connectés, ou via quelques hacks pour changer définitivement l'adresse IP du partage de connexion hotspot ou pour changer la plage d'adresses IP DHCP par défaut du hotspot.

3voto

Sam Barnum Points 5019

Le partage de connexion wifi intégré à Android est conçu pour utiliser 192.168.43.1/24 comme serveur, avec netd gérant le partage de connexion, en utilisant dnsmasq. La première plage DNS est 192.168.42.1-254 et la 2ème plage DNS est 192.168.43.1-254.

Il n'est pas facile de changer Netd. Cela nécessite un socket pour communiquer avec lui, et ce socket est pris lorsque Android lance le partage de connexion. Mais en examinant les fichiers sources de Tethering.java (j'ai utilisé Froyo) nous voyons :

// le client USB sera fourni avec 192.168.42.129
private static final String USB_NEAR_IFACE_ADDR = "192.168.42.129";
private static final String USB_NETMASK = "255.255.255.0";

// Pour info - le wifi par défaut est 192.168.43.1 et 255.255.255.0

private String[] mDhcpRange;
private static final String DHCP_DEFAULT_RANGE1_START = "192.168.42.2";
private static final String DHCP_DEFAULT_RANGE1_STOP = "192.168.42.254";
private static final String DHCP_DEFAULT_RANGE2_START = "192.168.43.2";
private static final String DHCP_DEFAULT_RANGE2_STOP = "192.168.43.254";

Et plus tard nous voyons ces plages utilisées, COMME SAUVEGARDES.

mDhcpRange = context.getResources().getStringArray(
            com.android.internal.R.array.config_tether_dhcp_range);
    if ((mDhcpRange.length == 0) || (mDhcpRange.length % 2 == 1)) {
        mDhcpRange = new String[4];
        mDhcpRange[0] = DHCP_DEFAULT_RANGE1_START;
        mDhcpRange[1] = DHCP_DEFAULT_RANGE1_STOP;
        mDhcpRange[2] = DHCP_DEFAULT_RANGE2_START;
        mDhcpRange[3] = DHCP_DEFAULT_RANGE2_STOP;
    }

La source principale des plages dhcp n'est pas le 42 et 43 codés en dur, mais lue à partir de array.config_tether_dhcp_range, un tableau de chaînes interne. Mais il est actuellement vide.

Vous pourriez modifier le framework Android. Sur mon téléphone, il se trouve dans /system/framework/framework-res.apk. Il existe une multitude de tutoriels en ligne pour modifier framework-res.apk, des simples chaînes jusqu'au thème complet. Trouvez-en un pour votre téléphone et votre version d'Android.

La chose principale que vous voulez changer est le fichier /res/values/arrays.xml

Recherchez

Changez en :

     192.168.x.y
     192.168.x.z

compilez/compressez/signez si nécessaire (suivez un tutoriel), puis réinstallez.

Si vous voulez plus d'une plage, il suffit de copier les deux éléments encore et encore. Vous devez toujours fournir un début et une fin pour chaque plage. Essayez de le garder dans le même /24, c'est-à-dire 192.168.50.5 et 192.168.50.99 ou autre. Vous pouvez confirmer que cela fonctionne avec busybox ps | grep dnsmasq ou si vous n'avez pas busybox ps dnsmasq puis utilisez le pid dans cat /proc/pid/cmdline. Vous devriez obtenir (ou similaire) :

/system/bin/dnsmasq --no-daemon --no-poll -no-resolv --dhcp-range=192.168.50.5,192.168.50.99,1h

A titre d'information, mon partage de connexion WIFI utilise les plages dnsmasq par défaut, pourtant mon ordinateur s'est vu attribuer l'adresse 192.168.43.147/24 et la passerelle 192.168.43.1/24. Je ne suis pas sûr pourquoi le vôtre a été défini par défaut sur une adresse 42.x.

0voto

Dale Hapeman Points 1

Pour ce que ça vaut, en utilisant le "Partage de connexion Ethernet" sur mon Samsung S20, mon appareil connecté obtient une adresse 192.168.13.200/24 et une passerelle 192.168.13.25.

De manière intéressante, mon application "Net Analyzer" affiche l'IP externe de mon téléphone comme étant 172.58.200.200 et une IP interne de 33.15.32.108/28.

Combien y a-t-il de routeurs dans mon téléphone...?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X