From 600706ccc1f323ab1c032f23fba2b2100b2e09e1 Mon Sep 17 00:00:00 2001 From: wujiawei <12345678> Date: Sat, 28 Sep 2024 19:01:41 +0800 Subject: [PATCH] [fix] --- ...nalNetworkClientPermeateClientVisitor.java | 5 +++ .../InternalNetworkPermeateServerVisitor.java | 6 +++ .../common/InternalNetworkPermeate.java | 12 ++++++ ...etworkServerPermeateServerRealServer.java} | 2 +- ...ternalNetworkServerPermeateServerConf.java | 31 +++++++++++++++ .../NettyServerPermeateServerRealFilter.java | 38 +++++++++++++++---- ...ettyServerPermeateServerVisitorFilter.java | 10 ++--- ...ttyServerPermeateServerVisitorHandler.java | 16 ++++---- ...ServerPermeateServerConnectRealSocket.java | 22 +++++------ ...verPermeateServerConnectVisitorSocket.java | 6 +-- 10 files changed, 113 insertions(+), 35 deletions(-) rename wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/{InternalNetworkPermeateRealServer.java => InternalNetworkServerPermeateServerRealServer.java} (90%) create mode 100644 wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/InternalNetworkServerPermeateServerConf.java diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkClientPermeateClientVisitor.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkClientPermeateClientVisitor.java index 1955d2c..14af1b1 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkClientPermeateClientVisitor.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkClientPermeateClientVisitor.java @@ -56,4 +56,9 @@ public class InternalNetworkClientPermeateClientVisitor implements InternalNetwo * 访客ID */ private String visitorId; + + /** + * 是否是ssl + */ + private boolean isSsl; } diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkPermeateServerVisitor.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkPermeateServerVisitor.java index 26563d3..2ae15b0 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkPermeateServerVisitor.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/InternalNetworkPermeateServerVisitor.java @@ -38,4 +38,10 @@ public class InternalNetworkPermeateServerVisitor implements InternalNetworkPerm */ private List handleChannelTypeAdvancedList; + + /** + * 是否是ssl + */ + private boolean isSsl; + } diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeate.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeate.java index 799f3b7..e87077e 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeate.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeate.java @@ -51,5 +51,17 @@ public interface InternalNetworkPermeate { */ void setVisitorPort(Integer visitorPort); + /** + * 是否是ssl + * + * @return + */ + boolean isSsl(); + + /** + * 设置ssl + */ + void setSsl(boolean ssl); + } \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeateRealServer.java b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkServerPermeateServerRealServer.java similarity index 90% rename from wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeateRealServer.java rename to wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkServerPermeateServerRealServer.java index 2245b68..eb16406 100644 --- a/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkPermeateRealServer.java +++ b/wu-lazy-cloud-heartbeat-common/src/main/java/org/framework/lazy/cloud/network/heartbeat/common/InternalNetworkServerPermeateServerRealServer.java @@ -13,7 +13,7 @@ import lombok.experimental.Accessors; @Builder @Data @Accessors(chain = true) -public class InternalNetworkPermeateRealServer { +public class InternalNetworkServerPermeateServerRealServer { diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/InternalNetworkServerPermeateServerConf.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/InternalNetworkServerPermeateServerConf.java new file mode 100644 index 0000000..b9db2e9 --- /dev/null +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/InternalNetworkServerPermeateServerConf.java @@ -0,0 +1,31 @@ +package org.framework.lazy.cloud.network.heartbeat.server.netty; + +import lombok.Data; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeate; + + +@Data +public class InternalNetworkServerPermeateServerConf implements InternalNetworkPermeate { + + /** + * 目标地址 + */ + private String targetIp; + + /** + * 目标端口 + */ + private Integer targetPort; + + + /** + * 访问端口 + */ + private Integer visitorPort; + + + /** + * 是否是ssl + */ + private boolean isSsl; +} diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerRealFilter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerRealFilter.java index 2235ede..25ec4c9 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerRealFilter.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerRealFilter.java @@ -3,12 +3,27 @@ package org.framework.lazy.cloud.network.heartbeat.server.netty.filter; import io.netty.channel.Channel; import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; +import io.netty.handler.ssl.SslContext; +import io.netty.handler.ssl.SslContextBuilder; +import io.netty.handler.ssl.util.InsecureTrustManagerFactory; +import lombok.extern.slf4j.Slf4j; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer; import org.framework.lazy.cloud.network.heartbeat.common.decoder.TransferDecoder; import org.framework.lazy.cloud.network.heartbeat.common.encoder.TransferEncoder; import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer; import org.framework.lazy.cloud.network.heartbeat.server.netty.handler.NettyServerPermeateServerRealHandler; +import java.net.URI; +import java.net.URISyntaxException; + +@Slf4j public class NettyServerPermeateServerRealFilter extends DebugChannelInitializer { + private final InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer; + + public NettyServerPermeateServerRealFilter(InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer) { + this.internalNetworkServerPermeateServerRealServer = internalNetworkServerPermeateServerRealServer; + } + /** * This method will be called once the {@link Channel} was registered. After the method returns this instance * will be removed from the {@link ChannelPipeline} of the {@link Channel}. @@ -18,14 +33,21 @@ public class NettyServerPermeateServerRealFilter extends DebugChannelInitializer @Override protected void initChannel0(SocketChannel ch) { ChannelPipeline pipeline = ch.pipeline(); -// // 适配https -// try { -// SslContext sslContext = SslContextBuilder.forClient() -// .trustManager(InsecureTrustManagerFactory.INSTANCE).build(); -// ch.pipeline().addLast(sslContext.newHandler(ch.alloc(), "https://juno.shuhan-juno.com", 443)); -// } catch (SSLException e) { -// throw new RuntimeException(e); -// } + Boolean isSsl = internalNetworkServerPermeateServerRealServer.getIsSsl(); + if(isSsl){ + log.info("init channel0 ssl"); + String targetIp = internalNetworkServerPermeateServerRealServer.getClientTargetIp(); + Integer targetPort = internalNetworkServerPermeateServerRealServer.getClientTargetPort(); + // 适配https + try { + SslContext sslContext = SslContextBuilder.forClient() + .trustManager(InsecureTrustManagerFactory.INSTANCE).build(); + pipeline.addLast("ssl", sslContext.newHandler(ch.alloc(),targetIp,targetPort)); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + // 解码、编码 pipeline.addLast(new TransferDecoder(Integer.MAX_VALUE, 1024 * 1024*10)); pipeline.addLast(new TransferEncoder()); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerVisitorFilter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerVisitorFilter.java index 580febd..5ec6792 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerVisitorFilter.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/NettyServerPermeateServerVisitorFilter.java @@ -5,17 +5,17 @@ import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; -import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer; import org.framework.lazy.cloud.network.heartbeat.server.netty.handler.NettyServerPermeateServerVisitorHandler; public class NettyServerPermeateServerVisitorFilter extends DebugChannelInitializer { - private final InternalNetworkPermeateRealServer internalNetworkPermeateRealServer; + private final InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer; private final ChannelFlowAdapter channelFlowAdapter; - public NettyServerPermeateServerVisitorFilter(InternalNetworkPermeateRealServer internalNetworkPermeateRealServer, ChannelFlowAdapter channelFlowAdapter) { - this.internalNetworkPermeateRealServer = internalNetworkPermeateRealServer; + public NettyServerPermeateServerVisitorFilter(InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer, ChannelFlowAdapter channelFlowAdapter) { + this.internalNetworkServerPermeateServerRealServer = internalNetworkServerPermeateServerRealServer; this.channelFlowAdapter = channelFlowAdapter; } @@ -32,6 +32,6 @@ public class NettyServerPermeateServerVisitorFilter extends DebugChannelInitiali protected void initChannel0(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); pipeline.addLast(new ChannelDuplexHandler()); - pipeline.addLast(new NettyServerPermeateServerVisitorHandler(internalNetworkPermeateRealServer, channelFlowAdapter)); + pipeline.addLast(new NettyServerPermeateServerVisitorHandler(internalNetworkServerPermeateServerRealServer, channelFlowAdapter)); } } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/handler/NettyServerPermeateServerVisitorHandler.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/handler/NettyServerPermeateServerVisitorHandler.java index 8dcf869..e254c71 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/handler/NettyServerPermeateServerVisitorHandler.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/handler/NettyServerPermeateServerVisitorHandler.java @@ -7,10 +7,11 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelOption; import io.netty.channel.SimpleChannelInboundHandler; import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; import org.framework.lazy.cloud.network.heartbeat.common.enums.ChannelFlowEnum; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; +import org.framework.lazy.cloud.network.heartbeat.server.netty.InternalNetworkServerPermeateServerConf; import org.framework.lazy.cloud.network.heartbeat.server.netty.flow.ServerChannelFlow; import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyServerPermeateServerConnectRealSocket; @@ -18,12 +19,12 @@ import java.util.UUID; @Slf4j public class NettyServerPermeateServerVisitorHandler extends SimpleChannelInboundHandler { - private final InternalNetworkPermeateRealServer internalNetworkPermeateRealServer; + private final InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer; private final ChannelFlowAdapter channelFlowAdapter;// 流量适配器 // private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10); - public NettyServerPermeateServerVisitorHandler(InternalNetworkPermeateRealServer internalNetworkPermeateRealServer, ChannelFlowAdapter channelFlowAdapter) { - this.internalNetworkPermeateRealServer = internalNetworkPermeateRealServer; + public NettyServerPermeateServerVisitorHandler(InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer, ChannelFlowAdapter channelFlowAdapter) { + this.internalNetworkServerPermeateServerRealServer = internalNetworkServerPermeateServerRealServer; this.channelFlowAdapter = channelFlowAdapter; } @@ -42,9 +43,10 @@ public class NettyServerPermeateServerVisitorHandler extends SimpleChannelInboun // 判断是否有可用的通道 如果没有创建新的通道 - log.info("开始准备绑定渗透真实通道: {}", internalNetworkPermeateRealServer.getVisitorPort()); + log.info("开始准备绑定渗透真实通道: {}", internalNetworkServerPermeateServerRealServer.getVisitorPort()); // 创建这是客户端通道池 - NettyServerPermeateServerConnectRealSocket.buildRealServer(internalNetworkPermeateRealServer, visitorChannel, visitorId); + + NettyServerPermeateServerConnectRealSocket.buildRealServer(internalNetworkServerPermeateServerRealServer, visitorChannel, visitorId); log.info("内网渗透 服务端访客端口连接成功了"); @@ -56,7 +58,7 @@ public class NettyServerPermeateServerVisitorHandler extends SimpleChannelInboun // 访客通道 Channel visitorChannel = ctx.channel(); - Integer visitorPort = internalNetworkPermeateRealServer.getVisitorPort(); + Integer visitorPort = internalNetworkServerPermeateServerRealServer.getVisitorPort(); byte[] bytes = new byte[buf.readableBytes()]; buf.readBytes(bytes); // 获取客户端通道,而后进行数据下发 diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectRealSocket.java index 48fa565..3c934e2 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectRealSocket.java @@ -6,7 +6,7 @@ import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer; import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils; import org.framework.lazy.cloud.network.heartbeat.server.netty.filter.NettyServerPermeateServerRealFilter; @@ -22,23 +22,23 @@ public class NettyServerPermeateServerConnectRealSocket { /** * 连接真实服务 * - * @param internalNetworkPermeateRealServer 访客信息 + * @param internalNetworkServerPermeateServerRealServer 访客信息 */ - public static void buildRealServer(InternalNetworkPermeateRealServer internalNetworkPermeateRealServer,Channel visitorChannel ,String visitorId) { - buildNewRealServer(internalNetworkPermeateRealServer,visitorChannel,visitorId); + public static void buildRealServer(InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer, Channel visitorChannel , String visitorId) { + buildNewRealServer(internalNetworkServerPermeateServerRealServer,visitorChannel,visitorId); } /** - * @param internalNetworkPermeateRealServer 访客信息 + * @param internalNetworkServerPermeateServerRealServer 访客信息 * @param visitorChannel * @param visitorId */ - private static void buildNewRealServer(InternalNetworkPermeateRealServer internalNetworkPermeateRealServer, + private static void buildNewRealServer(InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer, Channel visitorChannel, String visitorId) { try { - String clientTargetIp = internalNetworkPermeateRealServer.getClientTargetIp(); - Integer clientTargetPort = internalNetworkPermeateRealServer.getClientTargetPort(); - Integer visitorPort = internalNetworkPermeateRealServer.getVisitorPort(); + String clientTargetIp = internalNetworkServerPermeateServerRealServer.getClientTargetIp(); + Integer clientTargetPort = internalNetworkServerPermeateServerRealServer.getClientTargetPort(); + Integer visitorPort = internalNetworkServerPermeateServerRealServer.getVisitorPort(); Bootstrap bootstrap = new Bootstrap(); bootstrap.group(eventLoopGroup).channel(NioSocketChannel.class) // 设置读缓冲区为2M @@ -50,7 +50,7 @@ public class NettyServerPermeateServerConnectRealSocket { // .option(ChannelOption.SO_BACKLOG, 128)//务端接受连接的队列长度 默认128 // .option(ChannelOption.RCVBUF_ALLOCATOR, new NettyRecvByteBufAllocator(1024 * 1024))//用于Channel分配接受Buffer的分配器 默认AdaptiveRecvByteBufAllocator.DEFAULT .option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2)) - .handler(new NettyServerPermeateServerRealFilter()) + .handler(new NettyServerPermeateServerRealFilter(internalNetworkServerPermeateServerRealServer)) ; @@ -77,7 +77,7 @@ public class NettyServerPermeateServerConnectRealSocket { } else { log.error("服务端内网渗透 无法连接当前网络内的目标IP:【{}】,目标端口:【{}】", clientTargetIp, clientTargetPort); channelFuture.channel().eventLoop().schedule(() -> { - buildNewRealServer(internalNetworkPermeateRealServer, visitorChannel, visitorId); + buildNewRealServer(internalNetworkServerPermeateServerRealServer, visitorChannel, visitorId); }, 2, TimeUnit.SECONDS); } }); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectVisitorSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectVisitorSocket.java index 8b3b8c7..e32d66c 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectVisitorSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyServerPermeateServerConnectVisitorSocket.java @@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeateRealServer; +import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer; import org.framework.lazy.cloud.network.heartbeat.common.NettyPermeateVisitorContext; import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter; @@ -200,7 +200,7 @@ public class NettyServerPermeateServerConnectVisitorSocket { if (permeateVisitorPort == null) { throw new IllegalArgumentException("visitorPort must not null"); } - InternalNetworkPermeateRealServer internalNetworkPermeateRealServer = InternalNetworkPermeateRealServer + InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer = InternalNetworkServerPermeateServerRealServer .builder() .clientTargetIp(clientTargetIp) .clientTargetPort(clientTargetPort) @@ -208,7 +208,7 @@ public class NettyServerPermeateServerConnectVisitorSocket { .isSsl(isSsl) .build(); - NettyServerPermeateServerVisitorFilter nettyServerPermeateServerVisitorFilter = new NettyServerPermeateServerVisitorFilter(internalNetworkPermeateRealServer, channelFlowAdapter); + NettyServerPermeateServerVisitorFilter nettyServerPermeateServerVisitorFilter = new NettyServerPermeateServerVisitorFilter(internalNetworkServerPermeateServerRealServer, channelFlowAdapter); return new NettyServerPermeateServerConnectVisitorSocket(nettyServerPermeateServerVisitorFilter, permeateVisitorPort); }