wake-up-neo.com

Holen Sie sich die Gateway-IP-Adresse in Android

Wie man Gateway-IP-Details erhält, gibt es die Option wifimanager aber. Wenn Sie nicht wissen, wie Sie Gateway, DNS und andere Details auf dem Android-Gerät finden, wenn eine Verbindung mit USB-Tethering besteht.

23
Himanshu

Ich verwende Cyanogenmod 7.2 unter Android 2.3.4. Dann öffne einfach den Terminal-Emulator und tippe:

$ ip addr show
$ ip route show
22
user432672

Ich wollte diese Antwort als Update für Benutzer neuerer Android-Builds (CM11/KitKat/4.4.4) veröffentlichen. Ich habe nichts davon mit TouchWiz oder älteren Android-Releases getestet, also YMMV.

Die folgenden Befehle können an allen üblichen Stellen ausgeführt werden (ADB, Terminal Emulator, Shell-Skripts, Tasker).

Alle verfügbaren Eigenschaften auflisten:

getprop

WiFi-Schnittstelle erhalten:

getprop wifi.interface

WiFi-Eigenschaften:

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

Die obigen Befehle geben Informationen aus, unabhängig davon, ob zu diesem Zeitpunkt WiFi tatsächlich verbunden ist.

Verwenden Sie eine der folgenden Möglichkeiten, um zu prüfen, ob wlan0 eingeschaltet ist oder nicht:

ifconfig wlan0

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

Verwenden Sie eine der folgenden Möglichkeiten, um die IP-Adresse von wlan0 zu erhalten (nur wenn eine Verbindung besteht):

ifconfig wlan0 | awk '{print $3}'

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

Nur aus Gründen der Gründlichkeit, um Ihre öffentliche IP-Adresse für das Internet zu erhalten, sollten Sie einen externen Dienst verwenden. Um Ihre öffentliche IP zu erhalten:

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

So erhalten Sie Ihren öffentlichen Hostnamen:

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

Oder um Ihren öffentlichen Hostnamen direkt von Ihrer IP-Adresse zu erhalten:

(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

Hinweis: Der oben genannte Befehl awk scheint nur deshalb zu kompliziert zu sein, weil er die Ausgabe verschiedener Versionen von nslookup verarbeiten kann. Android enthält eine Minimalversion von nslookup als Teil von busybox, es gibt jedoch auch eine Standalone-Version (oft in dnsutils enthalten).

15
Six

Auf Android 7 funktioniert es:

 ip route get 8.8.8.8

die Ausgabe erfolgt wie folgt: 8.8.8.8 über ein Gateway ...

4
user278801

Zum Terminal gehen

$ adb -s UDID Shell
$ ip addr | grep inet 
or
$ netcfg | grep inet
4
Daz

DNS-Server erhalten Sie über

getprop net.dns1 

UPDATE: ab Android Nougat 7.x ist ifconfig vorhanden und netcfg ist weg. Ifconfig kann also verwendet werden, um die IP- und Netzmaske zu finden. 

2
kevinf

Das scheint bei mir gut zu funktionieren. Getestet mit Touchwiz 5.1, LineageOS 7.1 und CyanogenMod 11.

ip route list match 0 table all scope global

Gibt eine Ausgabe ähnlich der folgenden zurück:

default via 192.168.1.1 dev wlan0  table wlan0  proto static
0
ravilov

Installieren Sie die Terminal-Emulator-App und zeigen Sie an, ob die Routing-Tabelle iproute in der Befehlszeile ausgeführt wird. Benötigt keine Root-Berechtigungen. Ich weiß nicht, wie ich den DNS-Server bekomme. Es gibt keine /etc/resolv.conf-Datei. Sie können nslookup www.google.com ausprobieren und sehen, was für Ihren Server gemeldet wird. Auf meinem Telefon wird jedoch 0.0.0.0 angezeigt, was nicht besonders hilfreich ist.

0
Kipp Cannon

Diese Lösung gibt Ihnen die Netzwerkparameter. Schauen Sie sich diese Lösung an

0