From 2683bb4dee0479b7d2cac728f84bb7d471dee7de Mon Sep 17 00:00:00 2001 From: wujiawei <1207537021@qq.com> Date: Tue, 17 Sep 2024 20:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=E3=80=91=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=80=9A=E4=BF=A1=E5=A4=B1=E8=B4=A5=E5=8E=9F=E5=9B=A0=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E4=BD=BF=E7=94=A8=20ByteBuf=E6=A0=BC=E5=BC=8F=20?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=95=B0=E6=8D=AE=20ByteBuf=20realBuf=20=3D?= =?UTF-8?q?=20nextChannel.config().getAllocator().buffer(bytes.length);=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20realBuf.writeBytes(bytes);?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/NettyClientVisitorRealHandler.java | 10 +++++----- .../handler/PermeateClientRealHandler.java | 7 ++++++- .../netty/handler/PermeateVisitorHandler.java | 8 +++++++- .../socket/NettyPermeateClientRealSocket.java | 4 ++-- ...workServerPermeateMappingRemoveCommand.java | 3 +++ ...orkServerPermeateMappingRepositoryImpl.java | 18 +++++++++--------- ...tyClientPermeatePortPoolRepositoryImpl.java | 18 +++++++++--------- ...tyServerPermeatePortPoolRepositoryImpl.java | 18 +++++++++--------- .../src/main/resources/application-dev.yml | 6 +++--- 9 files changed, 53 insertions(+), 39 deletions(-) diff --git a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java index fe3eb3e..488b794 100644 --- a/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java +++ b/wu-lazy-cloud-heartbeat-client/src/main/java/org/framework/lazy/cloud/network/heartbeat/client/netty/handler/NettyClientVisitorRealHandler.java @@ -22,6 +22,11 @@ public class NettyClientVisitorRealHandler extends SimpleChannelInboundHandler Channel nextChannel = ChannelAttributeKeyUtils.getNextChannel(visitorChannel); // 下一个通道开启自动读写 + log.info("write data to channelId:{}",nextChannel.id().asLongText()); nextChannel.config().setOption(ChannelOption.AUTO_READ, true); // 绑定数据流量 ChannelAttributeKeyUtils.buildInFlow(nextChannel, bytes.length); - nextChannel.writeAndFlush(bytes); + + // 将二进制数组转换成 ByteBuf 然后进行发送 + ByteBuf visitorBuf = visitorChannel.config().getAllocator().buffer(bytes.length); + visitorBuf.writeBytes(bytes); + + nextChannel.writeAndFlush(visitorBuf); // 处理访客流量 ServerChannelFlow serverChannelFlow = ServerChannelFlow diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java index eb44db1..77c0b1d 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/socket/NettyPermeateClientRealSocket.java @@ -60,9 +60,9 @@ public class NettyPermeateClientRealSocket { if (channelFuture.isSuccess()) { // 客户端链接真实服务成功 设置自动读写false 等待访客连接成功后设置成true Channel realChannel = channelFuture.channel(); - realChannel.config().setOption(ChannelOption.AUTO_READ, true); + realChannel.config().setOption(ChannelOption.AUTO_READ, false); - log.info("服务端内网渗透通过,绑定本地服务,IP:{},端口:{} 新建通道成功", clientTargetIp, clientTargetPort); + log.info("服务端内网渗透通过,绑定本地服务,IP:{},端口:{} channelID:{} 新建通道成功", clientTargetIp, clientTargetPort,realChannel.id().asLongText()); ChannelAttributeKeyUtils.buildVisitorPort(realChannel, visitorPort); // 缓存当前端口对应的通道、通道池 ChannelAttributeKeyUtils.buildNextChannel(realChannel, visitorChannel); diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java index a89610e..0704230 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/command/lazy/internal/network/server/permeate/mapping/LazyInternalNetworkServerPermeateMappingRemoveCommand.java @@ -1,5 +1,6 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.application.command.lazy.internal.network.server.permeate.mapping; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.experimental.Accessors; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +26,7 @@ public class LazyInternalNetworkServerPermeateMappingRemoveCommand { * * */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Schema(description ="",name ="createTime",example = "") private LocalDateTime createTime; @@ -74,6 +76,7 @@ public class LazyInternalNetworkServerPermeateMappingRemoveCommand { * * */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @Schema(description ="",name ="updateTime",example = "") private LocalDateTime updateTime; diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java index 92eee73..dc5ed5b 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyInternalNetworkServerPermeateMappingRepositoryImpl.java @@ -1,19 +1,19 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkServerPermeateMappingDO; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyInternalNetworkServerPermeateMappingConverter; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyInternalNetworkServerPermeateMappingMapper; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMappingRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyInternalNetworkServerPermeateMappingConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyInternalNetworkServerPermeateMappingDO; import org.springframework.stereotype.Repository; -import java.util.stream.Collectors; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; import org.wu.framework.web.response.Result; import org.wu.framework.web.response.ResultFactory; -import jakarta.annotation.Resource; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.internal.network.server.permeate.mapping.LazyInternalNetworkServerPermeateMapping; -import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + import java.util.List; -import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import java.util.stream.Collectors; /** * describe 服务端网络渗透映射 * @@ -128,7 +128,7 @@ public class LazyInternalNetworkServerPermeateMappingRepositoryImpl implements @Override public Result remove(LazyInternalNetworkServerPermeateMapping lazyInternalNetworkServerPermeateMapping) { LazyInternalNetworkServerPermeateMappingDO lazyInternalNetworkServerPermeateMappingDO = LazyInternalNetworkServerPermeateMappingConverter.INSTANCE.fromLazyInternalNetworkServerPermeateMapping(lazyInternalNetworkServerPermeateMapping); - // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO)); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyInternalNetworkServerPermeateMappingDO)); return ResultFactory.successOf(); } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientPermeatePortPoolRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientPermeatePortPoolRepositoryImpl.java index bc0f00d..3952729 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientPermeatePortPoolRepositoryImpl.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyClientPermeatePortPoolRepositoryImpl.java @@ -1,19 +1,19 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientPermeatePortPoolDO; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyClientPermeatePortPoolConverter; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyNettyClientPermeatePortPoolMapper; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.permeate.port.pool.LazyNettyClientPermeatePortPool; import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.permeate.port.pool.LazyNettyClientPermeatePortPoolRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyClientPermeatePortPoolConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyClientPermeatePortPoolDO; import org.springframework.stereotype.Repository; -import java.util.stream.Collectors; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; import org.wu.framework.web.response.Result; import org.wu.framework.web.response.ResultFactory; -import jakarta.annotation.Resource; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.client.permeate.port.pool.LazyNettyClientPermeatePortPool; -import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + import java.util.List; -import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import java.util.stream.Collectors; /** * describe 客户端内网渗透端口池 * @@ -128,7 +128,7 @@ public class LazyNettyClientPermeatePortPoolRepositoryImpl implements LazyNett @Override public Result remove(LazyNettyClientPermeatePortPool lazyNettyClientPermeatePortPool) { LazyNettyClientPermeatePortPoolDO lazyNettyClientPermeatePortPoolDO = LazyNettyClientPermeatePortPoolConverter.INSTANCE.fromLazyNettyClientPermeatePortPool(lazyNettyClientPermeatePortPool); - // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyClientPermeatePortPoolDO)); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyClientPermeatePortPoolDO)); return ResultFactory.successOf(); } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerPermeatePortPoolRepositoryImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerPermeatePortPoolRepositoryImpl.java index 4d1f793..fe23e46 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerPermeatePortPoolRepositoryImpl.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/infrastructure/persistence/LazyNettyServerPermeatePortPoolRepositoryImpl.java @@ -1,19 +1,19 @@ package org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.persistence; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyServerPermeatePortPoolDO; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyServerPermeatePortPoolConverter; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.mapper.LazyNettyServerPermeatePortPoolMapper; +import jakarta.annotation.Resource; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.server.permeate.port.pool.LazyNettyServerPermeatePortPool; import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.server.permeate.port.pool.LazyNettyServerPermeatePortPoolRepository; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.converter.LazyNettyServerPermeatePortPoolConverter; +import org.framework.lazy.cloud.network.heartbeat.server.standalone.infrastructure.entity.LazyNettyServerPermeatePortPoolDO; import org.springframework.stereotype.Repository; -import java.util.stream.Collectors; +import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; import org.wu.framework.lazy.orm.database.lambda.stream.wrapper.LazyWrappers; import org.wu.framework.web.response.Result; import org.wu.framework.web.response.ResultFactory; -import jakarta.annotation.Resource; -import org.framework.lazy.cloud.network.heartbeat.server.standalone.domain.model.lazy.netty.server.permeate.port.pool.LazyNettyServerPermeatePortPool; -import org.wu.framework.lazy.orm.database.lambda.stream.lambda.LazyLambdaStream; + import java.util.List; -import org.wu.framework.lazy.orm.database.lambda.domain.LazyPage; +import java.util.stream.Collectors; /** * describe 服务端内网渗透端口池 * @@ -128,7 +128,7 @@ public class LazyNettyServerPermeatePortPoolRepositoryImpl implements LazyNett @Override public Result remove(LazyNettyServerPermeatePortPool lazyNettyServerPermeatePortPool) { LazyNettyServerPermeatePortPoolDO lazyNettyServerPermeatePortPoolDO = LazyNettyServerPermeatePortPoolConverter.INSTANCE.fromLazyNettyServerPermeatePortPool(lazyNettyServerPermeatePortPool); - // lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyServerPermeatePortPoolDO)); + lazyLambdaStream.delete(LazyWrappers.lambdaWrapperBean(lazyNettyServerPermeatePortPoolDO)); return ResultFactory.successOf(); } diff --git a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/main/resources/application-dev.yml b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/main/resources/application-dev.yml index 64ac3a8..6f937db 100644 --- a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/main/resources/application-dev.yml +++ b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-server-start/src/main/resources/application-dev.yml @@ -24,6 +24,6 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver --- -logging: - level: - root: DEBUG \ No newline at end of file +#logging: +# level: +# root: DEBUG \ No newline at end of file