在Java中读写TCP头(选项)

我要做的是:编写客户端和服务器,通过TCP用Java发送字符串,到目前为止使用Socket和Input- / Output-Streams没问题。

但是现在我想在tcp标题的“Options”字段中添加3个数字 在此处输入图像描述 。 我找不到任何有用的教程或其他关于如何自定义标题以及如何阅读它的内容。

有什么建议么?

你不能:

  • 在应用程序级别,您无权访问TCP标头;
  • Java也没有原始套接字。

但是 ,通过设置不同的套接字选项,您可以在某种程度上影响某些 TCP行为。 但不直接操纵TCP头。

不是没有利用像jNetPcap这样的外部库。 jNetPcap允许您格式化并发送自己的数据包。

jNetPcap安装指南(Eclipse)

jNetPcap安装指南(NetBeans)

用于格式化和发送数据包的非常粗略的示例代码。 它可能很粗糙,但它向您展示了自定义数据包的可能性。

编辑:忘了提到jNetPcap是libpcap的Java包装器。 它们旨在用于首先读取数据包。