Exemple #1
0
 def Link_details(self, IP1, IP2):
     self.inform_Text1.config(text=Analyser.Link_Connection(IP1, IP2))
     String = Analyser.Link_Length_Analyse(IP1, IP2)
     self.inform_Text3.config(text=String[0])
     self.inform_Text5.config(text=String[1])
     String = Analyser.Link_Protocol_Analyse(IP1, IP2)
     self.inform_Text7.config(text=String[0])
     self.inform_Text9.config(text=String[1])
 def Link_details(self, IP1, IP2):
     self.spe_inform_Text1.config(text=Analyser.Link_Connection(IP1, IP2))
     String = Analyser.Link_Length_Analyse(
         IP1, IP2)  #详见对应函数,返回得到String列表,分别为小包,大包占比
     self.spe_inform_Text3.config(text=String[0])
     self.spe_inform_Text5.config(text=String[1])
     String = Analyser.Link_Protocol_Analyse(
         IP1, IP2)  #同上,返回各类协议占比,这里String列表长度不止2
     self.spe_inform_Text7.config(text=String[0])
     self.spe_inform_Text9.config(text=String[1])
    def draw_Line(self, IP1, IP2):
        i = 0
        #利用i分别画两个方向的边
        while i < 2:
            if i == 0:
                srcIP = IP1
                dstIP = IP2
            elif i == 1:
                srcIP = IP2
                dstIP = IP1
            protocols = Analyser.Link_Protocol_Analyse(
                srcIP, dstIP, 1)  #返回各种协议及其数据,格式为字符串.参数1或0决定分析模式是否区分方向,1表示有视方向
            protocol_label = 1  #标记
            for protocol in protocols:
                string = str(protocol)
                inform = re.split(r"/|", string)  #正则分割
                int_protocol_proper = int(inform[0])  #得到协议的包数
                if int_protocol_proper != 0:
                    self.L.add_edge(srcIP,
                                    dstIP,
                                    sty=protocol_label,
                                    width=(math.sqrt(int_protocol_proper)) / 3)
                protocol_label += 1
            i += 1
        pos = nx.spring_layout(self.L)
        ax = plt.gca()
        self.draw_MultipleLine(self.L, pos, ax)
        ax.autoscale()

        color_example = []
        red_patch = mpatches.Patch(color='red', label='DNS')
        color_example.append(red_patch)
        blue_patch = mpatches.Patch(color='blue', label='HTTP')
        color_example.append(blue_patch)
        black_patch = mpatches.Patch(color='black', label='HTTPS')
        color_example.append(black_patch)
        yellow_patch = mpatches.Patch(color='yellow', label='TCP')
        color_example.append(yellow_patch)
        green_patch = mpatches.Patch(color='green', label='UDP')
        color_example.append(green_patch)
        plt.legend(handles=color_example)

        nx.draw_networkx_labels(self.L,
                                pos,
                                font_size=5,
                                font_family='sans-serif')
        self.L.clear()
        plt.axis('equal')
        plt.axis('off')
        plt.savefig("Line.png")
        plt.clf()
        plt.close('all')
def draw_Line(IP1, IP2):
    global L, sql
    i = 0
    while i < 2:
        if i == 0:
            srcIP = IP1
            dstIP = IP2
        elif i == 1:
            srcIP = IP2
            dstIP = IP1
        protocols = Analyser.Link_Protocol_Analyse(srcIP, dstIP, 1)
        protocol_proper = []
        protocol_label = 1
        for protocol in protocols:
            string = str(protocol)
            inform = re.split(r"/|", string)
            int_protocol_proper = int(inform[0])
            if int_protocol_proper != 0:
                L.add_edge(srcIP,
                           dstIP,
                           sty=protocol_label,
                           width=(math.sqrt(int_protocol_proper)) / 3)
            protocol_label += 1
        i += 1
    pos = nx.spring_layout(L)
    ax = plt.gca()
    draw_MultipleLine(L, pos, ax)
    ax.autoscale()

    color_example = []
    red_patch = mpatches.Patch(color='red', label='DNS')
    color_example.append(red_patch)
    blue_patch = mpatches.Patch(color='blue', label='HTTP')
    color_example.append(blue_patch)
    black_patch = mpatches.Patch(color='black', label='HTTPS')
    color_example.append(black_patch)
    yellow_patch = mpatches.Patch(color='yellow', label='TCP')
    color_example.append(yellow_patch)
    green_patch = mpatches.Patch(color='green', label='UDP')
    color_example.append(green_patch)
    plt.legend(handles=color_example)

    nx.draw_networkx_labels(L, pos, font_size=5, font_family='sans-serif')
    L.clear()
    plt.axis('equal')
    plt.axis('off')
    plt.savefig("Line.png")
    plt.clf()
    plt.close('all')