免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4113 | 回复: 5
打印 上一主题 下一主题

Tkinter界面实时回显。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-06 11:34 |只看该作者 |倒序浏览
编写了一个捕获数据包实时显示的界面,但是只要处于抓包状态就无法调用界面插件进行数据显示,困扰很久了,有大神知道如何解决吗?
代码如下:
from Tkinter import*
import Tkinter
import Pmw
import tkFileDialog
from scapy.all import*  #rdpcap
import dpkt
import filter
def page3(page3):
        frame3 = Tkinter.Frame(page3)
        labeframe1=Tkinter.LabelFrame(frame3)
        labeframe2=Tkinter.LabelFrame(frame3)
        v1=IntVar()
        def s1_check():
                t=v1.get()
                while t==1:
                       
                        Filter()
                        time.sleep(50)
                # else:
                        # Filter(t)
       
        labe1=Tkinter.Checkbutton(labeframe1,variable = v1,text= '过滤解析',command = s1_check)
        bar1=Tkinter.Scrollbar(labeframe2,orient=Tkinter.VERTICAL)
        bar1.pack(side = 'right',fill = 'y')
        global labe22
        labe22=Tkinter.Text(labeframe2,height=120,width=100,yscrollcommand=bar1.set)
        frame3.pack(fill='both',expand='yes')
        labeframe1.pack(anchor='w',fill='x')
        labeframe2.pack(anchor='w',fill='x')
        labe1.pack(side='left')
        labe22.pack(side='left')
        bar1.config(command=labe22.yview)
def Filter():
        # labe22.delete(0.0, Tkinter.END)
        pkts=sniff(filter='ip or arp',count=1)#count=1
        pkts=pkts[0]
        pkts.show()
        if pkts.type==2048:
                t=pkts[IP].src
                u=pkts[IP].dst
                labe22.insert(Tkinter.END,"IP:%s->%s\n"%(pkts[IP].src,pkts[IP].dst))
        elif pkts.type==2054:
                labe22.insert(Tkinter.END,"ARP:%s->%s\n"%(pkts[ARP].psrc,pkts[ARP].pdst))
        else:
                print "Else Data",pkts.type
                labe22.insert(Tkinter.END,pkts.show())

论坛徽章:
0
2 [报告]
发表于 2016-06-06 17:41 |只看该作者
自己顶一下吧,没有人懂吗?

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
3 [报告]
发表于 2016-06-07 10:43 |只看该作者
不做这一块内容啊,你要解决了可以分享出来

论坛徽章:
0
4 [报告]
发表于 2016-06-07 14:01 |只看该作者
相关资料太少了,无从下手。 回复 3# mswsg


   

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
5 [报告]
发表于 2016-06-07 16:16 |只看该作者
抓包和显示采用不同线程或进程?

论坛徽章:
0
6 [报告]
发表于 2016-06-07 21:30 |只看该作者
因为是持续抓包,每抓一个包要实时显示出相关信息。这样抓包和界面控件要来回切换,感觉是要两个线程但是不知道具体的实现以及参数应该如何传递。回复 5# mswsg


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP