Linux 新手。需要在 UDP 内对接收到的 IPSec 数据包进行隧道传输。想到这样做...
- 使用 libpcap 的 mmaped 版本从 NIC 捕获数据包并将其发送到用户空间。
- 在用户空间中获取数据包后;使用 RAW 套接字在 IPSEC 有效负载上添加 UDP header 。
这是实现这一目标的有效方法吗?或者有更好的方法吗???
期待回复!
最佳答案
您可以将 IPSEC 数据包复制到 AF_INET/SOCK_DGRAM 套接字。 不确定 splice() 系统调用是否适用于两个套接字,但如果适用 - splice() 会更好,因为内核/用户空间之间没有执行复制
关于linux - 在 Linux 中添加 UDP Over IPSEC 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498056/