我可以通过 TCP 校验和找到端口号吗?

网络工程 tcp 包分析 校验和
2022-02-05 07:28:35

所以我得到了一个缺少端口信息的框架,但我拥有其他所有信息,如何检索框架中使用的端口?

我在考虑 tcp 校验和,但它是可逆的吗?

该帧只是封装在 IP 帧中的 TCP 标头。

PS:这是“黑客”挑战的一部分,这就是为什么情况很奇怪。

2个回答

您无法从校验和中重建丢失的数据包元素。它用于错误检测,而不是更正。

如果仅缺少一个字节/字/长字,则可以重建它,例如通过尝试所有可能的值并重新计算校验和。然而,教育目的、黑客挑战等在这里是题外话。

TCP 校验和是 16 位,端口号也是 16 位。因此,如果仅缺少一个端口号,您有合理的机会通过蛮力找到端口号,但您最终可能会得到多个可能的答案。

如果两个端口号都丢失,那么这将不起作用。