Python:使用netfilterqueu和scapy,将时间戳插入到原始有效负载中

时间:2017-03-22 09:59:45

标签: python iptables scapy netfilter

我已经使用iptables NFQUEUE来排队FORWARD数据包,

sudo iptables -A FORWARD -p tcp --dport XXX -j NFQUEUE --queue-num 1

并在Python中导入NetfilterQueue和scapy以修改数据包有效负载,然后重新发送。

我想在原始数据包payoad之前插入系统时间戳time.time()。我尝试了几种方法,但遇到字符串格式问题。如何编写这部分代码?

我的代码:

from netfilterqueue import NetfilterQueue
from scapy.all import *
import nfqueue
import time

def modify(packet):
    pkt=IP(packet.get_payload())

    # --> Here, I want to add time=str(time.time()),
    # --> and insert it into the beginning of original payload: 
    # --> pkt[TCP].payload =  #timestamp + #original payload

    packet.set_payload(str(pkt))
    packet.accept()

nfqueue=NetfilterQueue()
nfqueue.bind(1,modify)
try:
    nfqueue.run()
except KeyboardInterrupt:
    print('end')
    pass

0 个答案:

没有答案