我有一个运行 Linux 的路由器,它充当 Internet 的中央网关,用于使用 IPv6 进行通信的嵌入式设备网络。我想拦截、检查和重写从 Internet 进出到该子网的每个数据包。我需要这样做的原因是我想创建一个透明的(对两端)代理服务,它将传入和传出的数据包重定向到根据数据包内容存在于其他地方的缓存。
这些设备使用他们自己的通过 UDP 运行的应用程序协议进行通信,因此我不能直接重复使用像 Squid 这样的东西。像 libpcap 这样的地方是最好的起点吗?还是我应该从头开始重写 Squid?这是我第一次真正深入了解网络,我不确定从哪里开始。