如何构建网络分流设备?

如何构建网络分流设备?

我想构建一个网络窃听设备,以拦截我的电脑和路由器之间的流量。想象一下树莓派或类似的设备,运行 Linux,有两个以太网端口。我将其插入路由器和计算机之间,充当简单的“交换机”,在路由器和 PC 之间中继流量。我想拦截该流量,即监视它并在模式匹配时记录一些数据。

最好,如果我也可以修改数据包,那就太好了。还优选地,如果我的设备能够在网络中“不可见”,即不被检测为位于路由器和PC之间的网络设备,那就太好了。但如果不可能的话,如果它被识别为网络交换机也没关系。

我知道这可能是一个不平凡的项目,所以我不期望这里有完整的食谱。我正在寻找一些关于从哪里开始、存在哪些可能性等的指导。

上次我检查 Windows 在网络方面的限制如此之大,以至于这可能无法使用 Windows 设备进行构建(无论它有多少个以太网端口)。另一方面,Linux 的能力更强,但我问过的一些人仍然说,如果没有非常认真的系统编程(弄乱内核等),这可能是不可能的。我的 Linux 编码技能仅限于 Python 通用(即非系统级)编程。

那么...如何(如果有的话)能够实现这一点?您能为这样的设备提出什么样的架构?为了构建这样的项目,我需要学习 Linux 网络编程方面的哪些知识?简而言之...我该从什么开始呢?

关于我:我是高级软件工程师(.Net / Web Dev),对网络有“开发人员级别”(即中级)的了解,有一些 Wireshark 和类似工具的经验,但对 Linux 的经验非常有限。

相关内容