[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);
// 创建访问者(内网穿透连接创建)
lazyServerPermeateClientMappingApplication.createVisitor(clientId);
lazyServerPermeateClientMappingApplication.createVisitor(serverId, clientId);
// 结束开启客户端:【{}】,端口映射
log.info("End opening client: [{}], port mapping", clientId);
}else {

View File

@@ -119,7 +119,7 @@ public class ServerHandleUdpClientConnectSuccessTypeAdvanced extends AbstractHan
// 开始开启客户端:【{}】,端口映射
log.info("Start opening client: [{}], port mapping", clientId);
// 创建访问者(内网穿透连接创建)
lazyServerPermeateClientMappingApplication.createVisitor(clientId);
lazyServerPermeateClientMappingApplication.createVisitor(serverId, clientId);
// 结束开启客户端:【{}】,端口映射
log.info("End opening client: [{}], port mapping", clientId);
}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.setIsDeleted(false);
String clientId = lazyNettyServerPermeateClientMapping.getClientId();
String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
// 创建访客通道池
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, clientTargetIp, clientTargetPort, visitorPort);
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, clientTargetIp, clientTargetPort, visitorPort);
return lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping);
}
@@ -93,12 +93,12 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Result<List<LazyNettyServerPermeateClientMapping>> batchStory = lazyNettyServerPermeateClientMappingRepository.batchStory(lazyNettyServerPermeateClientMappingList);
// 开启端口
for (LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping : lazyNettyServerPermeateClientMappingList) {
String clientId = lazyNettyServerPermeateClientMapping.getClientId();
String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
String namespace = lazyNettyServerPermeateClientMapping.getTargetNamespace();
this.changeSocket(namespace, clientId, clientTargetIp, clientTargetPort, visitorPort);
this.changeSocket(namespace, targetClientId, clientTargetIp, clientTargetPort, visitorPort);
}
return batchStory;
}
@@ -119,12 +119,12 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
// 删除绑定数据
Result<LazyNettyServerPermeateClientMapping> story = lazyNettyServerPermeateClientMappingRepository.story(lazyNettyServerPermeateClientMapping);
String clientId = lazyNettyServerPermeateClientMapping.getClientId();
String targetClientId = lazyNettyServerPermeateClientMapping.getTargetClientId();
String clientTargetIp = lazyNettyServerPermeateClientMapping.getClientTargetIp();
Integer clientTargetPort = lazyNettyServerPermeateClientMapping.getClientTargetPort();
Integer visitorPort = lazyNettyServerPermeateClientMapping.getVisitorPort();
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, clientTargetIp, clientTargetPort, visitorPort);
this.changeSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, clientTargetIp, clientTargetPort, visitorPort);
return story;
}
@@ -233,23 +233,25 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Result<LazyNettyServerPermeateClientMapping> remove = lazyNettyServerPermeateClientMappingRepository.remove(lazyNettyServerPermeateClientMapping);
// 删除端口映射
String clientId = lazyServerPermeateClientMappingRemoveCommand.getClientId();
String targetClientId = lazyServerPermeateClientMappingRemoveCommand.getTargetClientId();
Integer visitorPort = lazyServerPermeateClientMappingRemoveCommand.getVisitorPort();
this.changeCloseSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), clientId, visitorPort);
this.changeCloseSocket(lazyNettyServerPermeateClientMapping.getTargetNamespace(), targetClientId, visitorPort);
return remove;
}
/**
* 创建客户端的访问者
*
* @param clientId 客户端ID
* @param namespace
* @param clientId 客户端ID
*/
@Override
public Result<Void> createVisitor(String clientId) {
public Result<Void> createVisitor(String namespace, String clientId) {
// 查询代理信息
LazyNettyServerPermeateClientMapping lazyNettyServerPermeateClientMapping = new LazyNettyServerPermeateClientMapping();
lazyNettyServerPermeateClientMapping.setIsDeleted(false);
lazyNettyServerPermeateClientMapping.setClientId(clientId);
lazyNettyServerPermeateClientMapping.setTargetClientId(clientId);
lazyNettyServerPermeateClientMapping.setTargetNamespace(namespace);
return lazyNettyServerPermeateClientMappingRepository
.findList(lazyNettyServerPermeateClientMapping)
.applyOther(internalNetworkPenetrationMappings -> {
@@ -257,7 +259,6 @@ public class LazyServerPermeateClientMappingApplicationImpl implements LazyServe
Integer visitorPort = networkPenetrationMapping.getVisitorPort();
String clientTargetIp = networkPenetrationMapping.getClientTargetIp();
Integer clientTargetPort = networkPenetrationMapping.getClientTargetPort();
String namespace = networkPenetrationMapping.getTargetNamespace();
this.createVisitor(namespace, clientId, clientTargetIp, clientTargetPort, visitorPort);
}
return ResultFactory.successOf();