Android adb查看网络连接情况

您所在的位置:网站首页 安卓设备怎么连接以太网 Android adb查看网络连接情况

Android adb查看网络连接情况

2024-07-13 00:47| 来源: 网络整理| 查看: 265

Android adb查看网络连接情况

文章目录 Android adb查看网络连接情况Android 使用adb查看网络使用情况主要的adb命令:1、adb shell ifconfig2、adb shell dumpsys connectivity3、adb shell netstat3、adb shell ip ru总结一下:

Android 使用adb查看网络使用情况主要的adb命令: adb shell ifconfig //查看配置信息 adb shell dumpsys connectivity //查看连接情况 db shell netstat //查看连接状态和地址 adb shell ip ru //查看路由策略

下面展开说一下几个命令输出后的数据如何分析或者查看。

1、adb shell ifconfig

输入命令,获取到如下信息:

C:\Users\liwenzhi>adb shell ifconfig wlan0 Link encap:Ethernet HWaddr 20:32:33:91:23:9e Driver usb inet addr:192.168.43.53 Bcast:192.168.43.255 Mask:255.255.255.0 inet6 addr: 2409:8955:3848:1a7e:5123:75a1:44e9:d36b/64 Scope: Global inet6 addr: fe80::8ea1:6249:e2e9:1458/64 Scope: Link inet6 addr: 2409:8955:3848:1a7e:9850:3a4a:f949:6b6e/64 Scope: Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:409 errors:0 dropped:0 overruns:0 frame:0 TX packets:4295 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:89876 TX bytes:1597990 p2p0 Link encap:Ethernet HWaddr 22:32:33:91:23:9e RX bytes:0 TX bytes:432083 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 RX bytes:2341 TX bytes:2341 dummy0 Link encap:Ethernet HWaddr 6e:c6:e9:ec:c9:ec inet6 addr: fe80::6cc6:e9ff:feec:c9ec/64 Scope: Link eth0 Link encap:Ethernet HWaddr 02:ad:36:01:8a:3d Driver meson8b-dwmac inet addr:192.5.1.17 Bcast:192.5.1.255 Mask:255.255.255.0 inet6 addr: fe80::d09e:fcd3:3411:2da1/64 Scope: Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8905 errors:0 dropped:0 overruns:0 frame:0 TX packets:7287 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1549861 TX bytes:1983944 Interrupt:48 C:\Users\liwenzhi>

上面表示已经打开的连接端口/网卡名称,如果没有打开是看不到的 比如:只有wifi开启状态才显示wlan0这项

这里一般关心wlan0(wifi)和eth0(有线网络)

如果连接成功inet addr会显示具体ip地址

其中inet addr:表示连接成功后的ip地址,如果没有连接成功,是没有的。

2、adb shell dumpsys connectivity

这个打印的内容是比较多的,看重点地方即可。

简单的说,就是连接上网络后Current Networks才看到相关信息 ip地址,网络的Score分值(分值越高越优先,一般针对优先网络和wifi的切换)等信息

具体情况如下图如所示:

1

总结就是注意看Current Networks项里面的内容即可。

部分信息:

