如何在交换层捕获数据包

问题描述:

我已经写了2个模块,这些模块是基于netfilter hook并且在IP层工作的。如何在交换层捕获数据包

但是我想现在捕获交换层的数据包。是否有任何钩子在交换层捕获?

任何对代码片段的引用将不胜感激。

编辑:像DELL交换机那样管理的交换机运行在哪种软件上。是不是Linux,那么该软件如何处理第2层数据包。

感谢

+1

http://ebtables.netfilter.org/ebtables-hacking/ebtables-hacking-HOWTO.html虽然它现在可能已过时。 – nos

可以使用类似的挂钩您的IP netfilter的钩子。你需要改变的主要是协议族:而不是NFPROTO_IP,你将使用NFPROTO_BRIDGE。

请注意,这些挂钩仅适用于桥接接口,而不适用于正在进入非桥接接口的常规第2层数据包。

+0

因此,这意味着我强制必须创建一个嗅探第2层数据包的桥梁。像DELL这样的托管交换机运行的是什么软件。是不是Linux,那么该软件如何处理第2层数据包。 – RootPhoenix

+0

如果您正在查看像PowerConnect 6200系列这样的常规交换机,他们正在运行定制版本的VxWorks。他们的一些更新的交换机确实运行定制的Linux,但由于他们不需要在通用硬件上运行,他们仍然可能使用ASIC(专用集成电路)来自己运行端口,并使用实际的硅来执行任何所需的数据包操作和/或镜像。 –

+0

哦!感谢了。 – RootPhoenix