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()
之外,它无法深入了解网络。
我有 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()
之外,它无法深入了解网络。