使用scapy将UDP数据包转发到不同的IP

使用scapy将UDP数据包转发到不同的IP,ip,scapy,packet,forward,spoof,Ip,Scapy,Packet,Forward,Spoof,我想将捕获的数据包发送到本地网络中的另一台PC。 当我运行它时,我会不断得到输出: Sent 1 packets. 一遍又一遍,但在Wireshark中,我没有看到任何数据包进入IP地址192.168.0.5。。。 不知道怎么了 #!/usr/bin/env python3 from scapy.all import sniff, send def spoof_and_send(packet): packet[0][1].dst = '192.168.0.5' send(pa

我想将捕获的数据包发送到本地网络中的另一台PC。 当我运行它时,我会不断得到输出:

Sent 1 packets.
一遍又一遍,但在Wireshark中,我没有看到任何数据包进入IP地址192.168.0.5。。。 不知道怎么了

#!/usr/bin/env python3
from scapy.all import sniff, send

def spoof_and_send(packet):
    packet[0][1].dst = '192.168.0.5'
    send(packet)

packets = sniff(filter='udp and portrange 6000-7999', prn=spoof_and_send)

您不能使用原始以太网报头:

def spoof_and_send(packet):
    datagram = packet[IP]
    datagram.dst = "192.168.0.5"
    send(packet)
此外,如果您使用此代码,您将接收您创建的数据包。你需要过滤掉这些以避免循环