e.smali
.class public Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 8
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.param p0, "host" # Ljava/lang/String;
.param p1, "log" # Ljava/lang/String;
.line 10
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 11
.local v0, "logRes":Ljava/lang/StringBuilder;
const-string/jumbo v1, "timeout"
invoke-virtual {p1, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
const-string v2, "ping: cannot resolve "
if-eqz v1, :cond_28
.line 12
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ": Timeout"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_4c
.line 13
:cond_28
const-string/jumbo v1, "unknown"
invoke-virtual {p1, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_49
.line 14
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ": Unknown host"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_4c
.line 16
:cond_49
invoke-static {p1, v0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->a(Ljava/lang/String;Ljava/lang/StringBuilder;)V
.line 18
:goto_4c
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method
.method private static a(Ljava/lang/String;)Ljava/util/List;
.registers 6
.param p0, "log" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 39
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 40
.local v0, "timeList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
const-string v1, "(?<==)([\\.0-9\\s]+)(?=ms)"
.line 41
.local v1, "regex":Ljava/lang/String;
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v2
.line 42
.local v2, "p":Ljava/util/regex/Pattern;
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 43
.local v3, "m":Ljava/util/regex/Matcher;
:goto_f
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_25
.line 44
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_f
.line 46
:cond_25
return-object v0
.end method
.method public static a(Ljava/lang/String;Ljava/lang/StringBuilder;)V
.registers 16
.param p0, "log" # Ljava/lang/String;
.param p1, "logRes" # Ljava/lang/StringBuilder;
.line 22
invoke-static {p0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 23
.local v0, "hostIp":Ljava/lang/String;
invoke-static {p0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->b(Ljava/lang/String;)Ljava/util/List;
move-result-object v1
.line 24
.local v1, "bytesList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
invoke-static {p0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->c(Ljava/lang/String;)Ljava/util/List;
move-result-object v2
.line 25
.local v2, "ttlList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
invoke-static {p0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->a(Ljava/lang/String;)Ljava/util/List;
move-result-object v3
.line 26
.local v3, "timeList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
invoke-static {p0}, Lcom/aliyun/security/yunceng/android/sdk/traceroute/e;->e(Ljava/lang/String;)Ljava/util/List;
move-result-object v4
.line 27
.local v4, "icmpList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v5
.line 28
.local v5, "len":I
const/4 v6, 0x0
.local v6, "i":I
:goto_19
add-int/lit8 v7, v5, -0x1
const-string v8, "ms"
const-string v9, " time="
const-string v10, " ttl="
const-string v11, ": icmp_seq=#"
const-string v12, "bytes from "
if-ge v6, v7, :cond_71
.line 29
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {v1, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Ljava/lang/String;
invoke-virtual {v7, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 30
invoke-interface {v4, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Ljava/lang/String;
invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v2, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Ljava/lang/String;
invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 31
invoke-interface {v3, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v9
check-cast v9, Ljava/lang/String;
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, "\n"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
.line 29
invoke-virtual {p1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 28
add-int/lit8 v6, v6, 0x1
goto :goto_19
.line 33
.end local v6 # "i":I
:cond_71
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
add-int/lit8 v7, v5, -0x1
invoke-interface {v1, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v5, -0x1
.line 34
invoke-interface {v4, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v5, -0x1
.line 35
invoke-interface {v2, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v5, -0x1
invoke-interface {v3, v7}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/String;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
.line 33
invoke-virtual {p1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 36
return-void
.end method
.method private static b(Ljava/lang/String;)Ljava/util/List;
.registers 8
.param p0, "log" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 50
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 51
.local v0, "bytesList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
const-string v1, "(?<=\\D)([\\s0-9]+)(?=bytes)"
.line 52
.local v1, "regex":Ljava/lang/String;
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v2
.line 53
.local v2, "p":Ljava/util/regex/Pattern;
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 54
.local v3, "m":Ljava/util/regex/Matcher;
:goto_f
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_39
.line 55
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
.line 56
.local v4, "string":Ljava/lang/String;
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v5
const-string v6, "\\d+"
invoke-virtual {v5, v6}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_38
.line 57
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 59
.end local v4 # "string":Ljava/lang/String;
:cond_38
goto :goto_f
.line 60
:cond_39
return-object v0
.end method
.method private static c(Ljava/lang/String;)Ljava/util/List;
.registers 6
.param p0, "log" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 64
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 65
.local v0, "ttlList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
const-string v1, "(?<=ttl=)([0-9]+)(?=\\s)"
.line 66
.local v1, "regex":Ljava/lang/String;
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v2
.line 67
.local v2, "p":Ljava/util/regex/Pattern;
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 68
.local v3, "m":Ljava/util/regex/Matcher;
:goto_f
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_25
.line 69
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
.line 70
.local v4, "tmp":Ljava/lang/String;
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 71
.end local v4 # "tmp":Ljava/lang/String;
goto :goto_f
.line 72
:cond_25
return-object v0
.end method
.method private static d(Ljava/lang/String;)Ljava/lang/String;
.registers 6
.param p0, "log" # Ljava/lang/String;
.line 76
const/4 v0, 0x0
.line 77
.local v0, "hostIp":Ljava/lang/String;
const-string v1, "(?<=\\()([\\d]+\\.)+[\\d]+(?=\\))"
.line 78
.local v1, "regex":Ljava/lang/String;
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v2
.line 79
.local v2, "p":Ljava/util/regex/Pattern;
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 80
.local v3, "m":Ljava/util/regex/Matcher;
:goto_b
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_1e
.line 81
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
goto :goto_b
.line 83
:cond_1e
return-object v0
.end method
.method private static e(Ljava/lang/String;)Ljava/util/List;
.registers 6
.param p0, "log" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 87
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 88
.local v0, "icmpList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
const-string v1, "(?<=icmp_seq=)([0-9]+)(?=\\s)"
.line 89
.local v1, "regex":Ljava/lang/String;
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v2
.line 90
.local v2, "p":Ljava/util/regex/Pattern;
invoke-virtual {v2, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 91
.local v3, "m":Ljava/util/regex/Matcher;
:goto_f
invoke-virtual {v3}, Ljava/util/regex/Matcher;->find()Z
move-result v4
if-eqz v4, :cond_25
.line 92
invoke-virtual {v3}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
.line 93
.local v4, "tmp":Ljava/lang/String;
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 94
.end local v4 # "tmp":Ljava/lang/String;
goto :goto_f
.line 95
:cond_25
return-object v0
.end method