0
我有python,scapy和平代码存储我的数据到数据库(IP src和dst,端口,..) 我用于一些统计数据。 在某些数据包上,我正在做一些操作(更改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。好点,但即使我设置changed_pkt.time包时间没有改变。对我来说这不能改变 – user1627588 2014-11-03 16:40:25
你是什么意思?你如何检查它是否已经改变? – Yoel 2014-11-03 18:21:13
我正在检查与wireshark嗅探接口和框架树下有时代和到达时间 – user1627588 2014-11-03 19:48:14