AWS:如何将 UDP 流量从 PRD 复制到 TEST 环境?

AWS: How to duplicate UDP traffic from PRD to TEST environment?

我们在 AWS 上设置了测试环境,现在我们想将传入的 UDP 流量从我们的生产机器复制到测试环境,看看它如何处理真实数据。

我们的设备通过特定端口(我们无法更改端口)向生产机器上的侦听器 运行ning 发送消息。我们在测试环境中设置了相同的侦听器 运行ning,所以我们只需要将流量复制到它。 无需将发件人的 ip 欺骗到测试环境(侦听器不会发回任何数据)。

我们认为这是一件很常见的事情,但要找到任何好的解决方案并不容易。 我们尝试 运行 在生产环境中调用名为 Samplicate 的程序,但在使用它时,我们必须 运行 不同端口上的侦听器,然后 运行 在该端口上进行 Samplicate,将流量重定向到生产和 AWS。这是非常危险的,因为如果 Samplicate 由于某种原因失败(我们不确定它是否足够可靠),重定向失败并且不会提供监听器,因此系统将会崩溃。如果解决方案不必监听设备向其发送消息的真实端口,那就更好了。因此,即使由于某种原因复制失败,系统也会继续工作 无论如何,即使以这种方式我们也无法让 Samplicate 工作(我们确实收到了数据,但系统运行得不是很好。可能 Samplicate 正在破坏数据包,或者我们只是没有正确设置它)。

有人能给点建议吗?这真的是非常罕见且难以实施的事情吗?

P.S。我们已经看到了一些如何在本地网络中执行类似操作的示例,但是我们需要将流量复制到不同的主机 (AWS)..

非常感谢您的帮助。

现在已经解决了。 我们发现用 C 编写自己的嗅探器并将 UDP 数据包直接发送到测试环境要容易得多。 我们使用 libcap 库来实现这一点。

这样交通不中断,生产没有风险。

http://www.binarytides.com/packet-sniffer-code-c-linux/ 这 link 帮了大忙。