我想开发测试应用程序(类似于 IpSec,但非常简单),该应用程序实现将“PC”的所有 IP 数据包封装在一些“另一个数据包”中。这个“另一个数据包”被发送到另一台计算机(类似于“代理”)解压原始 IP 数据包并将它们发送到其原始目的地。然后这个“代理”接收“PC”的数据包并对其进行解密,封装并发送到“PC”等。应用程序必须支持使用NAT。我知道带有 NAT 的 IPSec 只能使用 NAT 遍历,因此“另一个数据包”将是 udp,即我将使用一些加密将 Ip 封装在 UDP 中。
我意识到 winpcap 并不是我开发此类应用程序所需要的。我可以在没有特殊硬件的情况下开发这样的应用程序,只使用软件吗?我应该使用什么样的工具(也许我需要编写自己的驱动程序)?