From ee6cafa8f2074bf9d52b3160581db77ff09256a1 Mon Sep 17 00:00:00 2001 From: wujiawei <12345678> Date: Fri, 13 Sep 2024 09:06:44 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=20=20=E6=B5=81=E9=87=8F=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E3=80=81=E6=B7=BB=E5=8A=A0=E4=B8=8B=E6=AD=A5=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=86=85=E7=BD=91=E6=B8=97=E9=80=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- version.md | 15 ++++++-- .../server/netty/filter/VisitorFilter.java | 2 -- .../LazyVisitorPortPerDayFlowApplication.java | 11 ++++++ ...yVisitorPortPerDayFlowApplicationImpl.java | 34 +++++++++++++++---- .../LazyVisitorPortPerDayFlowProvider.java | 14 ++++++++ .../src/main/resources/application-dev.yml | 6 ++-- 6 files changed, 69 insertions(+), 13 deletions(-) diff --git a/version.md b/version.md index d76e637..40c28be 100644 --- a/version.md +++ b/version.md @@ -4,8 +4,19 @@ [fix] 添加配置spring.lazy.netty.enable 控制是否开启客户端默认是自动连接服务端的 需要手动关闭 -#### 1.2.7-JDK17-SNAPSHOT +#### 1.2.6-JDK17-SNAPSHOT [fix] 客户端添加按钮删除 [fix] 修改浏览器title内网穿透 [fix] HandleChannelTypeAdvanced 添加权重 order 越小越靠前 - [fix] 新增网络映射新增、修改、删除、自动变更 \ No newline at end of file + [fix] 新增网络映射新增、修改、删除、自动变更 + +#### 1.2.7-JDK17-SNAPSHOT + [fix] 修复网络流量统计,同步线程导致io阻塞问题 + [fix] 修改默认读缓冲区大小2M,写缓冲区大小1M + [fix] 操作系统默认读写缓冲区大小212992(cat /proc/sys/net/core/wmem_max 、cat /proc/sys/net/core/rmem_max、cat /proc/sys/net/core/wmem_default、 cat /proc/sys/net/core/rmem_default ),通过如下命令进行修改 + sudo sysctl -w net.core.rmem_default=4194304 + sudo sysctl -w net.core.rmem_max=4194304 + sudo sysctl -w net.core.wmem_default=4194304 + sudo sysctl -w net.core.wmem_max=4194304 + [fix] 修复下线客户端、删除映射无法刷新问题 +#### 下一版本计划内网渗透 \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/VisitorFilter.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/VisitorFilter.java index 1ca0b10..ded4325 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/VisitorFilter.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/netty/filter/VisitorFilter.java @@ -31,8 +31,6 @@ public class VisitorFilter extends DebugChannelInitializer { @Override protected void initChannel0(SocketChannel ch) throws Exception { ChannelPipeline pipeline = ch.pipeline(); - ch.config().setReceiveBufferSize(1024 * 1024); - ch.config().setSendBufferSize(1024 * 1024); pipeline.addLast(new ChannelDuplexHandler()); pipeline.addLast(new VisitorHandler(internalNetworkPenetrationRealClient, channelFlowAdapter)); } diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java index 8cae7f8..edffe01 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/LazyVisitorPortPerDayFlowApplication.java @@ -114,9 +114,20 @@ public interface LazyVisitorPortPerDayFlowApplication { */ Result findClient7DayFlow(); + /** + * 获取客户流量数据 + * @param dayLength 天数 + * @param clientIds 客户端 + * @return + */ + + Result findClientDayFlow(int dayLength, List clientIds); + /** * 获取客户流量数据 * @return */ Result findClientPerDayFlow(); + + } \ No newline at end of file diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java index cd82a47..51cefa8 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/application/impl/LazyVisitorPortPerDayFlowApplicationImpl.java @@ -181,10 +181,27 @@ public class LazyVisitorPortPerDayFlowApplicationImpl implements LazyVisitorPort @Override public Result findClient7DayFlow() { + int dayLength = 7; + + LazyNettyClientState lazyNettyClientState = new LazyNettyClientState(); + String serverId = serverNodeProperties.getNodeId(); + + lazyNettyClientState.setServerId(serverId); + return findClientDayFlow(dayLength, null); + } + + /** + * 获取客户流量数据 + * + * @param dayLength 天数 + * @param clientIds 客户端 + * @return + */ + + @Override + public Result findClientDayFlow(int dayLength, List clientIds) { LazyClientPortFlowPerDayEchartsDTO lazyClientPortFlowPerDayEchartsDTO = new LazyClientPortFlowPerDayEchartsDTO(); - - int dayLength = 7; // 流量日期 List dayList = Stream.iterate(1, n -> n + 1).limit(dayLength).map(index -> { LocalDate minus = LocalDate.now().minusDays(dayLength - index); @@ -196,11 +213,14 @@ public class LazyVisitorPortPerDayFlowApplicationImpl implements LazyVisitorPort lazyNettyClientState.setServerId(serverId); // 客户端ID - List clientIdList = lazyNettyClientStateRepository.findList(lazyNettyClientState) - .applyOther(nettyClientStates -> nettyClientStates - .stream().map(LazyNettyClientState::getClientId) - .toList()); - lazyClientPortFlowPerDayEchartsDTO.setClientIdList(clientIdList); + if (ObjectUtils.isEmpty(clientIds)) { + // 客户端ID + clientIds = lazyNettyClientStateRepository.findList(lazyNettyClientState) + .applyOther(nettyClientStates -> nettyClientStates + .stream().map(LazyNettyClientState::getClientId) + .toList()); + } + lazyClientPortFlowPerDayEchartsDTO.setClientIdList(clientIds); LazyVisitorPortPerDayFlow lazyVisitorPortPerDayFlow1 = new LazyVisitorPortPerDayFlow(); lazyVisitorPortPerDayFlow1.setServerId(serverId); List lazyVisitorPortPerDayFlowList = lazyVisitorPortPerDayFlowRepository.findList(lazyVisitorPortPerDayFlow1) diff --git a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java index 48ff7a0..7d0930d 100644 --- a/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java +++ b/wu-lazy-cloud-heartbeat-server/src/main/java/org/framework/lazy/cloud/network/heartbeat/server/standalone/controller/LazyVisitorPortPerDayFlowProvider.java @@ -10,6 +10,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.wu.framework.web.response.Result; import org.wu.framework.web.spring.EasyController; +import java.util.List; + /** * describe 每日统计流量 * @@ -36,6 +38,18 @@ public class LazyVisitorPortPerDayFlowProvider { return lazyVisitorPortPerDayFlowApplication.findClient7DayFlow(); } + /** + * describe 获取客户流量数据 + * + * @author Jia wei Wu + **/ + + @Operation(summary = "获取客户流量数据") + @GetMapping("/findClientDayFlow") + public Result findClientPortDayFlow(int dayLength, List clientIds) { + return lazyVisitorPortPerDayFlowApplication.findClientDayFlow(dayLength,clientIds); + } + /** * 获取客户流量数据 * @return diff --git a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-client-start/src/main/resources/application-dev.yml b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-client-start/src/main/resources/application-dev.yml index 0650502..b6bf528 100644 --- a/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-client-start/src/main/resources/application-dev.yml +++ b/wu-lazy-cloud-heartbeat-start/wu-lazy-cloud-heartbeat-client-start/src/main/resources/application-dev.yml @@ -4,8 +4,10 @@ spring: client: # inet-host: 124.222.48.62 # inet-port: 32647 - inet-host: 127.0.0.1 - inet-port: 7001 + inet-host: 124.222.152.160 + inet-port: 30560 +# inet-host: 127.0.0.1 +# inet-port: 7001 inet-path: wu-lazy-cloud-heartbeat-server client-id: wujiawei # 客户端ID # inet-host: 124.222.48.62 # 服务端地址