gpt4 book ai didi

linux - 如何将原始 L2 数据包作为传入数据包注入(inject) Linux 上的接口(interface)?

转载 作者:太空狗 更新时间:2023-10-29 11:09:51 25 4
gpt4 key购买 nike

我需要将一些 L2 数据包(自定义)作为 Linux 中的传入数据包注入(inject)到特定接口(interface),以测试在其上运行的一些应用程序。

是否有任何库(首选python)/示例可以提供帮助?我正在浏览 Scrapy 库,但它看起来只能将数据包作为传出数据包注入(inject)网络?

最佳答案

如果你有可用的本地 linux bridge 模块,那么你可以以这种方式使用它。创建一个桥梁

brctl addbr <brname>

现在创建一个虚拟 eth 对(默认名称 veth0veth1)。 veths 是连接的 L2 设备

ip link add type veth
ifconfig veth0 up
ifconfig veth1 <some_ip> up

现在添加您的特定接口(interface),假设 eth0veth 对的一侧到此桥。

brctl addif <brname> eth0
brctl addif <brname> veth0

这会将这两个接口(interface)添加到网桥。现在,当您在 veth0 上发送流量时,您应该也可以在 eth0 上获得它(基于正常的 L2 交换机功能)。要在 veth0 上发送流量,您只需将流量泵入 veth1,因为它们都是内部连接的。所以假设你想使用tcpreplay,就这样吧

tcpreply -i veth1 yourpcap.pcap

让我们知道进展如何

关于linux - 如何将原始 L2 数据包作为传入数据包注入(inject) Linux 上的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com