mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-16 18:35:05 +08:00
【fix】客户端渗透客户端编码
This commit is contained in:
@ -1,11 +1,12 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.impl;
|
||||
|
||||
import io.netty.channel.Channel;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.ChannelContext;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.MessageType;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||
import org.wu.framework.database.lazy.web.plus.stereotype.LazyApplication;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkClientPermeateClientMappingApplication;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.wu.framework.web.response.Result;
|
||||
import org.wu.framework.web.response.ResultFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.client.permeate.client.mapping.LazyInternalNetworkClientPermeateClientMapping;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.client.permeate.client.mapping.LazyInternalNetworkClientPermeateClientMappingRemoveCommand;
|
||||
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.client.permeate.client.mapping.LazyInternalNetworkClientPermeateClientMappingStoryCommand;
|
||||
@ -44,6 +45,9 @@ public class LazyInternalNetworkClientPermeateClientMappingApplicationImpl imple
|
||||
@Override
|
||||
public Result<LazyInternalNetworkClientPermeateClientMapping> story(LazyInternalNetworkClientPermeateClientMappingStoryCommand lazyInternalNetworkClientPermeateClientMappingStoryCommand) {
|
||||
LazyInternalNetworkClientPermeateClientMapping lazyInternalNetworkClientPermeateClientMapping = LazyInternalNetworkClientPermeateClientMappingDTOAssembler.INSTANCE.toLazyInternalNetworkClientPermeateClientMapping(lazyInternalNetworkClientPermeateClientMappingStoryCommand);
|
||||
// 下发客户端渗透客户端请求
|
||||
createClientPermeateClientSocketMessage(lazyInternalNetworkClientPermeateClientMapping);
|
||||
|
||||
return lazyInternalNetworkClientPermeateClientMappingRepository.story(lazyInternalNetworkClientPermeateClientMapping);
|
||||
}
|
||||
/**
|
||||
@ -59,6 +63,9 @@ public class LazyInternalNetworkClientPermeateClientMappingApplicationImpl imple
|
||||
@Override
|
||||
public Result<List<LazyInternalNetworkClientPermeateClientMapping>> batchStory(List<LazyInternalNetworkClientPermeateClientMappingStoryCommand> lazyInternalNetworkClientPermeateClientMappingStoryCommandList) {
|
||||
List<LazyInternalNetworkClientPermeateClientMapping> lazyInternalNetworkClientPermeateClientMappingList = lazyInternalNetworkClientPermeateClientMappingStoryCommandList.stream().map( LazyInternalNetworkClientPermeateClientMappingDTOAssembler.INSTANCE::toLazyInternalNetworkClientPermeateClientMapping).collect(Collectors.toList());
|
||||
for (LazyInternalNetworkClientPermeateClientMapping lazyInternalNetworkClientPermeateClientMapping : lazyInternalNetworkClientPermeateClientMappingList) {
|
||||
createClientPermeateClientSocketMessage(lazyInternalNetworkClientPermeateClientMapping);
|
||||
}
|
||||
return lazyInternalNetworkClientPermeateClientMappingRepository.batchStory(lazyInternalNetworkClientPermeateClientMappingList);
|
||||
}
|
||||
/**
|
||||
@ -74,6 +81,8 @@ public class LazyInternalNetworkClientPermeateClientMappingApplicationImpl imple
|
||||
@Override
|
||||
public Result<LazyInternalNetworkClientPermeateClientMapping> updateOne(LazyInternalNetworkClientPermeateClientMappingUpdateCommand lazyInternalNetworkClientPermeateClientMappingUpdateCommand) {
|
||||
LazyInternalNetworkClientPermeateClientMapping lazyInternalNetworkClientPermeateClientMapping = LazyInternalNetworkClientPermeateClientMappingDTOAssembler.INSTANCE.toLazyInternalNetworkClientPermeateClientMapping(lazyInternalNetworkClientPermeateClientMappingUpdateCommand);
|
||||
createClientPermeateClientSocketMessage(lazyInternalNetworkClientPermeateClientMapping);
|
||||
createClientPermeateClientSocketMessage(lazyInternalNetworkClientPermeateClientMapping);
|
||||
return lazyInternalNetworkClientPermeateClientMappingRepository.story(lazyInternalNetworkClientPermeateClientMapping);
|
||||
}
|
||||
|
||||
@ -141,4 +150,51 @@ public class LazyInternalNetworkClientPermeateClientMappingApplicationImpl imple
|
||||
return lazyInternalNetworkClientPermeateClientMappingRepository.remove(lazyInternalNetworkClientPermeateClientMapping);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭 客户端渗透客户端socket 消息
|
||||
*
|
||||
* @param lazyInternalNetworkClientPermeateClientMapping 客户端渗透客户端映射
|
||||
*/
|
||||
public void closeClientPermeateClientSocketMessage(LazyInternalNetworkClientPermeateClientMapping lazyInternalNetworkClientPermeateClientMapping){
|
||||
// 发送客户端初始化渗透
|
||||
String clientId = lazyInternalNetworkClientPermeateClientMapping.getFromClientId();
|
||||
ChannelContext.ClientChannel clientChannel = ChannelContext.get(clientId);
|
||||
if(clientChannel!=null && clientChannel.getChannel()!=null&&clientChannel.getChannel().isActive()){
|
||||
Channel channel = clientChannel.getChannel();
|
||||
String permeateTargetIp = lazyInternalNetworkClientPermeateClientMapping.getPermeateTargetIp();
|
||||
Integer permeateTargetPort = lazyInternalNetworkClientPermeateClientMapping.getPermeateTargetPort();
|
||||
Integer visitorPort = lazyInternalNetworkClientPermeateClientMapping.getVisitorPort();
|
||||
NettyProxyMsg nettyMsg = new NettyProxyMsg();
|
||||
nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_CLOSE);
|
||||
nettyMsg.setClientTargetIp(permeateTargetIp);
|
||||
nettyMsg.setClientTargetPort(permeateTargetPort);
|
||||
nettyMsg.setVisitorPort(visitorPort);
|
||||
channel.writeAndFlush(nettyMsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 客户端渗透客户端socket 消息
|
||||
*
|
||||
* @param lazyInternalNetworkClientPermeateClientMapping 客户端渗透客户端映射
|
||||
*/
|
||||
public void createClientPermeateClientSocketMessage(LazyInternalNetworkClientPermeateClientMapping lazyInternalNetworkClientPermeateClientMapping){
|
||||
// 发送客户端初始化渗透
|
||||
String fromClientId = lazyInternalNetworkClientPermeateClientMapping.getFromClientId();
|
||||
String toClientId = lazyInternalNetworkClientPermeateClientMapping.getToClientId();
|
||||
ChannelContext.ClientChannel clientChannel = ChannelContext.get(fromClientId);
|
||||
if(clientChannel!=null && clientChannel.getChannel()!=null&&clientChannel.getChannel().isActive()){
|
||||
Channel channel = clientChannel.getChannel();
|
||||
String permeateTargetIp = lazyInternalNetworkClientPermeateClientMapping.getPermeateTargetIp();
|
||||
Integer permeateTargetPort = lazyInternalNetworkClientPermeateClientMapping.getPermeateTargetPort();
|
||||
Integer visitorPort = lazyInternalNetworkClientPermeateClientMapping.getVisitorPort();
|
||||
NettyProxyMsg nettyMsg = new NettyProxyMsg();
|
||||
nettyMsg.setType(MessageType.DISTRIBUTE_CLIENT_PERMEATE_CLIENT_INIT);
|
||||
nettyMsg.setClientTargetIp(permeateTargetIp);
|
||||
nettyMsg.setClientTargetPort(permeateTargetPort);
|
||||
nettyMsg.setVisitorPort(visitorPort);
|
||||
nettyMsg.setClientId(toClientId);
|
||||
channel.writeAndFlush(nettyMsg);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user