【发布时间】:2011-06-04 15:14:46
【问题描述】:
我必须使用 Linux 内核 libnetfilter_queue(确切地说是 python 绑定)和 dpkt 过滤和修改网络流量,并且我正在尝试实现延迟数据包转发。
普通过滤效果很好,但如果我尝试使用这样的功能延迟数据包
def setVerdict(pkt, nf_payload):
nf_payload.set_verdict_modified(nfqueue.NF_ACCEPT, str(pkt), len(pkt))
t = threading.Timer(10, setVerdict, [pkt, nf_payload])
t.start()
它不会抛出异常而崩溃(肯定是低级崩溃)。我可以像这样直接使用 libnetfilter 实现延迟,还是必须复制 pkt,删除它并使用标准 socket.socket.send() 发送副本?
谢谢
【问题讨论】:
标签: python linux networking netfilter