我想将TCP协议复制为黑匣子,主要有4个功能:
recv
send
recv_raw(buffer)
:模拟接收TCP标头+ TCP数据send_raw(buffer)
:实际上是套接字要发送TCP层时调用的回调。我认为可以使用与TCP套接字通信的原始套接字来实现。但是,我需要一个不需要root特权的解决方案(在任何时候,即使对于setcap
也是如此)。
最简单的方法是什么(使用已经存在的参考实现)?我目前的最佳想法是使用Scapy,因为它实现了TCP协议。也许来自socket.h
的一些API函数已经实现了此功能? (类似于写文件描述符)