import nfqueue
from dpkt import ip
q = None
def cb(dummy, payload):
# make decision about if the packet should be allowed. in this case, drop everything:
payload.set_verdict(nfqueue.NF_DROP)
q = nfqueue.queue()
q.open()
q.bind()
q.set_callback(cb)
q.create_queue(1)
q.try_run()
Python iptables为Linux下的iptables提供Python绑定。与iptables的互操作性是通过使用iptables C库(libiptc、libxtables和iptables扩展)实现的,而不是调用iptables二进制文件并解析其输出。
http://ldx.github.io/python-iptables/index.html
是的,是的。
我有一些Python代码,它们使用nfqueue与Linux iptables交互以执行防火墙任务。我可以在iptables中使用如下规则:
然后编写一些Python代码,如下所示:
下面是一篇很好的文章,上面的代码基于:
http://blog.yancomm.net/2011/05/nfqueue-packet-mangling-with-python.html
我相信在理论上你可以实现你想要的,但我相信在实践中你的想法是行不通的(如果你想知道为什么,那是因为用低级内核“接口”一个高级语言太难了)。
相反,您可以使用一些Python工具来控制操作系统的防火墙,以便添加规则、删除等(类似于iptables在Linux中的作用)。
相关问题 更多 >
编程相关推荐