我必須使用Linux內核libnetfilter_queue(恰恰是python綁定)和dpkt來過濾和修改網絡流量,並且我試圖實現延遲數據包轉發。Linux libnetfilter_queue延遲數據包問題
普通過濾作品真的很好,但如果我嘗試使用功能延遲包這樣
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()
它crashs拋出也不例外(當然是低水平崩潰)。我是否可以直接使用libnetfilter來實現延遲?或者我必須複製pkt,放下它並使用標準socket.socket.send()
發送複製?
謝謝
請問,你能提供一些這個答案的代碼示例嗎? 有關libnetfilter_queue的文檔相當薄弱。 – elmazzun 2015-06-24 13:46:41