我目前是这个领域的新手,并对原始套接字编程和数据包注入和嗅探进行了一些研究,但可能遇到我的要求,即注入带有ESP
和AEH
标头的数据包。 (拦截不安全的数据包并应用ESP
或AEH
)。
我发现的教程主要讨论如何将数据包注入网络/更改标题,例如https://gist.github.com/securitytube/5325122,http://www.youtube.com/watch?v=V6CohFrRNTo,how to modify packet header(IP header, TCP Header) before the host send them into the network。我一定在看错话题。
如果您的专家能够指出我可以用来执行此任务的任何API或开源项目,我将非常感激。
答案 0 :(得分:1)
首先,您需要捕获一个IP数据包,然后对其进行处理,然后发送它并避免发送原始数据包。 您可以使用libpcap库来捕获数据包,然后修改它们并添加您的ESP和AH标头(并完成IPSec所做的所有工作),然后使用原始INET套接字(而不是数据包套接字,您的一个链接显示,使用它)发送它数据包套接字,你需要添加自己的IP头)。对于原始INET插座:
socket(AF_INET, SOCK_RAW, int protocol);
您还可以使用Netfilter并添加iptable规则来删除传出/传入的数据包或将它们发送给您的处理程序。这是一个非常强大的工具,你可以用它做任何事情。
我假设您知道必须实施安全关联管理并直接处理哈希算法,身份验证算法,加密算法等。