是否可以使用 Scapy 将以太网数据包从逻辑接口发送到自身?

问题描述 投票:0回答:1

我正在使用原始以太网,所以我不需要任何 IP 或更高级别的东西。我只想从我的以太网接口

(enp0s31f6)
发送一个以太网数据包到它自己,我希望能够在 Wireshark 或 tcpdump 中查看这些数据包。我在 Ubuntu 20.04LTS 上。

我试过:

from scapy.all import *

g = Ether(dst=get_if_hwaddr("enp0s31f6"))
sendp(g, iface="enp0s31f6")

输出为:

.
Sent 1 packets.

但是我在 wireshark 上没有看到任何东西从我的以太网接口发送出去。

我也试过看看我是否可以通过以下方式从我的以太网接口向本地主机发送一个空数据包:

g = Ether()/IP(dst="127.0.0.
sendp(g, iface="enp0s31f6")

再次,scapy 声称正在发送数据包,但我在 Wireshark 或 tcpdump 上看不到它。

python networking network-programming scapy ethernet
1个回答
0
投票

有可能数据包正在发送,但没有被 Wireshark 或 tcpdump 捕获。要验证数据包确实已发送,您可以尝试使用另一台机器上的另一个接口捕获数据包并验证是否正在接收数据包。

如果您仍然无法在 Wireshark 或 tcpdump 上看到数据包,您可能需要检查您的网络配置。确保您的以太网接口配置正确,并且没有防火墙或其他网络设备阻止数据包。

您也可以尝试使用不同的工具来发送和捕获数据包,例如 netcat 或 socat。这可能会帮助您隔离问题并确定问题是出在您的代码上还是出在网络配置上。

© www.soinside.com 2019 - 2024. All rights reserved.