我使用下面的python脚本从Debian机器重放PCAP文件。在from scapy.all import *
global src_ip, dst_ip
src_ip = "10.1.1.14"
dst_ip = "10.1.1.1"
src_mac = "Src_mac_addr"
dst_mac = "Dst_mac_addr"
infile = "mms.pcap"
def my_send(rd, count=100):
pkt_cnt = 0
p_out = []
for p in rd:
pkt_cnt += 1
np = p.payload
if p.haslayer(IP) == 1:
np[IP].dst = dst_ip
np[IP].src = src_ip
del np[IP].chksum
if p.haslayer(Ether) == 1:
p[Ether].dst = dst_mac
p[Ether].src = src_mac
#del np[IP].chksum
#del np[TCP].chksum
if p.haslayer(TCP) == 1:
del np[TCP].chksum
if p.haslayer(UDP) == 1:
del np[UDP].chksum
#np[IP].show2()
p_out.append(np)
if pkt_cnt % count == 0:
send(PacketList(p_out))
p_out = []
# Send remaining in final batch
send(PacketList(p_out))
print "Total packets sent %d" % pkt_cnt
try:
my_reader = PcapReader(infile)
my_send(my_reader)
except IOError:
print "Failed reading file %s contents" % infile
sys.exit(1)
但数据包正在防火墙中丢弃,并显示以下错误消息:
^{pr2}$
有谁能提出解决这个问题的建议吗?在