0

我想将捕获的数据包发送到本地网络中的另一台 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)
4

1 回答 1

0

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

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

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

于 2018-04-15T21:19:18.820 回答