?? example.py
字號:
#!/usr/bin/python# need root privilegesimport structimport sysimport timefrom socket import AF_INET, AF_INET6, inet_ntoasys.path.append('python')sys.path.append('build/python')import nfqueuesys.path.append('dpkt-1.6')from dpkt import ipdef cb(i,payload): print "python callback called !", i print "payload len ", payload.get_length() data = payload.get_data() pkt = ip.IP(data) print "proto:", pkt.p print "source: %s" % inet_ntoa(pkt.src) print "dest: %s" % inet_ntoa(pkt.dst) if pkt.p == ip.IP_PROTO_TCP: print " sport: %s" % pkt.tcp.sport print " dport: %s" % pkt.tcp.dport payload.set_verdict(nfqueue.NF_DROP) sys.stdout.flush() return 1q = nfqueue.queue()print "open"q.open()print "bind"q.bind();#print "setting callback (should fail, wrong arg type)"#try:# q.set_callback("blah")#except TypeError, e:# print "type failure (expected), continuing"print "setting callback"q.set_callback(cb)print "creating queue"q.create_queue(0)print "trying to run"try: q.try_run()except KeyboardInterrupt, e: print "interrupted"print "unbind"q.unbind()print "close"q.close()
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -