編寫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