编写python代码来与Linux系统上的iptables nfqueue进行交互。我能够检索队列数据包并修改它们,但是我无法通过队列接受它们。Python Scapy nfqueue
payload.set_verdict_modified(nfqueue.NF_ACCEPT, str(p), len(p))
这是我的理解将允许它通过队列的路线。 p是我创建的新数据包,有效载荷是原始队列数据包。
真的没有太多的文档,所以任何帮助将不胜感激。 感谢
这是我如何创建包
def queue_callback(i, payload)
data = payload.get_data()
packet = IP(data)
这是我创建的包。我做的包处理的一点点,这是我回吧
packet[TCP].payload = after;
return packet;
后,我回到了包我尝试使用以前的命令
p = modify(packet)
print p[TCP].payload
payload.set_verdict_modified(nfqueue.NF_ACCEPT, str(p), len(p))
的修改功能是更新iptables中的nfqueue我在哪里创建一个新数据包并将其返回。
你能提供有关该问题的更多信息,以及你在哪里创建'p'的代码? – 2013-03-14 18:51:07
我更新了帖子。感谢帮助顺便说一句,真的没有这个在线文档。我看了很多。问题是,数据包正在得到修改,我想要的。 tcp有效负载是正确的,但我不知道如何重新接受新的数据包。数据包在iptables防火墙中排队,然后我想更新数据包,然后允许它通过。谢谢 – CBaker 2013-03-14 19:11:24