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