Obtenir l'adresse ip de la passerelle dans android

comment obtenir les détails de l'IP de la passerelle, Il ya l'option en utilisant WiFiManager mais. S'il n'y a pas de wify comment trouver la passerelle,dns et d'autres détails dans l'appareil android lorsqu'il est connecté en utilisant l'attache usb.

22
demandé sur Himanshu 2011-06-09 08:52:05

7 réponses

j'utilise cyanogenmod 7.2 sur android 2.3.4, puis ouvrez l'émulateur de terminal et tapez:

$ ip addr show
$ ip route show
22
répondu user432672 2014-11-12 10:20:29

je voulais poster cette réponse comme une mise à jour pour les utilisateurs de constructions Android plus récentes (CM11/KitKat/4.4.4). Je n'ai pas testé tout cela avec TouchWiz ou des versions plus anciennes D'Android donc YMMV.

les commandes suivantes peuvent être exécutées à tous les endroits habituels (Bad, émulateur de Terminal, scripts shell, Tasker).

énumérer toutes les propriétés disponibles:

getprop

Obtenir une interface wi-fi:

getprop wifi.interface

WiFi propriétés:

getprop dhcp.wlan0.dns1
getprop dhcp.wlan0.dns2
getprop dhcp.wlan0.dns3
getprop dhcp.wlan0.dns4
getprop dhcp.wlan0.domain
getprop dhcp.wlan0.gateway
getprop dhcp.wlan0.ipaddress
getprop dhcp.wlan0.mask

les commandes ci-dessus vont produire des informations indépendamment du fait que le WiFi est réellement connecté à l'époque.

utilisez l'un des éléments suivants pour vérifier si wlan0 est allumé ou non:

ifconfig wlan0

netcfg | awk '{if (=="UP" &&  != "0.0.0.0/0") isup=1} END {if (! isup) exit 1}'

utilisez l'une des options suivantes pour obtenir l'adresse IP de wlan0 (seulement si elle est connectée):

ifconfig wlan0 | awk '{print }'

netcfg | awk '/^wlan0/ {sub("(0\.0\.0\.0)?/[0-9]*$", "", ); print }'

juste pour la minutie, pour obtenir votre adresse IP Internet publique, vous allez vouloir utiliser un service externe. Pour obtenir votre adresse IP publique:

wget -qO- 'http://ipecho.net/plain'

pour obtenir votre nom d'hôte public:

wget -qO- 'http://ifconfig.me/host'

ou pour obtenir votre nom d'hôte public directement à partir de votre adresse IP:

(nslookup "$(wget -qO- http://ipecho.net/plain)" | awk '/^Address 1: / { if ($NF != "0.0.0.0") {print $NF; exit}}; /name =/ {sub("\.$", "", $NF); print $NF; exit}') 2>/dev/null

Note: la commande susmentionnée awk semble excessivement compliquée uniquement parce qu'elle est capable de gérer la sortie de différentes versions de nslookup . Android comprend une version minimale de nslookup dans le cadre de busybox , mais il existe une version autonome aussi (souvent inclus dans dnsutils ).

14
répondu Six 2015-09-18 09:16:49

aller au terminal

$ adb -s UDID shell
$ ip addr | grep inet 
or
$ netcfg | grep inet
4
répondu Daz 2014-06-06 17:25:49

sur Android 7 fonctionne:

 ip route get 8.8.8.8

sortie sera: 8.8.8.8 par passerelle...

4
répondu user278801 2018-02-05 15:34:56

le serveur DNS est obtenu via

getprop net.dns1 

UPDATE: as of Android Nougat 7.x, ifconfig est présent, et netcfg est allé. Donc ifconfig peut être utilisé pour trouver L'IP et le masque de réseau.

2
répondu kevinf 2017-03-25 02:29:18

cette solution vous donnera les paramètres du réseau. Regardez ce solution

0
répondu Muhammad Zeeshan 2017-05-23 12:18:11

installez l'application d'émulateur de terminal, puis pour voir la table de routage, Lancez iproute à partir de l'invite de commande. Ne nécessite pas les droits root. Je ne sais pas comment obtenir le serveur DNS. Il n'y a pas de fichier /etc/resolv.conf . Vous pouvez essayer nslookup www.google.com et voir ce qu'il indique pour votre serveur, mais sur mon téléphone, c'rapports 0.0.0.0 qui n'est pas trop utile.

0
répondu Kipp Cannon 2012-10-01 04:41:22