Python 带有ACK的自定义IP协议

Python 带有ACK的自定义IP协议,python,networking,ip,scapy,Python,Networking,Ip,Scapy,我想探索一下创建自定义IP协议的可能性。 也许是用Python的scapy 我有一个接收所有数据包的隧道,所以我想看看我是否可以关闭目标IP、端口等,并保持绝对最小值-但使用ACK 无论如何,这是可能的与scapy或类似 我试过一些简单的方法,比如: p = IP(dst="192.168.0.2")/"My payload" 但这样做似乎不可行。你想实现什么?放弃传输层端口号将通信限制为每个节点上的单个进程 您需要向IP堆栈注册一个协议号,以使其将该协议的所有内容传递给您的处理程序。通常,使

我想探索一下创建自定义IP协议的可能性。 也许是用Python的scapy

我有一个接收所有数据包的隧道,所以我想看看我是否可以关闭目标IP、端口等,并保持绝对最小值-但使用ACK

无论如何,这是可能的与scapy或类似

我试过一些简单的方法,比如:

p = IP(dst="192.168.0.2")/"My payload"

但这样做似乎不可行。

你想实现什么?放弃传输层端口号将通信限制为每个节点上的单个进程


您需要向IP堆栈注册一个协议号,以使其将该协议的所有内容传递给您的处理程序。通常,使用UDP传输和在上面构建自己的东西要容易得多。您也可以简单地对UDP数据报进行编号,并在应用程序级别对其进行确认。

查看我是否可以取消目标IP、端口等。如果数据包没有目标地址,您希望如何将数据包发送到目标?此外,使用确认要求数据包具有源地址,以便将确认发送回源。当我有两台服务器之间有隧道时,我想探索/了解在它们之间发送数据包时是否可能将开销降至最低。我的问题是。隧道只是一个虚拟接口,而不是物理接口。您仍然需要根据目标地址将数据包路由到正确的接口,并且您需要一个源地址,以便能够将流量返回到原始源。我想探讨是否可能只发送ex.50字节而没有任何开销-当我有到服务器的隧道时。因此,每个服务器都将侦听套接字并打印出所有传入的数据包/字节。完全没有任何开销是不可能的。即使是简单的串行电缆也需要启动和停止位。。。您似乎忘记了以太网和IP开销。UDP开销只增加了8个字节,你不能用更少的字节。。。