[add] 服务端渗透客户端优化

This commit is contained in:
wujiawei
2025-06-15 18:08:19 +08:00
parent ad1c5b1b36
commit bebb67395e
4 changed files with 18 additions and 16 deletions

View File

@@ -130,7 +130,7 @@ public class ServerHandleTcpClientConnectSuccessTypeAdvanced extends AbstractHan
// 开始开启客户端:【{}】,端口映射 // 开始开启客户端:【{}】,端口映射
log.info("Start opening client: [{}], port mapping", clientId); log.info("Start opening client: [{}], port mapping", clientId);
// 创建访问者(内网穿透连接创建) // 创建访问者(内网穿透连接创建)
lazyServerPermeateClientMappingApplication.createVisitor(clientId); lazyServerPermeateClientMappingApplication.createVisitor(serverId, clientId);
// 结束开启客户端:【{}】,端口映射 // 结束开启客户端:【{}】,端口映射
log.info("End opening client: [{}], port mapping", clientId); log.info("End opening client: [{}], port mapping", clientId);
}else { }else {

View File

@@ -119,7 +119,7 @@ public class ServerHandleUdpClientConnectSuccessTypeAdvanced extends AbstractHan
// 开始开启客户端:【{}】,端口映射 // 开始开启客户端:【{}】,端口映射
log.info("Start opening client: [{}], port mapping", clientId); log.info("Start opening client: [{}], port mapping", clientId);
// 创建访问者(内网穿透连接创建) // 创建访问者(内网穿透连接创建)
lazyServerPermeateClientMappingApplication.createVisitor(clientId); lazyServerPermeateClientMappingApplication.createVisitor(serverId, clientId);
// 结束开启客户端:【{}】,端口映射 // 结束开启客户端:【{}】,端口映射
log.info("End opening client: [{}], port mapping", clientId); log.info("End opening client: [{}], port mapping", clientId);
}else { }else {

View File

@@ -101,7 +101,8 @@ public interface LazyServerPermeateClientMappingApplication {
/** /**
* 创建客户端的访问者 * 创建客户端的访问者
* *
* @param clientId 客户端ID * @param namespace
* @param clientId 客户端ID
*/ */
Result<Void> createVisitor(String clientId); Result<Void> createVisitor(String namespace,String clientId);
} }

View File

@@ -58,14 +58,14 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping = LazyNettyServerPermeateClientMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyServerPermeateClientMappingStoryCommand); LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping = LazyNettyServerPermeateClientMappingDTOAssembler.INSTANCE.toInternalNetworkPenetrationMapping(lazyServerPermeateClientMappingStoryCommand);
lazyNettyServerPermeateClientMapping.setIsDeleted(false); lazyNettyServerPermeateClientMapping.setIsDeleted(false);
String clientId = lazyNettyServerPermeateClientMapping.getClientId(); String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp(); String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort(); Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort(); Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
// 创建访客通道池 // 创建访客通道池
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, clientTargetIp, clientTargetPort, visitorPort); this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, clientTargetIp, clientTargetPort, visitorPort);
return lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping); return lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping);
} }
@@ -93,12 +93,12 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Result<List<LazyNettyServerPermeateClientMapping>> batchStory = lazyNettyServerPermeateClientMappingRepository.batchStory(lazyNettyServerPermeateClientMappingList); Result<List<LazyNettyServerPermeateClientMapping>> batchStory = lazyNettyServerPermeateClientMappingRepository.batchStory(lazyNettyServerPermeateClientMappingList);
// 开启端口 // 开启端口
for (LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping : lazyNettyServerPermeateClientMappingList) { for (LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping : lazyNettyServerPermeateClientMappingList) {
String clientId = lazyNettyServerPermeateClientMapping.getClientId(); String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp(); String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort(); Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort(); Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
String namespace = lazyNettyServerPermeateClientMapping.getTargetNamespace(); String namespace = lazyNettyServerPermeateClientMapping.getTargetNamespace();
this.changeSocket(namespace, clientId, clientTargetIp, clientTargetPort, visitorPort); this.changeSocket(namespace, targetClientId, clientTargetIp, clientTargetPort, visitorPort);
} }
return batchStory; return batchStory;
} }
@@ -119,12 +119,12 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
// 删除绑定数据 // 删除绑定数据
Result<LazyNettyServerPermeateClientMapping> story = lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping); Result<LazyNettyServerPermeateClientMapping> story = lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping);
String clientId = lazyNettyServerPermeateClientMapping.getClientId(); String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp(); String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort(); Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort(); Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, clientTargetIp, clientTargetPort, visitorPort); this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, clientTargetIp, clientTargetPort, visitorPort);
return story; return story;
} }
@@ -233,23 +233,25 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Result<LazyNettyServerPermeateClientMapping> remove = lazyNettyServerPermeateClientMappingRepository.remove(lazyNettyServerPermeateClientMapping); Result<LazyNettyServerPermeateClientMapping> remove = lazyNettyServerPermeateClientMappingRepository.remove(lazyNettyServerPermeateClientMapping);
// 删除端口映射 // 删除端口映射
String clientId = lazyServerPermeateClientMappingRemoveCommand.getClientId(); String targetClientId = lazyServerPermeateClientMappingRemoveCommand.getTargetClientId();
Integer visitorPort = lazyServerPermeateClientMappingRemoveCommand.getVisitorPort(); Integer visitorPort = lazyServerPermeateClientMappingRemoveCommand.getVisitorPort();
this.changeCloseSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, visitorPort); this.changeCloseSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, visitorPort);
return remove; return remove;
} }
/** /**
* 创建客户端的访问者 * 创建客户端的访问者
* *
* @param clientId 客户端ID * @param namespace
* @param clientId 客户端ID
*/ */
@Override @Override
public Result<Void> createVisitor(String clientId) { public Result<Void> createVisitor(String namespace, String clientId) {
// 查询代理信息 // 查询代理信息
LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping = new LazyNettyServerPermeateClientMapping(); LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping = new LazyNettyServerPermeateClientMapping();
lazyNettyServerPermeateClientMapping.setIsDeleted(false); lazyNettyServerPermeateClientMapping.setIsDeleted(false);
lazyNettyServerPermeateClientMapping.setClientId(clientId); lazyNettyServerPermeateClientMapping.setTargetClientId(clientId);
lazyNettyServerPermeateClientMapping.setTargetNamespace(namespace);
return lazyNettyServerPermeateClientMappingRepository return lazyNettyServerPermeateClientMappingRepository
.findList(lazyNettyServerPermeateClientMapping) .findList(lazyNettyServerPermeateClientMapping)
.applyOther(internalNetworkPenetrationMappings -> { .applyOther(internalNetworkPenetrationMappings -> {
@@ -257,7 +259,6 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Integer visitorPort = networkPenetrationMapping.getVisitorPort(); Integer visitorPort = networkPenetrationMapping.getVisitorPort();
String clientTargetIp = networkPenetrationMapping.getClientTargetIp(); String clientTargetIp = networkPenetrationMapping.getClientTargetIp();
Integer clientTargetPort = networkPenetrationMapping.getClientTargetPort(); Integer clientTargetPort = networkPenetrationMapping.getClientTargetPort();
String namespace = networkPenetrationMapping.getTargetNamespace();
this.createVisitor(namespace, clientId, clientTargetIp, clientTargetPort, visitorPort); this.createVisitor(namespace, clientId, clientTargetIp, clientTargetPort, visitorPort);
} }
return ResultFactory.successOf(); return ResultFactory.successOf();