mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-06 13:27:55 +08:00
[fix] 添加令牌密钥
This commit is contained in:
parent
89f9207367
commit
4977348113
@ -4,14 +4,13 @@ import lombok.Data;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeate;
|
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkPermeate;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter;
|
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
public class InternalNetworkPermeateServerVisitor implements InternalNetworkPermeate {
|
public class InternalNetworkClientPermeateServerVisitor implements InternalNetworkPermeate {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 目标地址
|
* 目标地址
|
@ -1,5 +1,6 @@
|
|||||||
package org.framework.lazy.cloud.network.heartbeat.client.netty.filter;
|
package org.framework.lazy.cloud.network.heartbeat.client.netty.filter;
|
||||||
|
|
||||||
|
import io.netty.buffer.UnpooledDirectByteBuf;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
|
@ -5,16 +5,16 @@ import io.netty.channel.ChannelDuplexHandler;
|
|||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import io.netty.channel.ChannelPipeline;
|
import io.netty.channel.ChannelPipeline;
|
||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.handler.NettyClientPermeateServerVisitorHandler;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.handler.NettyClientPermeateServerVisitorHandler;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
import org.framework.lazy.cloud.network.heartbeat.common.filter.DebugChannelInitializer;
|
||||||
|
|
||||||
public class NettyClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyClientPermeateServerVisitorFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
|
|
||||||
private final InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor;
|
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
||||||
|
|
||||||
public NettyClientPermeateServerVisitorFilter(InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor) {
|
public NettyClientPermeateServerVisitorFilter(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
||||||
this.internalNetworkPermeateServerVisitor = internalNetworkPermeateServerVisitor;
|
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,6 +31,6 @@ public class NettyClientPermeateServerVisitorFilter extends DebugChannelInitiali
|
|||||||
protected void initChannel0(SocketChannel ch) throws Exception {
|
protected void initChannel0(SocketChannel ch) throws Exception {
|
||||||
ChannelPipeline pipeline = ch.pipeline();
|
ChannelPipeline pipeline = ch.pipeline();
|
||||||
pipeline.addLast(new ChannelDuplexHandler());
|
pipeline.addLast(new ChannelDuplexHandler());
|
||||||
pipeline.addLast(new NettyClientPermeateServerVisitorHandler(internalNetworkPermeateServerVisitor));
|
pipeline.addLast(new NettyClientPermeateServerVisitorHandler(internalNetworkClientPermeateServerVisitor));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import io.netty.channel.ChannelOption;
|
|||||||
import io.netty.channel.SimpleChannelInboundHandler;
|
import io.netty.channel.SimpleChannelInboundHandler;
|
||||||
import io.netty.util.internal.StringUtil;
|
import io.netty.util.internal.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.advanced.ClientHandleDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.advanced.ClientHandleDistributeClientTransferServerPermeateChannelConnectionSuccessfulTypeAdvanced;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.socket.NettyClientPermeateServerVisitorTransferSocket;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.socket.NettyClientPermeateServerVisitorTransferSocket;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.MessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.MessageType;
|
||||||
@ -19,11 +19,11 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
public class NettyClientPermeateServerVisitorHandler extends SimpleChannelInboundHandler<ByteBuf> {
|
||||||
private final InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor;
|
private final InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor;
|
||||||
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
// private final NettyChannelPool nettyChannelPool = new DefaultNettyChannelPool(10);
|
||||||
|
|
||||||
public NettyClientPermeateServerVisitorHandler(InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor) {
|
public NettyClientPermeateServerVisitorHandler(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor) {
|
||||||
this.internalNetworkPermeateServerVisitor = internalNetworkPermeateServerVisitor;
|
this.internalNetworkClientPermeateServerVisitor = internalNetworkClientPermeateServerVisitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -41,14 +41,14 @@ public class NettyClientPermeateServerVisitorHandler extends SimpleChannelInboun
|
|||||||
|
|
||||||
// 生成访客ID
|
// 生成访客ID
|
||||||
String visitorId = UUID.randomUUID().toString();
|
String visitorId = UUID.randomUUID().toString();
|
||||||
Integer visitorPort = internalNetworkPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
log.info("this channel with visitor port:{} use visitorId:{}", visitorPort, visitorId);
|
||||||
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
ChannelAttributeKeyUtils.buildVisitorId(visitorChannel, visitorId);
|
||||||
// 判断是否有可用的通道 如果没有创建新的通道
|
// 判断是否有可用的通道 如果没有创建新的通道
|
||||||
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
// Channel transferChannel = nettyChannelPool.availableChannel(visitorId);
|
||||||
// 创建访客连接服务端通道
|
// 创建访客连接服务端通道
|
||||||
NettyClientPermeateServerVisitorTransferSocket.buildTransferServer(internalNetworkPermeateServerVisitor,visitorChannel);
|
NettyClientPermeateServerVisitorTransferSocket.buildTransferServer(internalNetworkClientPermeateServerVisitor,visitorChannel);
|
||||||
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
log.debug("客户端渗透服务端访客端口连接成功了,访客ID:{}", visitorId);
|
||||||
super.channelActive(ctx);
|
super.channelActive(ctx);
|
||||||
}
|
}
|
||||||
@ -67,8 +67,8 @@ public class NettyClientPermeateServerVisitorHandler extends SimpleChannelInboun
|
|||||||
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
log.debug("【客户端渗透服务端】访客端口成功接收数据:{}", new String(bytes));
|
||||||
|
|
||||||
// 使用访客的通信通道
|
// 使用访客的通信通道
|
||||||
Integer visitorPort = internalNetworkPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
||||||
String clientId = internalNetworkPermeateServerVisitor.getNettyClientProperties().getClientId();
|
String clientId = internalNetworkClientPermeateServerVisitor.getNettyClientProperties().getClientId();
|
||||||
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
NettyProxyMsg nettyProxyMsg = new NettyProxyMsg();
|
||||||
nettyProxyMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
nettyProxyMsg.setType(MessageType.REPORT_CLIENT_PERMEATE_SERVER_TRANSFER);
|
||||||
nettyProxyMsg.setVisitorId(visitorId);
|
nettyProxyMsg.setVisitorId(visitorId);
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.filter.NettyClientPermeateServerVisitorFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.filter.NettyClientPermeateServerVisitorFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyClientVisitorContext;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
|
||||||
@ -216,16 +216,16 @@ public class NettyClientPermeateServerVisitorSocket implements PermeateVisitorSo
|
|||||||
if (visitorPort == null) {
|
if (visitorPort == null) {
|
||||||
throw new IllegalArgumentException("visitorPort must not null");
|
throw new IllegalArgumentException("visitorPort must not null");
|
||||||
}
|
}
|
||||||
InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor = new InternalNetworkPermeateServerVisitor();
|
InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor = new InternalNetworkClientPermeateServerVisitor();
|
||||||
|
|
||||||
internalNetworkPermeateServerVisitor.setTargetIp(clientTargetIp);
|
internalNetworkClientPermeateServerVisitor.setTargetIp(clientTargetIp);
|
||||||
internalNetworkPermeateServerVisitor.setTargetPort(clientTargetPort);
|
internalNetworkClientPermeateServerVisitor.setTargetPort(clientTargetPort);
|
||||||
internalNetworkPermeateServerVisitor.setVisitorPort(visitorPort);
|
internalNetworkClientPermeateServerVisitor.setVisitorPort(visitorPort);
|
||||||
internalNetworkPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
internalNetworkClientPermeateServerVisitor.setNettyClientProperties(nettyClientProperties);
|
||||||
internalNetworkPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
internalNetworkClientPermeateServerVisitor.setHandleChannelTypeAdvancedList(handleChannelTypeAdvancedList);
|
||||||
|
|
||||||
|
|
||||||
NettyClientPermeateServerVisitorFilter nettyClientPermeateServerVisitorFilter = new NettyClientPermeateServerVisitorFilter(internalNetworkPermeateServerVisitor);
|
NettyClientPermeateServerVisitorFilter nettyClientPermeateServerVisitorFilter = new NettyClientPermeateServerVisitorFilter(internalNetworkClientPermeateServerVisitor);
|
||||||
return new NettyClientPermeateServerVisitorSocket(nettyClientPermeateServerVisitorFilter, clientId, visitorPort);
|
return new NettyClientPermeateServerVisitorSocket(nettyClientPermeateServerVisitorFilter, clientId, visitorPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import io.netty.channel.nio.NioEventLoopGroup;
|
|||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
import org.framework.lazy.cloud.network.heartbeat.client.config.NettyClientProperties;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkPermeateServerVisitor;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.InternalNetworkClientPermeateServerVisitor;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.client.netty.filter.NettyClientPermeateServerTransferFilter;
|
import org.framework.lazy.cloud.network.heartbeat.client.netty.filter.NettyClientPermeateServerTransferFilter;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.MessageType;
|
import org.framework.lazy.cloud.network.heartbeat.common.MessageType;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||||
@ -26,9 +26,9 @@ public class NettyClientPermeateServerVisitorTransferSocket {
|
|||||||
/**
|
/**
|
||||||
* 连接服务端通信通道
|
* 连接服务端通信通道
|
||||||
* <p>
|
* <p>
|
||||||
* internalNetworkPermeateServerVisitor
|
* internalNetworkClientPermeateServerVisitor
|
||||||
*/
|
*/
|
||||||
public static void buildTransferServer(InternalNetworkPermeateServerVisitor internalNetworkPermeateServerVisitor, Channel visitorChannel) {
|
public static void buildTransferServer(InternalNetworkClientPermeateServerVisitor internalNetworkClientPermeateServerVisitor, Channel visitorChannel) {
|
||||||
|
|
||||||
Bootstrap bootstrap = new Bootstrap();
|
Bootstrap bootstrap = new Bootstrap();
|
||||||
bootstrap.group(eventLoopGroup)
|
bootstrap.group(eventLoopGroup)
|
||||||
@ -45,20 +45,20 @@ public class NettyClientPermeateServerVisitorTransferSocket {
|
|||||||
|
|
||||||
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
.option(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2))
|
||||||
|
|
||||||
.handler(new NettyClientPermeateServerTransferFilter(new ChannelTypeAdapter(internalNetworkPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
.handler(new NettyClientPermeateServerTransferFilter(new ChannelTypeAdapter(internalNetworkClientPermeateServerVisitor.getHandleChannelTypeAdvancedList())))
|
||||||
;
|
;
|
||||||
NettyClientProperties nettyClientProperties = internalNetworkPermeateServerVisitor.getNettyClientProperties();
|
NettyClientProperties nettyClientProperties = internalNetworkClientPermeateServerVisitor.getNettyClientProperties();
|
||||||
String inetHost = nettyClientProperties.getInetHost();
|
String inetHost = nettyClientProperties.getInetHost();
|
||||||
int inetPort = nettyClientProperties.getInetPort();
|
int inetPort = nettyClientProperties.getInetPort();
|
||||||
// local client id
|
// local client id
|
||||||
|
|
||||||
String clientId = nettyClientProperties.getClientId();
|
String clientId = nettyClientProperties.getClientId();
|
||||||
|
|
||||||
String targetIp = internalNetworkPermeateServerVisitor.getTargetIp();
|
String targetIp = internalNetworkClientPermeateServerVisitor.getTargetIp();
|
||||||
Integer targetPort = internalNetworkPermeateServerVisitor.getTargetPort();
|
Integer targetPort = internalNetworkClientPermeateServerVisitor.getTargetPort();
|
||||||
|
|
||||||
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
String visitorId = ChannelAttributeKeyUtils.getVisitorId(visitorChannel);
|
||||||
Integer visitorPort = internalNetworkPermeateServerVisitor.getVisitorPort();
|
Integer visitorPort = internalNetworkClientPermeateServerVisitor.getVisitorPort();
|
||||||
|
|
||||||
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
// 客户端新建访客通道 连接服务端IP:{},连接服务端端口:{}
|
||||||
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
log.debug("Client creates a new visitor channel to connect to server IP: {}, connecting to server port: {}", inetHost, inetPort);
|
||||||
@ -89,7 +89,7 @@ public class NettyClientPermeateServerVisitorTransferSocket {
|
|||||||
log.warn("客户端渗透服务端通信通道中断....");
|
log.warn("客户端渗透服务端通信通道中断....");
|
||||||
transferChannel.eventLoop().schedule(() -> {
|
transferChannel.eventLoop().schedule(() -> {
|
||||||
try {
|
try {
|
||||||
buildTransferServer(internalNetworkPermeateServerVisitor, visitorChannel);
|
buildTransferServer(internalNetworkClientPermeateServerVisitor, visitorChannel);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ import io.netty.channel.ChannelPipeline;
|
|||||||
import io.netty.channel.socket.SocketChannel;
|
import io.netty.channel.socket.SocketChannel;
|
||||||
import io.netty.handler.ssl.SslContext;
|
import io.netty.handler.ssl.SslContext;
|
||||||
import io.netty.handler.ssl.SslContextBuilder;
|
import io.netty.handler.ssl.SslContextBuilder;
|
||||||
import io.netty.handler.ssl.SslHandler;
|
|
||||||
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
|
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer;
|
import org.framework.lazy.cloud.network.heartbeat.common.InternalNetworkServerPermeateServerRealServer;
|
||||||
@ -14,9 +13,6 @@ 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.common.filter.DebugChannelInitializer;
|
||||||
import org.framework.lazy.cloud.network.heartbeat.server.netty.handler.NettyServerPermeateServerRealHandler;
|
import org.framework.lazy.cloud.network.heartbeat.server.netty.handler.NettyServerPermeateServerRealHandler;
|
||||||
|
|
||||||
import javax.net.ssl.SSLContext;
|
|
||||||
import javax.net.ssl.SSLEngine;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class NettyServerPermeateServerRealFilter extends DebugChannelInitializer<SocketChannel> {
|
public class NettyServerPermeateServerRealFilter extends DebugChannelInitializer<SocketChannel> {
|
||||||
private final InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer;
|
private final InternalNetworkServerPermeateServerRealServer internalNetworkServerPermeateServerRealServer;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user