У меня есть python, scapy мир кода, который хранит мои данные в базе данных (IP src и dst, ports, ..) , которые я использую для некоторых статистических данных. На некоторых пакетах я делаю некоторые манипуляции (меняя dst-порт), а затем отправляю их обратно на интерфейс.scapy управление пакетами и оригинал pkt.time
Проблема в том, что этот пакет, с которым я манипулировал, имеет другое значение pkt.time, чем исходное значение , и если я храню эти пакеты в базе данных, у них разное время пакета, то они изначально были.
Есть ли опция и возможность создания пакета UDP для установки исходного значения pkt.time? С помощью этой опции задержка пакетной обработки не вызовет беспорядка с моими пакетами.
Любая помощь приветствуется
Ниже мой манипуляция сценарий
#!/usr/bin/env python
from scapy.all import *
# VARIABLES
interface = 'eth1'
filter_bpf = "port 8000"
def pkt_change(pkt):
if pkt.haslayer(UDP):
# --> pkt.time is packet time
ts = pkt.time
src = pkt[IP].src
dst = pkt[IP].dst
sport = pkt[IP].sport
dport = pkt[IP].dport
msg = pkt[IP].load
#### Spoof Response
changed_pkt = Ether()/IP(dst=dst, src=src)/UDP(dport=8000, sport=sport)/msg
sendp(changed_pkt, iface="eth1")
print 'Sent:', changed_pkt.summary()
# ------------------------------------------------
# start sniffing
print "Start Sniffing"
sniff(iface=interface, filter=filter_bpf, store=0, prn=pkt_change)
thx. хорошая точка, но даже если я установил change_pkt.time время пакета не изменилось. Кажется, меня это нельзя изменить. – user1627588
Что значит? Как вы проверяете, изменилось ли это? – Yoel
Я проверяю, что с интерфейсом, и под деревом подкачки, есть время и время прибытия – user1627588