This commit is contained in:
wujiawei 2024-10-07 22:19:05 +08:00
parent 8dc1272109
commit 67c2537823
6 changed files with 40 additions and 41 deletions

View File

@ -1,15 +1,13 @@
package org.framework.lazy.cloud.network.heartbeat.common;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
/**
* 渗透端口对应访客上下文
*/
public class NettyPermeateVisitorContext {
public class NettyServerPermeateServerVisitorContext {
protected static final ConcurrentHashMap<Integer/*permeatePort*/, Object/*NettyPermeateVisitorSocket*/> PERMEATE_VISITOR_SOCKET = new ConcurrentHashMap<>();
protected static final ConcurrentHashMap<Integer/*permeatePort*/, Object/*NettyServerPermeateServerVisitorSocket*/> PERMEATE_VISITOR_SOCKET = new ConcurrentHashMap<>();
/**
@ -18,7 +16,7 @@ public class NettyPermeateVisitorContext {
* @param permeatePort 渗透端口
* @param permeateVisitorSocket 渗透访客socket
*/
public static <T> void pushPermeateVisitorSocket(Integer permeatePort, T permeateVisitorSocket) {
public static <T> void pushServerPermeateServerVisitorSocket(Integer permeatePort, T permeateVisitorSocket) {
PERMEATE_VISITOR_SOCKET.put(permeatePort, permeateVisitorSocket);
}
@ -30,7 +28,7 @@ public class NettyPermeateVisitorContext {
* @param permeatePort 渗透端口
* @return 访客
*/
public static <T> T getPermeateVisitorSocket(Integer permeatePort) {
public static <T> T getServerPermeateServerVisitorSocket(Integer permeatePort) {
return (T) PERMEATE_VISITOR_SOCKET.getOrDefault(permeatePort, null);
}
/**
@ -38,7 +36,7 @@ public class NettyPermeateVisitorContext {
*
* @param permeatePort 渗透端口
*/
public static void removePermeateVisitorSockets(Integer permeatePort) {
public static void removeServerPermeateServerVisitorSockets(Integer permeatePort) {
PERMEATE_VISITOR_SOCKET.remove(permeatePort);
}

View File

@ -1,7 +1,7 @@
package org.framework.lazy.cloud.network.heartbeat.server.init;
import lombok.extern.slf4j.Slf4j;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateServerMappingApplication;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Configuration;
@ -11,16 +11,16 @@ import org.springframework.context.annotation.Configuration;
@Slf4j
@Configuration
public class InitServerPermeateSocket implements CommandLineRunner {
private final LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication;
private final LazyInternalNetworkServerPermeateServerMappingApplication lazyInternalNetworkServerPermeateServerMappingApplication;
public InitServerPermeateSocket(LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication) {
this.lazyInternalNetworkServerPermeateMappingApplication = lazyInternalNetworkServerPermeateMappingApplication;
public InitServerPermeateSocket(LazyInternalNetworkServerPermeateServerMappingApplication lazyInternalNetworkServerPermeateServerMappingApplication) {
this.lazyInternalNetworkServerPermeateServerMappingApplication = lazyInternalNetworkServerPermeateServerMappingApplication;
}
@Override
public void run(String... args) throws Exception {
try {
lazyInternalNetworkServerPermeateMappingApplication.initPermeateSocket();
lazyInternalNetworkServerPermeateServerMappingApplication.initPermeateSocket();
} catch (Exception e) {
e.printStackTrace();
}

View File

@ -8,7 +8,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
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.NettyServerPermeateServerVisitorContext;
import org.framework.lazy.cloud.network.heartbeat.common.NettyVisitorPortContext;
import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter;
import org.framework.lazy.cloud.network.heartbeat.server.netty.filter.NettyServerPermeateServerVisitorFilter;
@ -42,7 +42,7 @@ public class NettyServerPermeateServerConnectVisitorSocket {
*/
public void start() throws Exception {
NettyServerPermeateServerConnectVisitorSocket nettyServerPermeateServerConnectVisitorSocket = NettyPermeateVisitorContext.getPermeateVisitorSocket(visitorPort);
NettyServerPermeateServerConnectVisitorSocket nettyServerPermeateServerConnectVisitorSocket = NettyServerPermeateServerVisitorContext.getServerPermeateServerVisitorSocket(visitorPort);
if (nettyServerPermeateServerConnectVisitorSocket == null) {
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap
@ -74,7 +74,7 @@ public class NettyServerPermeateServerConnectVisitorSocket {
log.error("内网渗透服务端端口:[{}] 开启失败", visitorPort);
}
});
NettyPermeateVisitorContext.pushPermeateVisitorSocket(visitorPort,this);
NettyServerPermeateServerVisitorContext.pushServerPermeateServerVisitorSocket(visitorPort,this);
} else {
log.warn("内网渗透服务端端口:[{}] 重复启动", visitorPort);
@ -93,7 +93,7 @@ public class NettyServerPermeateServerConnectVisitorSocket {
if (visitor != null) {
// close channel
visitor.close();
NettyPermeateVisitorContext.removePermeateVisitorSockets(visitorPort);
NettyServerPermeateServerVisitorContext.removeServerPermeateServerVisitorSockets(visitorPort);
// log.warn("关闭客户端 :【{}】 访客户端口:【{}】", clientId, visitorPort);
} else {
log.warn("关闭内网渗透端口失败 渗透端口:【{}】", visitorPort);

View File

@ -14,7 +14,7 @@ import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage;
* @see org.wu.framework.lazy.orm.core.persistence.reverse.lazy.ddd.DefaultDDDLazyApplication
**/
public interface LazyInternalNetworkServerPermeateMappingApplication {
public interface LazyInternalNetworkServerPermeateServerMappingApplication {
/**

View File

@ -2,11 +2,11 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.application
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.framework.lazy.cloud.network.heartbeat.common.NettyPermeateVisitorContext;
import org.framework.lazy.cloud.network.heartbeat.common.NettyServerPermeateServerVisitorContext;
import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelFlowAdapter;
import org.framework.lazy.cloud.network.heartbeat.server.netty.socket.NettyServerPermeateServerConnectVisitorSocket;
import org.framework.lazy.cloud.network.heartbeat.server.properties.ServerNodeProperties;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateServerMappingApplication;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.assembler.LazyInternalNetworkServerPermeateServerMappingDTOAssembler;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.netty.server.permeate.server.mapping.*;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO;
@ -30,7 +30,7 @@ import java.util.stream.Collectors;
**/
@Slf4j
@LazyApplication
public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements LazyInternalNetworkServerPermeateMappingApplication {
public class LazyInternalNetworkServerPermeateServerMappingApplicationImpl implements LazyInternalNetworkServerPermeateServerMappingApplication {
@Resource
LazyInternalNetworkServerPermeateServerMappingRepository lazyInternalNetworkServerPermeateServerMappingRepository;
@ -60,7 +60,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
Integer permeateTargetPort = lazyInternalNetworkServerPermeateServerMapping.getPermeateTargetPort();
Integer visitorPort = lazyInternalNetworkServerPermeateServerMapping.getVisitorPort();
Boolean isSsl = lazyInternalNetworkServerPermeateServerMapping.getIsSsl();
this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
this.changeServerPermeateServerSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
return lazyInternalNetworkServerPermeateServerMappingRepository.story(lazyInternalNetworkServerPermeateServerMapping);
}
@ -84,7 +84,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
Integer permeateTargetPort = lazyInternalNetworkServerPermeateServerMapping.getPermeateTargetPort();
Integer visitorPort = lazyInternalNetworkServerPermeateServerMapping.getVisitorPort();
Boolean isSsl = lazyInternalNetworkServerPermeateServerMapping.getIsSsl();
this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
this.changeServerPermeateServerSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
}
return lazyInternalNetworkServerPermeateServerMappingRepository.batchStory(lazyInternalNetworkServerPermeateServerMappingList);
}
@ -108,7 +108,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
Integer permeateTargetPort = lazyInternalNetworkServerPermeateServerMapping.getPermeateTargetPort();
Integer visitorPort = lazyInternalNetworkServerPermeateServerMapping.getVisitorPort();
Boolean isSsl = lazyInternalNetworkServerPermeateServerMapping.getIsSsl();
this.changePermeateSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
this.changeServerPermeateServerSocket(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
return lazyInternalNetworkServerPermeateServerMappingRepository.story(lazyInternalNetworkServerPermeateServerMapping);
}
@ -171,7 +171,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
LazyInternalNetworkServerPermeateServerMapping lazyInternalNetworkServerPermeateServerMapping = LazyInternalNetworkServerPermeateServerMappingDTOAssembler.INSTANCE.toLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateServerMappingRemoveCommand);
// 开启端口
Integer visitorPort = lazyInternalNetworkServerPermeateServerMapping.getVisitorPort();
this.closePermeateSocket(visitorPort);
this.closeServerPermeateServerSocket(visitorPort);
return lazyInternalNetworkServerPermeateServerMappingRepository.remove(lazyInternalNetworkServerPermeateServerMapping);
}
@ -194,7 +194,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
Integer visitorPort = internalNetworkServerPermeateMapping.getVisitorPort();
Boolean isSsl = internalNetworkServerPermeateMapping.getIsSsl();
log.info("init permeate socket ip:{}, port:{},visitorPort:{}", permeateTargetIp, permeateTargetPort, visitorPort);
this.createPermeateVisitor(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
this.createServerPermeateServerVisitor(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
}
});
@ -207,11 +207,11 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
* @param permeateTargetPort 客户端莫表端口
* @param visitorPort 访客端口
*/
private void changePermeateSocket(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort, Boolean isSsl) {
private void changeServerPermeateServerSocket(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort, Boolean isSsl) {
// 删除 客户端映射
this.closePermeateSocket(visitorPort);
this.closeServerPermeateServerSocket(visitorPort);
// 更新 客户端映射
createPermeateVisitor(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
createServerPermeateServerVisitor(permeateTargetIp, permeateTargetPort, visitorPort,isSsl);
}
@ -220,13 +220,14 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
*
* @param visitorPort 访客端口
*/
private void closePermeateSocket(Integer visitorPort) {
private void closeServerPermeateServerSocket(Integer visitorPort) {
// 删除 客户端映射
NettyServerPermeateServerConnectVisitorSocket nettyServerPermeateServerConnectVisitorSocket = NettyPermeateVisitorContext.getPermeateVisitorSocket(visitorPort);
NettyServerPermeateServerConnectVisitorSocket nettyServerPermeateServerConnectVisitorSocket = NettyServerPermeateServerVisitorContext.getServerPermeateServerVisitorSocket(visitorPort);
if (!ObjectUtils.isEmpty(nettyServerPermeateServerConnectVisitorSocket)) {
// 关闭端口
try {
nettyServerPermeateServerConnectVisitorSocket.close();
NettyServerPermeateServerVisitorContext.removeServerPermeateServerVisitorSockets(visitorPort);
} catch (IOException | InterruptedException e) {
throw new RuntimeException(e);
}
@ -240,7 +241,7 @@ public class LazyInternalNetworkServerPermeateMappingApplicationImpl implements
* @param permeateTargetPort 客户端目标端口
* @param visitorPort 访客端口
*/
private void createPermeateVisitor(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort, Boolean isSsl) {
private void createServerPermeateServerVisitor(String permeateTargetIp, Integer permeateTargetPort, Integer visitorPort, Boolean isSsl) {
// 更新 客户端映射
NettyServerPermeateServerConnectVisitorSocket nettyServerPermeateServerConnectVisitorSocket = NettyServerPermeateServerConnectVisitorSocket.NettyPermeateVisitorSocketBuilder
.builder()

View File

@ -9,7 +9,7 @@ import org.wu.framework.web.spring.EasyController;
import org.springframework.web.bind.annotation.*;
import org.wu.framework.web.response.Result;
import jakarta.annotation.Resource;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateMappingApplication;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.LazyInternalNetworkServerPermeateServerMappingApplication;
import org.framework.lazy.cloud.network.heartbeat.server.standalone.application.dto.LazyInternalNetworkServerPermeateMappingDTO;
import java.util.List;
import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage;
@ -22,10 +22,10 @@ import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage;
**/
@Tag(name = "服务端网络渗透映射提供者")
@EasyController("/lazy/internal/network/server/permeate/mapping")
public class LazyInternalNetworkServerPermeateMappingProvider {
public class LazyInternalNetworkServerPermeateServerMappingProvider {
@Resource
private LazyInternalNetworkServerPermeateMappingApplication lazyInternalNetworkServerPermeateMappingApplication;
private LazyInternalNetworkServerPermeateServerMappingApplication lazyInternalNetworkServerPermeateServerMappingApplication;
/**
* describe 新增服务端网络渗透映射
@ -40,7 +40,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "新增服务端网络渗透映射")
@PostMapping("/story")
public Result<LazyInternalNetworkServerPermeateServerMapping> story(@RequestBody LazyInternalNetworkServerPermeateServerMappingStoryCommand lazyInternalNetworkServerPermeateServerMappingStoryCommand){
return lazyInternalNetworkServerPermeateMappingApplication.story(lazyInternalNetworkServerPermeateServerMappingStoryCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.story(lazyInternalNetworkServerPermeateServerMappingStoryCommand);
}
/**
* describe 批量新增服务端网络渗透映射
@ -55,7 +55,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "批量新增服务端网络渗透映射")
@PostMapping("/batchStory")
public Result<List<LazyInternalNetworkServerPermeateServerMapping>> batchStory(@RequestBody List<LazyInternalNetworkServerPermeateServerMappingStoryCommand> lazyInternalNetworkServerPermeateServerMappingStoryCommandList){
return lazyInternalNetworkServerPermeateMappingApplication.batchStory(lazyInternalNetworkServerPermeateServerMappingStoryCommandList);
return lazyInternalNetworkServerPermeateServerMappingApplication.batchStory(lazyInternalNetworkServerPermeateServerMappingStoryCommandList);
}
/**
* describe 更新服务端网络渗透映射
@ -70,7 +70,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "更新服务端网络渗透映射")
@PutMapping("/updateOne")
public Result<LazyInternalNetworkServerPermeateServerMapping> updateOne(@RequestBody LazyInternalNetworkServerPermeateServerMappingUpdateCommand lazyInternalNetworkServerPermeateServerMappingUpdateCommand){
return lazyInternalNetworkServerPermeateMappingApplication.updateOne(lazyInternalNetworkServerPermeateServerMappingUpdateCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.updateOne(lazyInternalNetworkServerPermeateServerMappingUpdateCommand);
}
/**
* describe 查询单个服务端网络渗透映射
@ -85,7 +85,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "查询单个服务端网络渗透映射")
@GetMapping("/findOne")
public Result<LazyInternalNetworkServerPermeateMappingDTO> findOne(@ModelAttribute LazyInternalNetworkServerPermeateServerMappingQueryOneCommand lazyInternalNetworkServerPermeateServerMappingQueryOneCommand){
return lazyInternalNetworkServerPermeateMappingApplication.findOne(lazyInternalNetworkServerPermeateServerMappingQueryOneCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.findOne(lazyInternalNetworkServerPermeateServerMappingQueryOneCommand);
}
/**
* describe 查询多个服务端网络渗透映射
@ -100,7 +100,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "查询多个服务端网络渗透映射")
@GetMapping("/findList")
public Result<List<LazyInternalNetworkServerPermeateMappingDTO>> findList(@ModelAttribute LazyInternalNetworkServerPermeateServerMappingQueryListCommand lazyInternalNetworkServerPermeateServerMappingQueryListCommand){
return lazyInternalNetworkServerPermeateMappingApplication.findList(lazyInternalNetworkServerPermeateServerMappingQueryListCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.findList(lazyInternalNetworkServerPermeateServerMappingQueryListCommand);
}
/**
* describe 分页查询多个服务端网络渗透映射
@ -116,7 +116,7 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@GetMapping("/findPage")
public Result<LazyPage<LazyInternalNetworkServerPermeateMappingDTO>> findPage(@Parameter(description ="分页大小") @RequestParam(defaultValue = "10", value = "size") int size,
@Parameter(description ="当前页数") @RequestParam(defaultValue = "1", value = "current") int current,@ModelAttribute LazyInternalNetworkServerPermeateServerMappingQueryListCommand lazyInternalNetworkServerPermeateServerMappingQueryListCommand){
return lazyInternalNetworkServerPermeateMappingApplication.findPage(size,current, lazyInternalNetworkServerPermeateServerMappingQueryListCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.findPage(size,current, lazyInternalNetworkServerPermeateServerMappingQueryListCommand);
}
/**
* describe 删除服务端网络渗透映射
@ -131,6 +131,6 @@ public class LazyInternalNetworkServerPermeateMappingProvider {
@Operation(summary = "删除服务端网络渗透映射")
@DeleteMapping("/remove")
public Result<LazyInternalNetworkServerPermeateServerMapping> remove(@ModelAttribute LazyInternalNetworkServerPermeateServerMappingRemoveCommand lazyInternalNetworkServerPermeateServerMappingRemoveCommand){
return lazyInternalNetworkServerPermeateMappingApplication.remove(lazyInternalNetworkServerPermeateServerMappingRemoveCommand);
return lazyInternalNetworkServerPermeateServerMappingApplication.remove(lazyInternalNetworkServerPermeateServerMappingRemoveCommand);
}
}