Android 网络诊断、网络检测库
基于AndroidHttpCapture改造,剔除了不需要的功能,更精简。
效果如下所示:
开始诊断...
诊断时间:2020-06-11 14:20:09
应用code: 01
应用名称: NetworkDetection
应用版本: 1.0
机器类型: OnePlus:OnePlus:GM1910
系统版本: 10
机器ID: 5a121bc3a9547810
运营商: **电信
ISOCountryCode: cn
MobileCountryCode: 460
MobileNetworkCode: 11
诊断域名 www.baidu.com...
当前是否联网: 已联网
当前联网类型: WIFI
本地IP: 10.1.150.157
本地网关: 10.1.150.1
本地DNS: 10.96.0.10,114.114.114.114
远端域名: www.baidu.com
DNS解析结果: 112.80.248.75,112.80.248.76 (25ms)
开始TCP连接测试...
Connect to host: 112.80.248.75...
1's time=17ms, 2's time=22ms, 3's time=15ms, 4's time=14ms, average=17ms
Connect to host: 112.80.248.76...
1's time=16ms, 2's time=17ms, 3's time=17ms, 4's time=16ms, average=16ms
开始ping...
ping...127.0.0.1
64bytes from 127.0.0.1: icmp_seq=#1 ttl=64 time=0.236ms
64bytes from 127.0.0.1: icmp_seq=#2 ttl=64 time=0.467ms
64bytes from 127.0.0.1: icmp_seq=#3 ttl=64 time=0.622ms
64bytes from 127.0.0.1: icmp_seq=#4 ttl=64 time=0.586ms
ping本机IP...10.1.150.157
64bytes from 10.1.150.157: icmp_seq=#1 ttl=64 time=0.397ms
64bytes from 10.1.150.157: icmp_seq=#2 ttl=64 time=0.430ms
64bytes from 10.1.150.157: icmp_seq=#3 ttl=64 time=0.543ms
64bytes from 10.1.150.157: icmp_seq=#4 ttl=64 time=0.626ms
ping本地网关...10.1.150.1
64bytes from 10.1.150.1: icmp_seq=#1 ttl=254 time=13.9ms
64bytes from 10.1.150.1: icmp_seq=#2 ttl=254 time=17.0ms
64bytes from 10.1.150.1: icmp_seq=#3 ttl=254 time=15.1ms
64bytes from 10.1.150.1: icmp_seq=#4 ttl=254 time=13.0ms
ping本地DNS1...10.96.0.10
ping: cannot resolve 10.96.0.10: Timeout
ping本地DNS2...114.114.114.114
64bytes from 114.114.114.114: icmp_seq=#1 ttl=90 time=23.1ms
64bytes from 114.114.114.114: icmp_seq=#2 ttl=87 time=34.6ms
64bytes from 114.114.114.114: icmp_seq=#3 ttl=75 time=33.9ms
64bytes from 114.114.114.114: icmp_seq=#4 ttl=63 time=34.1ms
开始traceroute...
1?: [LOCALHOST] pmtu 1500
1: 10.1.150.1 4.795ms
1: 10.1.150.1 19.414ms
2: **********
3: 60.12.222.1 21.194ms
4: **********
5: **********
6: 221.12.35.101 25.570ms
7: **********
8: 221.6.1.254 24.447ms
9: 58.240.96.30 14.385ms
10: 182.61.216.0 15.139ms
11: **********
12: **********
13: **********
网络诊断结束
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.EthanCo:NetWorkDetection:1.0.4'
}
traceTask = new TraceTask(MainActivity.this, "www.baidu.com", new TaskCallBack() {
@Override
public void onUpdated(String log) {
//当诊断状态更新
}
@Override
public void onFinish(String log) {
//当诊断结束
}
@Override
public void onFailed(Exception e) {
//当诊断失败
}
});
traceTask.doTask(); //进行诊断
traceTask.setAppName("NetworkDetection"); //设置应用名称
traceTask.setAppCode("01"); //设置AppCode
traceTask.setDeviceId(deviceId); //设置设备ID
traceTask.setAlwaysPing(false); //是否永远进行Ping,如果是false,则根据当前网络环境判断是否要Ping
-keep class com.netease.LDNetDiagnoService.**{*;}