Active default network: 101 Current Networks: NetworkAgentInfo{ ni{[type: Ethernet[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: 02:ad:36:01:8a:3d, failover: false, available: true, roaming: false]} network{100} nethandle{432902426637} lp{{InterfaceName: eth0 LinkAddresses: [ fe80::5f92:6ddf:1843:9ffa/64,192.5.1.6/24 ] Requests: REQUEST:0 LISTEN:3 BACKGROUND_REQUEST:0 total:3 NetworkRequest [ LISTEN id=4, [ Capabilities: FOREGROUND AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ LISTEN id=5, [ Capabilities: NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ LISTEN id=7, [ Capabilities: NOT_RESTRICTED&TRUSTED&NOT_VPN Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] Lingered: //之前的请求信息(不是当前的) NetworkRequest [ REQUEST id=1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ], expires 24995ms NetworkRequest [ TRACK_DEFAULT id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ], expires 24995ms NetworkRequest [ TRACK_DEFAULT id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 1073 AdministratorUids: [] RequestorUid: 1073 RequestorPackageName: com.android.networkstack] ], expires 24995ms NetworkRequest [ REQUEST id=11, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN AdministratorUids: [] RequestorUid: 1073 RequestorPackageName: com.android.networkstack] ], expires 24995ms NetworkRequest [ TRACK_DEFAULT id=13, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10068 AdministratorUids: [] RequestorUid: 10068 RequestorPackageName: com.dewmobile.kuaiya] ], expires 24995ms NetworkAgentInfo{ ni{[type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: , failover: false, available: true, roaming: false]} network{101} nethandle{437197393933} lp{{InterfaceName: wlan0 LinkAddresses: [ fe80::bbbb:2be7:6b3f:67da/64,192.5.1.27/24 ] DnsAddresses: [ /192.5.1.1 ] Requests: REQUEST:2 LISTEN:8 BACKGROUND_REQUEST:0 total:10 NetworkRequest [ REQUEST id=1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ LISTEN id=4, [ Capabilities: FOREGROUND AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ LISTEN id=5, [ Capabilities: NOT_RESTRICTED&TRUSTED&NOT_VPN&FOREGROUND Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ LISTEN id=7, [ Capabilities: NOT_RESTRICTED&TRUSTED&NOT_VPN Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ TRACK_DEFAULT id=8, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 1000 AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: android] ] NetworkRequest [ TRACK_DEFAULT id=9, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 1073 AdministratorUids: [] RequestorUid: 1073 RequestorPackageName: com.android.networkstack] ] NetworkRequest [ LISTEN id=10, [ Transports: WIFI Capabilities: NOT_RESTRICTED&TRUSTED&NOT_VPN Uid: 1073 AdministratorUids: [] RequestorUid: 1073 RequestorPackageName: com.android.networkstack] ] NetworkRequest [ REQUEST id=11, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN AdministratorUids: [] RequestorUid: 1073 RequestorPackageName: com.android.networkstack] ] NetworkRequest [ TRACK_DEFAULT id=13, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED Uid: 10068 AdministratorUids: [] RequestorUid: 10068 RequestorPackageName: com.dewmobile.kuaiya] ] NetworkRequest [ LISTEN id=17, [ Transports: WIFI Capabilities: NOT_VPN AdministratorUids: [] RequestorUid: 1000 RequestorPackageName: com.skg.benqsetting] ]

我这里是在系统中注释了网络切换后网络释放的操作,所以Current Networks才会有多个网络(正常是只看到一个NetworkAgentInfo网络对象的)

但是系统默认连接的只有一个那就是Active default network的网络

从NetworkAgentInfo也可以体现出现,那就是NetworkRequest的Capabilities包含INTERNET标签; 还有就是 包含REQUEST id=1 这个基本就是当前正在使用的网络

有些设备需要支持wifi和有些网都能连通,就不能释放网络。app内可以进行不同网络的选择连接。

3、adb shell netstat

用得不多,可能是查看连接过的具体网址

注意是看上面tcp的信息

Address是本机的信息。

Foreign Address是访问的地址信息。

打印情况如下:

C:\Users\liwenzhi>adb shell netstat Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.5.1.6:58752 server-13-225-103:https ESTABLISHED tcp 0 0 192.5.1.6:35612 hkg07s40-in-f22.1:https TIME_WAIT tcp 0 0 192.5.1.6:40632 kul06s17-in-f225.:https TIME_WAIT tcp 0 0 192.5.1.6:57072 201.181.244.35.bc:https ESTABLISHED tcp 0 0 192.5.1.6:52326 kul06s17-in-f226.:https ESTABLISHED tcp 0 0 192.5.1.6:41524 server-13-225-103:https ESTABLISHED tcp 0 0 192.5.1.6:56136 203.119.217.126:http ESTABLISHED tcp 0 0 192.5.1.6:60548 ec2-35-161-17-206:https ESTABLISHED tcp 0 0 192.5.1.6:50062 hkg07s29-in-f13.1:https ESTABLISHED tcp 0 0 192.5.1.6:35616 hkg07s40-in-f22.1:https ESTABLISHED tcp 0 0 192.5.1.6:40634 kul06s17-in-f225.:https TIME_WAIT 。。。 tcp6 32 0 ::ffff:192.5.1.6:51762 ec2-140-179-11-12:https CLOSE_WAIT tcp6 32 0 ::ffff:192.5.1.6:51840 ec2-140-179-11-12:https CLOSE_WAIT tcp6 32 0 ::ffff:192.5.1.6:54924 ec2-140-179-154-1:https CLOSE_WAIT 。。。 udp 0 0 192.5.1.6:bootpc 192.5.1.1:bootps ESTABLISHED Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 110 [ ] DGRAM 527 /dev/socket/logdw unix 16 [ ] DGRAM 25380 /dev/socket/statsdw unix 2 [ ] DGRAM 26288 /data/system/unsolzygotesocket unix 2 [ ] DGRAM 24418 ...//下面还有很多unix的日志 3、adb shell ip ru C:\Users\liwenzhi>adb shell ip ru 0: from all lookup local 10000: from all fwmark 0xc0000/0xd0000 lookup legacy_system 10500: from all iif lo oif dummy0 uidrange 0-0 lookup dummy0 10500: from all iif lo oif eth0 uidrange 0-0 lookup eth0 10500: from all iif lo oif wlan0 uidrange 0-0 lookup wlan0 13000: from all fwmark 0x10063/0x1ffff iif lo lookup local_network 13000: from all fwmark 0x10064/0x1ffff iif lo lookup eth0 13000: from all fwmark 0x10065/0x1ffff iif lo lookup wlan0 14000: from all iif lo oif dummy0 lookup dummy0 14000: from all iif lo oif eth0 lookup eth0 14000: from all iif lo oif wlan0 lookup wlan0 15000: from all fwmark 0x0/0x10000 lookup legacy_system 16000: from all fwmark 0x0/0x10000 lookup legacy_network 17000: from all fwmark 0x0/0x10000 lookup local_network 19000: from all fwmark 0x64/0x1ffff iif lo lookup eth0 19000: from all fwmark 0x65/0x1ffff iif lo lookup wlan0 22000: from all fwmark 0x0/0xffff iif lo lookup wlan0 32000: from all unreachable C:\Users\liwenzhi>

这里是路由策略,应该是和NetworkAgentInfo里面的NetworkRequest有一定的关联

路由策略是可以进行设置的,就是通过adb禁止/允许网络的使用(wifi/有线网络)。

但是路由策略需要root权限!设备默认root或者adb root成功才行。

adb shell ip ru flush //清空所有的路由表 adb shell ip ru add from 192.168.13.X/24 lookup eth0 //把内网设置成以太网 adb shell ip ru add from all lookup wlan0 //添加wifi联网 adb shell ip ru del from XXX //删除某一个路由策略

下面是一组简单的操作示例:

C:\Users\liwenzhi>adb shell ip ru 0: from all lookup local 10000: from all fwmark 0xc0000/0xd0000 lookup legacy_system 10500: from all iif lo oif dummy0 uidrange 0-0 lookup dummy0 10500: from all iif lo oif eth0 uidrange 0-0 lookup eth0 10500: from all iif lo oif wlan0 uidrange 0-0 lookup wlan0 13000: from all fwmark 0x10063/0x1ffff iif lo lookup local_network 13000: from all fwmark 0x10064/0x1ffff iif lo lookup eth0 13000: from all fwmark 0x10065/0x1ffff iif lo lookup wlan0 14000: from all iif lo oif dummy0 lookup dummy0 14000: from all iif lo oif eth0 lookup eth0 14000: from all iif lo oif wlan0 lookup wlan0 15000: from all fwmark 0x0/0x10000 lookup legacy_system 16000: from all fwmark 0x0/0x10000 lookup legacy_network 17000: from all fwmark 0x0/0x10000 lookup local_network 19000: from all fwmark 0x64/0x1ffff iif lo lookup eth0 19000: from all fwmark 0x65/0x1ffff iif lo lookup wlan0 22000: from all fwmark 0x0/0xffff iif lo lookup wlan0 32000: from all unreachable C:\Users\liwenzhi>adb shell t7_an400:/ $ exit C:\Users\liwenzhi>adb shell ip ru flush RTNETLINK answers: Operation not permitted Dump terminated C:\Users\liwenzhi>adb root restarting adbd as root C:\Users\liwenzhi> C:\Users\liwenzhi> C:\Users\liwenzhi>adb shell ip ru flush C:\Users\liwenzhi>adb shell ip ru 0: from all lookup local C:\Users\liwenzhi>adb shell ip ru add from 192.5.1.0/24 lookup eth0 C:\Users\liwenzhi>adb shell ip ru add from 192.5.1.6/24 lookup eth0 C:\Users\liwenzhi>adb shell ip ru add from all lookup wlan0 C:\Users\liwenzhi>adb shell ip ru 0: from all lookup local 0: from 192.5.1.0/24 lookup eth0 0: from 192.5.1.6/24 lookup eth0 0: from all lookup wlan0 C:\Users\liwenzhi>adb shell ip ru del from 192.5.1.0/24 lookup eth0 C:\Users\liwenzhi>adb shell ip ru 0: from all lookup local 0: from 192.5.1.6/24 lookup eth0 0: from all lookup wlan0 C:\Users\liwenzhi>

可以自己测试一下,删除所有路由策略发现wifi上不了网,把wifi策略添加后就可以上网了。

总结一下:

比较简单易懂在是: adb shell ifconfig //查看配置信息 比较全面在信息是: adb shell dumpsys connectivity //查看连接情况



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3