2012-11-01 10 views
26

Potrzebuję pobrać adres IP przydzielony przez operatora po udanym połączeniu danych 3G lub LTE.Polecenie adb do uzyskania adresu IP przydzielonego przez operatora

$adb shell netcfg >> doesnt have the assigned IP address. 

Próbowałem adb shell dumpsys i grep adresu IP, ale na próżno. Jakaś pomoc/wskazówki?

+0

związane https://android.stackexchange.com/questions/2984/how- can-i-see-what-ip-address-mój-android-phone-ma –

Odpowiedz

55

Spróbuj tego polecenia, to pomoże Ci uzyskać adres ip

$ adb shell ifconfig tiwlan0 

tiwlan0 to nazwa interfejsu sieci Wi-Fi na urządzeniu. To jest ogólna komenda dla uzyskania ipaddress,

“adb shell netcfg” 

To wyjście jak ten

usb0  DOWN 0.0.0.0   0.0.0.0   0×00001002 
sit0  DOWN 0.0.0.0   0.0.0.0   0×00000080 
ip6tnl0 DOWN 0.0.0.0   0.0.0.0   0×00000080 
gannet0 DOWN 0.0.0.0   0.0.0.0   0×00001082 
rmnet0 UP 112.79.87.220 255.0.0.0  0x000000c1 
rmnet1 DOWN 0.0.0.0   0.0.0.0   0×00000080 
rmnet2 DOWN 0.0.0.0   0.0.0.0   0×00000080 
+0

Dziękuję za odpowiedź. Nie mogę uzyskać adresu IP przydzielonego przez sieć. Kiedy wypróbowałem polecenia, dane wyjściowe są następujące: – user1787049

+0

Spójrz na to, http://a3nm.net/blog/android_cli.html – RajeshVijayakumar

+0

Kolejny link, https://wiki.mozilla.org/Mobile/Fennec/Android – RajeshVijayakumar

18

Spróbuj

adb shell netcfg 

Albo

adb shell <device here or leave out if one device> 
[email protected]:/ $netcfg 
+1

Otrzymuję komunikat "error: device not found". 'su' po którymś' netcfg' pracował dla mnie – Atul

+0

'netcfg' został usunięty w systemie Android 6. –

3

adb shell ip addr> ippdetails. txt T jego dostanie całą listę adresów IP przypisanych do urządzeń.

12

Spróbuj:

adb shell ip addr show rmnet0 

To wróci coś takiego:

3: rmnet0: <UP,LOWER_UP> mtu 1500 qdisc htb state UNKNOWN qlen 1000 
    link/[530] 
    inet 172.22.1.100/29 scope global rmnet0 
    inet6 fc01:abab:cdcd:efe0:8099:af3f:2af2:8bc/64 scope global dynamic 
     valid_lft forever preferred_lft forever 
    inet6 fe80::8099:af3f:2af2:8bc/64 scope link 
     valid_lft forever preferred_lft forever 

Ta część jest Twój IPv4 przypisany przez operatora

inet 172.22.1.100

Ta część jest Twój IPV6 przydzielony przez operatora

inet6 fc01:abab:cdcd:efe0:8099:af3f:2af2:8bc

+0

Myślę, że każdy powinien zacząć używać' ip addr show 'ponieważ sposób' ifconfig' jest przestarzały w najnowszych systemach Linux i zauważyłem że zachowanie 'ifconfig' na Lollipop Nexus 5 i Marshmallow Nexus 5X było inne dla' ifconfig' i 'netcfg', więc sposób' ip addr show' był jedynym sposobem, w jaki mogłem przewidzieć działanie obu. –

+0

powinny być akceptowane. 1. ifconfig not available (Cyanogen 13, Nexus 5). 2. netcfg potrzebuje root. użyj polecenia ip, jest to część 'iproute2' – vigilancer

+0

To działa. ipconfig nie jest dostępny (s6 edge, stock OS) i netcfg nie może zostać rozpoznany. Prawdopodobnie jest to root, jak powiedział wampirysta. – Zoe

3

pobrać aplikację z here pomoże Ci rum wszystkie polecenia. Uruchomiłem netcfg i daje wynik jako załączony na ekranie.

output screen

+0

1) netcfg jest tylko rootem. 2) Ta aplikacja to tylko dostęp do powłoki adb. Robienie 'powłoki adb' jest znacznie łatwiejsze niż pobieranie aplikacji – Zoe

7

można uzyskać adres IP urządzenia w ten sposób:

adb shell ip route > addrs.txt 
#Case 1:Nexus 7 
#192.168.88.0/23 dev wlan0 proto kernel scope link src 192.168.89.48 

#Case 2: Smartsian T1,Huawei C8813 
#default via 192.168.88.1 dev eth0 metric 30 
#8.8.8.8 via 192.168.88.1 dev eth0 metric 30 
#114.114.114.114 via 192.168.88.1 dev eth0 metric 30 
#192.168.88.0/23 dev eth0 proto kernel scope link src 192.168.89.152 metric 30 
#192.168.88.1 dev eth0 scope link metric 30 

ip_addrs=$(awk {'if(NF >=9){print $9;}'} addrs.txt) 

echo "the device ip address is $ip_addrs" 
1
ip route | grep rmnet_data0 | cut -d" " -f1 | cut -d"/" -f1 

Zmień rmnet_data0 do żądanej NIC, w moim przypadku, rmnet_data0 reprezentuje NIC danych.

Aby uzyskać listę dostępnych NIC może użyć ip route

2

Spróbuj:

adb shell ip addr show rmnet0 | grep 'inet ' | cut -d' ' -f6|cut -d/ -f1 

powróci Twój IPv4 przypisany przez operatora

172.22.1.215

2

Try to polecenie dla wersji < = Marshmall ow,

adb shell ip addr show wlan0 

24: wlan0: mtu 1500 stan kolejka-MQ się qlen 1000 Link/eter AC: c1: ee: 6b: 22: F1 brd ff: ff: ff: ff: ff: ff inet 192.168.0.18/24 brd 192.168.0.255 zakres globalny wlan0 valid_lft zawsze preferred_lft zawsze inet6 FD01 :: 1d45: 6b7a: A3b: 5f4d/64 zakres globalny tymczasowy dynamiczne valid_lft 287sec preferred_lft 287sec inet6 FD01 :: aec1: Eeff : fe6b: globalna dynamika zasięgu 22f1/64 valid_lft 287sec preferred_lft 287sec inet6 fe80 :: aec1: eeff: fe6b: 22f1/64 scope link valid_lft zawsze preferred_lft zawsze

Aby połączyć się z urządzeniem metę to

adb connect 192.168.0.18 

połączony 192.168.0.18:5555

+1

Jeśli' adb tcpip [port nie 5555] 'połączenie z samym IP nie będzie działać. Port musi zostać dostarczony, jeśli nie jest 5555 – Zoe

Powiązane problemy