代码之家  ›  专栏  ›  技术社区  ›  manash

网络和非标准TCP连接

  •  0
  • manash  · 技术社区  · 6 年前

    我有两个组件,a和b,在不同的lan上,其中一个linux服务器充当两个lan的网关。

    A使用部署在公共Internet上的网关向B发送TCP通信量。因此,没有syn通过linux服务器从a发送到b。但是,C使用本地TCP连接将TCP流量发送回(不涉及网关)。通过嗅探通信量,我可以看到c不是在建立一个普通的tcp连接(syn),而是从发送(syn+ack)开始。

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

    不过,我也想拦截这个流量,因此我构建了一个简单的netty代理,它监听端口9000。出于某种原因,Netty不会接收或忽略此流量。

    我想知道netty是否能够在没有syn的情况下管理syn-ack。

    有什么想法吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   user207421    6 年前

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

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

    Netty不是TCP/IP的实现。它是在java api之上的一个api,javaapi是在bsdsocketsapi之上的,而这些都不是tcp/ip的实现。除了打电话 listen() accept() 在这种情况下。