I need to fetch the IPaddress assigned by the operator after a successful 3G or LTE data call.
$adb shell netcfg >> doesnt have the assigned IP address.
I tried adb shell dumpsys
and grep ip address, but in vain. Any help/pointers?
I need to fetch the IPaddress assigned by the operator after a successful 3G or LTE data call.
$adb shell netcfg >> doesnt have the assigned IP address.
I tried adb shell dumpsys
and grep ip address, but in vain. Any help/pointers?
Try this command, it will help you to get ipaddress
adb shell ifconfig tiwlan0
tiwlan0 is the name of the wi-fi network interface on the device. This is generic command for getting ipaddress,
adb shell netcfg
It will output like this
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
Try:
adb shell ip addr show rmnet0
It will return something like that:
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
This part is your IPV4 assigned by the operator
inet 172.22.1.100
This part is your IPV6 assigned by the operator
inet6 fc01:abab:cdcd:efe0:8099:af3f:2af2:8bc
Try this command for Version <= Marshmallow,
adb devices
List of devices attached 38ccdc87 device
adb tcpip 5555
restarting in TCP mode port: 5555
adb shell ip addr show wlan0
24: wlan0: mtu 1500 qdisc mq state UP qlen 1000 link/ether ac:c1:ee:6b:22:f1 brd ff:ff:ff:ff:ff:ff inet 192.168.0.18/24 brd 192.168.0.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 fd01::1d45:6b7a:a3b:5f4d/64 scope global temporary dynamic valid_lft 287sec preferred_lft 287sec inet6 fd01::aec1:eeff:fe6b:22f1/64 scope global dynamic valid_lft 287sec preferred_lft 287sec inet6 fe80::aec1:eeff:fe6b:22f1/64 scope link valid_lft forever preferred_lft forever
To connect to your device run this
adb connect 192.168.0.18
connected to 192.168.0.18:5555
Make sure you have adb inside this location android-sdk\platform-tools
According to comments: netcfg was removed in Android 6
Try
adb shell netcfg
Or
adb shell <device here or leave out if one device>
shell@android:/ $netcfg
You can get the device ip address by this way:
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"
You can try this command:
adb shell ip addr show rmnet0 | grep 'inet ' | cut -d ' ' -f 6 | cut -d / -f 1
It will return your IPV4 assigned by the operator
172.22.1.215
rmnet0
should be replaced with your interface my case was rmnet0
usually is eth0
.
If u want to get the list of interfaces use this command:
ip link show
You will get something like this:
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP qlen 1000
link/ether b8:ac:6f:65:31:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0
inet6 fe80::baac:6fff:fe65:31e5/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:21:6a:ca:9b:10 brd ff:ff:ff:ff:ff:ff
4: pan0: mtu 1500 qdisc noop state DOWN
link/ether 92:0a:e7:31:e0:83 brd ff:ff:ff:ff:ff:ff
5: vmnet1: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.1/24 brd 192.168.121.255 scope global vmnet1
inet6 fe80::250:56ff:fec0:1/64 scope link
valid_lft forever preferred_lft forever
6: vmnet8: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff
inet 192.168.179.1/24 brd 192.168.179.255 scope global vmnet8
inet6 fe80::250:56ff:fec0:8/64 scope link
valid_lft forever preferred_lft forever
Where usually,
lo
– Loopback interface.eth0
– Your first Ethernet network interface on Linux.wlan0
– Wireless network interface in Linux.adb shell ip addr > ippdetails.txt This will get all list of ip's assigned to devices.
To get all IPs (WIFI and data SIM) even on a non-rooted phone in 2019 use:
adb shell ip -o a
The output looks like:
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
1: lo inet6 ::1/128 scope host \ valid_lft forever preferred_lft forever
3: dummy0 inet6 fe80::489c:2ff:fe4a:00005/64 scope link \ valid_lft forever preferred_lft forever
11: rmnet_data1 inet6 fe80::735d:50fb:2e2:0000/64 scope link \ valid_lft forever preferred_lft forever
21: r_rmnet_data0 inet6 fe80::e38:ce2a:523a:0000/64 scope link \ valid_lft forever preferred_lft forever
30: wlan0 inet 192.168.178.0/24 brd 192.168.178.255 scope global wlan0\ valid_lft forever preferred_lft forever
30: wlan0 inet6 fe80::c2ee:fbff:fe4a:0000/64 scope link \ valid_lft forever preferred_lft forever
You can connect either through adb shell or run the command ip -o a
directly in a terminal emulator. Again, no root required.
download this app from here it will help you to rum all commands. I have run netcfg and it gives the result as attached in screen.
For IP address- adb shell ifconfig
under wlan0 Link encap:UNSPEC
you will have your ip address written
ip route | grep rmnet_data0 | cut -d" " -f1 | cut -d"/" -f1
Change rmnet_data0
to the desired nic, in my case, rmnet_data0
represents the data nic.
To get a list of the available nic's you can use ip route
adb tcpip 5555
adb connect `adb shell ip addr show wlan0 | grep 'inet ' | cut -d ' ' -f 6 | cut -d / -f 1`:5555
Disconnect USB and proceed with wireless debugging.
When you're done and want to switch back to USB debugging, run:
adb -s`adb shell ip addr show wlan0 | grep 'inet ' | cut -d ' ' -f 6 | cut -d / -f 1`:5555
note: