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