我已经使用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