def getTrue(): global getbag_flag global typenum global bagcon print('Packet capture begin') getbag_flag = True bagnum = int(en.get()) # 获取需要抓包的个数 # 清空上一次抓包信息 typenum = [] bagcon = [] bagcontent = get_bag(bagnum) # 子函数名get_bag if not len(bagcontent): tkMessageBox.showinfo("超时!", "没有抓到数据包") # 获取抓包每个类型的个数 typenum.append(len(bagcontent[TCP])) typenum.append(len(bagcontent[UDP])) typenum.append(len(bagcontent[ICMP])) typenum.append(bagnum - len(bagcontent[TCP]) - len(bagcontent[UDP]) - len(bagcontent[ICMP])) # 获取数据包信息 for i in range(bagnum): bagcon.append(bagcontent[i].summary()) # 删除现有信息,更新信息 listb.delete(0, END) # listb是显示不同种类包的个数 for item in typenum: listb.insert(END, item) conb.delete(0, END) # conb是捕捉到的包的简略信息 for item in bagcon: conb.insert(END, item)
def getTrue(): global getbag_flag global typenum global bagcon global bagcontent print('Packet capture begin') getbag_flag = True bagnum = int(en.get()) # 获取需要抓包的个数 # 清空上一次抓包信息 typenum = [] bagcon = [] # 抓包设置 find_c = {'0': 'tcp', '1': 'udp', '2': 'port 80', '3': 'port 443'} factor = None c = [[0, c_tcp.get()], [1, c_udp.get()], [2, c_http.get()], [3, c_https.get()]] for i, tof in c: if tof: if factor == None: factor = find_c[str(i)] else: factor = factor + ' or ' + find_c[str(i)] bagcontent = get_bag(bagnum, factor) print('Packet capture has done') if len(bagcontent) == 0: tkMessageBox.showinfo("超时!", "没有抓到数据包") return # 获取抓包每个类型的个数 typenum.append(len(bagcontent[TCP])) typenum.append(len(bagcontent[UDP])) typenum.append(len(bagcontent[ICMP])) typenum.append(bagnum - len(bagcontent[TCP]) - len(bagcontent[UDP]) - len(bagcontent[ICMP])) # 获取数据包信息 for i in range(len(bagcontent)): bagcon.append(bagcontent[i].summary()) # 删除现有信息,更新信息 listb.delete(0, END) # listb是显示不同种类包的个数 for item in typenum: listb.insert(END, item) conb.delete(0, END) # conb是捕捉到的包的简略信息 for item in bagcon: conb.insert(END, item)