Netty 和非标准 TCP 连接

Netty and non standard TCP connections

我有 2 个组件,A 和 B,它们位于不同的 LAN 上,有一个 Linux 服务器作为两个 LAN 的网关。

A 使用部署在 public Internet 上的网关向 B 发送 TCP 流量。因此,没有 SYN 通过 Linux 服务器从 A 发送到 B。但是,C 使用本地 TCP 连接(不涉及网关)将 TCP 流量发送回 A。通过嗅探流量,我可以看到 C 没有建立常规的 TCP 连接 (SYN),而是通过发送 (SYN+ACK) 开始。

我在 Linux 服务器上使用 iptables 将 C 发送到 A 的 TCP 流量在本地重定向。流量被重定向到本地端口 9000。

但是,我也想拦截此流量,因此我构建了一个简单的 Netty 代理,它在端口 9000 上侦听。出于某种原因,Netty 不接收或忽略此流量。

我想知道 Netty 是否能够在没有 SYN 的情况下处理 SYN-ACK 的情况。

有什么想法吗?

问题是内核中的TCP protcool实现栈是否会管理它。

Netty 甚至看不到它,无论是否由 TCP/IP 管理。

Netty 不是 TCP/IP 的实现。它是一个 API 层叠在 Java API 之上,层叠在 BSD 套接字 API 之上,其中 none 是 [=18] 的实现=] 要么。在这种情况下,除了调用 listen()accept() 之外,它无法深入了解网络。