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

时间:2018-04-14 15:06:12

标签: ip scapy packet forward spoof

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

Sent 1 packets.

一遍又一遍,但在Wireshark中,我没有看到任何数据包进入IP-Adress 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)

1 个答案:

答案 0 :(得分:0)

您无法使用原始以太网标头:

def spoof_and_send(packet):
    datagram = packet[IP]
    datagram.dst = "192.168.0.5"
    send(packet)

此外,如果您使用此代码,您将收到您创建的数据包。你需要过滤掉那些以避免循环。