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')