基于 Docker 的 AWD 平台搭建与使用完整教程(含环境修复与比赛操作)

news/2025/11/11 14:44:42/文章来源:https://www.cnblogs.com/28Blog/p/19210273

AWD平台搭建与使用完整教程

一、AWD赛事规则

1. 赛事基础信息

(1)赛事定位

本赛事为 CTF 攻防对抗(AWD)模式,核心考察参赛队伍的实战攻防综合能力:参赛队伍需同步完成两项核心任务——自身靶机服务加固(防御端)其他队伍靶机漏洞利用(攻击端),最终以攻防表现综合计分排名。

(2)环境配置

配置项 详细说明
靶机部署 基于 Docker 容器化部署,采用官方稳定基础镜像(如 Ubuntu 20.04 LTS);每队分配 1-3 台靶机,以 Linux 系统为主,预装 Web 服务(Apache/Nginx)、中间件(Tomcat/PHP-FPM)、数据库(MySQL/MongoDB)等,初始环境完全一致。
访问权限 仅提供低权限账户(如 ctf 用户),通过 SSH(默认 22 端口)或 VNC 连接;禁止通过提权工具(如 sudo 滥用、内核漏洞提权)获取 root 权限,一经检测视为违规。
辅助环境 可选配流量分析虚拟机(预装 Wireshark、tcpdump 等工具),提供实时流量日志下载(路径由主办方赛前告知),仅用于本队攻防分析,禁止用于攻击其他队伍。
平台限制 赛事提交平台(含 API 接口)、裁判系统、网关/DNS 服务器均为 非攻击目标,禁止对其发起任何网络请求(含扫描、访问、攻击)。

2. 赛事流程

阶段 时长 核心任务及限制
赛前准备 10 分钟 1. 领取本队靶机 IP、账户密码、唯一身份 token 凭证;
2. 确认赛事提交平台 API 地址及测试提交有效性;
3. 禁止提前扫描任何网段或尝试连接其他队伍靶机。
服务发现 & 加固 30 分钟 1. 仅允许操作本队靶机:扫描端口(如 nmap)、审计源码、备份数据、修复漏洞;
2. 此阶段 不计分,且禁止对其他队伍靶机发起任何网络连接。
攻防对抗 180 分钟 1. 攻击端:利用漏洞获取其他队伍 Flag 并提交;
2. 防御端:维护自身服务可用性,拦截攻击并修复新漏洞;
3. 实时计分,每 2 分钟为 1 轮计分周期。
结果公示 10 分钟 1. 公布最终排名、总分及扣分详情;
2. 参赛队伍可现场提出分数异议,裁判需在 5 分钟内核查并答复。

3. 核心环节规则

(1)服务发现规范

允许操作
  • 端口扫描:使用 nmap 等工具扫描 本队靶机及赛事指定 C 段(如 nmap -sn 192.168.10.0/24),探测存活主机及开放端口;
  • 服务探测:通过 httpscan、dirsearch、gobuster 等工具,检测 Web 服务路径、备份文件(如 .sql.bak)、敏感目录(如 admin/);
  • 配置排查:查找靶机内服务配置文件(如 Nginx 的 nginx.conf、PHP 的 php.ini、MySQL 的 my.cnf),定位服务根目录及关键参数。
禁止行为
  • 提前攻击:在“服务发现 & 加固”阶段结束前,对其他队伍靶机发起漏洞利用、连接测试等攻击行为;
  • 跨网段扫描:禁止扫描非赛事指定的网段(如主办方办公网络、公网地址);
  • 攻击辅助环境:禁止扫描、访问或攻击流量分析虚拟机、赛事提交平台、裁判系统等非靶机设备。

(2)防御操作规则

基础加固要求
  1. 数据备份:必须备份 Web 源码(如 /var/www/html)及数据库(通过 mysqldump 等工具);允许 3 次一键恢复(因自身配置失误导致服务故障时使用),每次恢复扣 5 分,超过 3 次恢复不计分且需自行排查故障。
  2. 弱口令修复:修改所有默认账户密码(如 MySQL 默认 root/root、PHPStudy 默认 123456、Web 后台默认 admin/admin),密码需满足“8 位以上 + 字母大小写 + 数字 + 特殊符号”复杂度。
  3. 权限控制:禁用无用账户(如 guesttest);限制数据库仅本地登录(修改 my.cnfbind-address=127.0.0.1);设置 Web 目录权限为 755(文件为 644),禁止 www-data 等服务账户拥有执行权限。
漏洞修复原则
  • 允许通过代码审计工具(如 Seay 代码审计系统、Burp Suite)定位漏洞,采用“过滤危险函数(如 PHP 的 eval()exec())、注释危险代码、添加输入验证”等方式修复;
  • 可部署自定义 WAF(Web 应用防火墙):通过 PHP 的 auto_prepend_file 加载 WAF 脚本,或在 Nginx 配置中添加拦截规则,需确保 WAF 不影响服务正常访问(如 HTTP 200 响应),且需记录攻击日志(供裁判核查)。
服务器停止工作处理
  • 自身原因宕机:因误删系统文件、配置错误(如 Nginx 配置语法错误)、加固过度(如关闭核心服务)导致靶机宕机,可联系技术支持重启靶机,每重启 1 次扣 10 分,且该轮服务可用分记为 0;
  • 他人违规攻击宕机:若因其他队伍发起 DoS/DDoS、删除关键文件等违规行为导致宕机,需在 5 分钟内提交流量日志、进程记录等证据,经裁判核实后:
    • 违规队伍按“恶意破坏服务”条款处罚;
    • 本队不扣除服务可用分,且恢复该轮应得分数。
禁止操作
  • 关闭核心服务:禁止停止 Apache、Nginx、MySQL、Docker Daemon 等赛事指定核心服务,导致主办方 Check 失败;
  • 删除必要文件:禁止删除赛事标记文件(如 /etc/ctf-marker)、靶机系统文件(如 /bin/bash)或服务依赖文件;
  • 过度防御:禁止部署“一刀切”拦截规则(如拦截所有 HTTP POST 请求),导致服务无法正常提供(主办方 Check 返回非 200 状态码)。

(3)攻击操作规则

Flag 机制
  • 生成规则:Flag 每 2 分钟刷新 1 轮,存放于靶机 固定指定路径(如 /tmp/flag/var/www/flag.txt),格式为 flag{随机 32 位字符串}(如 flag{8a3f2d7c9e1b4567890a1b2c3d4e5f6g});
  • 提交要求:通过赛事平台 API 提交(格式:https://[平台域名]/submit?token=[本队 token]&flag=[获取的 Flag]),重复提交无效(仅首次有效提交计分),提交虚假 Flag(非靶机生成)视为违规。
允许攻击手段
  • 漏洞利用:通过 SQL 注入、XSS、文件上传、反序列化、命令注入、PWN(缓冲区溢出)等漏洞,获取靶机低权限或读取 Flag;
  • 权限维持:可在靶机内种植“不死马”(如循环生成隐藏脚本、定时任务反弹 Shell),但需确保 不破坏服务可用性(如不占用 80% 以上 CPU/内存、不删除 Web 源码);
  • 信息收集:通过攻击获取的低权限,收集其他队伍靶机内的服务配置、漏洞信息,用于后续攻击。
严格禁止行为(含 DDoS 细化禁止)
  • 任何形式的 DoS/DDoS 攻击
    1. 流量压制:通过 TCP/UDP 洪水、ICMP ping 风暴、SYN Flood 等方式,占用靶机带宽(如每秒发包超 1000 个);
    2. 资源耗尽:高频访问靶机服务(如每秒请求超 10 次)、运行挖矿脚本、创建大量空文件,导致 CPU/内存/磁盘占用超 90%;
    3. 进程破坏:杀死靶机核心进程(如 apache2mysqlddocker)、停止服务(如 systemctl stop nginx);
  • 暴力破解:禁止使用工具(如 Hydra、Medusa)对其他队伍靶机的 SSH、MySQL、Web 后台等账户进行暴力破解(仅允许利用已知弱口令登录);
  • 恶意破坏:篡改其他队伍 Web 源码(如删除 index.php、替换为恶意页面)、格式化靶机磁盘、删除 Docker 容器,导致服务 永久宕机且无法快速恢复
  • 攻击非靶机目标:禁止对赛事提交平台、裁判系统、其他队伍的流量分析虚拟机发起任何攻击(含扫描、访问、漏洞利用)。

4. 计分与排名规则

(1)基础计分(每 2 分钟 1 轮,实时累计)

计分项目 分值 详细说明
服务可用 +1 分 主办方通过脚本 Check 本队靶机核心服务(如 Web 服务返回 HTTP 200、MySQL 可正常连接),响应正常则得分。
服务不可用 -1 分 服务宕机、无响应或 Check 返回非指定状态码(如 404、502);该扣分由 本轮所有服务正常的队伍均分(例:本轮 10 队中 2 队不可用,8 队正常,每正常队均分 2×1/8=0.25 分)。
提交有效 Flag +2 分 每成功提交 1 个其他队伍的有效 Flag 得 2 分,同一 Flag 重复提交不累计(仅首次有效提交计分)。
自身 Flag 被获取 -2 分 本队 Flag 被其他队伍获取并成功提交;该扣分由 所有获取该 Flag 的队伍均分(例:本队 Flag 被 3 队获取,每获取队均分 2/3≈0.67 分)。

(2)排名规则

  1. 优先按 总分降序 排名;
  2. 若总分相同,比较 有效 Flag 获取总数(获取越多排名越靠前);
  3. 若总分与 Flag 数量均相同,比较 服务可用率(服务可用轮数 / 总攻防轮数,可用率越高排名越靠前);
  4. 若上述三项均相同,比较 最后一轮得分(得分高者排名靠前)。

5. 违规处罚

违规行为 处罚措施
首次实施 DoS/DDoS 攻击、恶意破坏服务 扣除当前总分的 50%,在赛事群内通报批评,记录违规一次。
二次违规(含重复 DoS、攻击平台) 直接取消赛事资格,清空所有分数,禁止参与本次赛事后续环节。
提交虚假 Flag 干扰裁判 每提交 1 次扣 10 分;累计 3 次提交虚假 Flag,取消赛事资格。
攻击赛事平台/辅助环境/非靶机目标 视为严重违规,直接取消资格,通报所有参赛队伍,并禁止参与主办方后续赛事。
提权获取 root 权限/使用未授权工具(如木马) 取消赛事资格,清空分数,且需配合裁判核查工具来源。
导致靶机永久无法恢复(如格式化磁盘) 取消资格,通报批评,并需承担靶机重建的技术成本(视情况追偿)。

6. 附则

  1. 赛事技术支持仅协助解决 环境故障(如 Docker 容器崩溃、靶机无法连接),不提供漏洞提示、加固建议等技术指导;
  2. 参赛队伍需自行记录攻防操作日志(如攻击脚本执行记录、防御配置修改记录),裁判有权要求提交日志核查,拒绝提交视为违规
  3. 主办方拥有规则最终解释权,可根据现场情况(如大规模环境故障、违规行为频发)调整计分权重、攻防时长,调整后将第一时间通知所有队伍;
  4. 赛事期间禁止抄袭其他队伍的攻防方案(如复制攻击脚本、抄袭 WAF 规则),一经发现,扣除当前总分的 30%,抄袭累计 2 次取消资格。

二、AWD平台搭建步骤

1. 克隆AWD平台资源

执行以下命令克隆官方仓库到本地:

sudo git clone https://github.com/zhl2008/awd-platform.git

2. 安装Docker与Docker Compose

通过 APT 包管理器安装基础依赖工具:

apt install docker && apt install docker-compose

3. Docker换源(提升镜像下载速度)

使用 LinuxMirrors 提供的脚本一键换源,命令如下:

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

换源后效果:脚本会自动配置国内 Docker 镜像源(如阿里云、网易云),后续下载镜像速度显著提升(从 KB/s 级提升至 MB/s 级)。

4. 查看AWD平台目录结构

克隆完成后,进入 awd-platform 目录并查看核心文件:

cd awd-platform
ls -l  # 列出目录下所有文件

核心目录结构(截图说明):

(包含 batch.py(队伍配置生成脚本)、start.py(环境启动脚本)、check_server(裁判机目录)等关键文件)

5. 下载AWD靶机镜像

执行以下命令拉取指定版本的靶机镜像(基于 Ubuntu 14.04,预装 Web 服务):

docker pull zhl2008/web_14.04

镜像下载效果(截图说明):

(镜像大小约 500MB,下载完成后可通过 docker images 查看)

6. 初始化队伍与环境

6.1 创建队伍配置(以3支队伍为例)

执行 batch.py 脚本生成 3 支队伍的基础配置文件:

python2 batch.py web_yunnan_simple 3

执行效果(截图说明):

(脚本会生成 team1team2team3 目录,每个目录包含靶机启动配置)

6.2 修正镜像名称(关键步骤)

由于后续脚本依赖默认镜像名 web_14.04,需执行以下命令重命名镜像:

sudo docker tag zhl2008/web_14.04 web_14.04

6.3 生成队伍运行环境

基于上述配置,执行 start.py 创建实际的靶机容器与裁判机环境:

python2 start.py ./ 3

执行效果(截图说明):

(初始化完成后,会自动启动 3 台靶机容器 + 1 台裁判机容器,可通过 docker ps 查看运行状态)

7. 启动裁判机与Check服务

裁判机负责周期性检测各队伍靶机存活状态、服务可用性并实时计分,启动步骤如下:

  1. 连接裁判机容器(容器名通常为 check_server):
    docker attach check_server
    
  2. 激活交互环境:进入容器后,需先按 回车键 唤醒命令行,再执行 Check 脚本:
    python2 check.py
    

启动效果(截图说明):

(Check 服务每 5 分钟(300 秒)检测一轮,输出各靶机“存活/宕机”状态)

8. 关闭AWD环境(资源清理)

如需停止所有靶机、裁判机并释放资源,执行清理脚本:

python2 stop_clean.py

清理效果(截图说明):

(脚本会自动停止并删除所有相关 Docker 容器,避免占用 CPU/内存资源)

三、靶机问题修复(必做步骤)

默认搭建的靶机存在 Check 服务异常Flag 重复提交漏洞 等问题,需按以下步骤修复,否则无法正常计分。

1. 修改Check脚本(修复服务检测逻辑)

编辑裁判机内的 check.py 文件(路径:awd-platform/check_server/check.py),替换为以下完整代码(修复服务检测失败问题):

#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib
import base64sleep_time  = 300  # 检测周期(秒),默认5分钟
debug = True
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"}import time
import httplib
import urllib2
import ssl my_time = 'AAAA' 
__doc__ = 'http(method,host,port,url,data,headers)'
flag_server = '172.17.0.1'  # Flag服务器默认IP(Docker桥接地址)
key = '744def038f39652db118a68ab34895dc'  # 计分密钥(与平台一致)
hosts = open('host.lists','r').readlines()  # 读取靶机列表
user_id = [host.split(':')[0] for host in hosts]
hosts = [host.split(':')[1] for host in hosts]
port = 80  # Web服务默认端口def http(method,host,port,url,data,headers):con=httplib.HTTPConnection(host,port,timeout=2)if method=='post' or method=='POST':headers['Content-Length']=len(data)headers['Content-Type']='application/x-www-form-urlencoded'  con.request("POST",url,data,headers=headers)else:headers['Content-Length'] = 0    con.request("GET",url,headers=headers)res = con.getresponse()if res.getheader('set-cookie'):passif res.getheader('Location'):print "Your 302 direct is: "+res.getheader('Location')a = res.read()con.close()return adef https(method,host,port,url,data,headers):url = 'https://' + host + ":" + str(port) + urlreq = urllib2.Request(url,data,headers)response = urllib2.urlopen(req)return response.read()def get_score():res = http('get',flag_server,8080,'/score.php?key=%s'%key,'',headers)print resuser_scores = res.split('|')print "******************************************************************"res = ''print resprint "******************************************************************" return user_scoresdef write_score(scores):scores = '|'.join(scores)res = http('get',flag_server,8080,'/score.php?key=%s&write=1&score=%s'%(key,scores),'',headers)if res == "success":return Trueelse:   print resraise ValueErrorclass check():def index_check(self):res = http('get',host,port,'/index.php?file=%s'%str(my_time),'',headers)if 'perspi' in res:  # 检测Web页面特征值(确保服务正常)return Trueif debug:print "[fail!] index_fail"return Falsedef server_check():try:a = check()if not a.index_check():return Falsereturn Trueexcept Exception,e:print ereturn Falsegame_round = 0
while True:scores = get_score()scores = []print "--------------------------- round %d -------------------------------"%game_roundfor host in hosts:print "---------------------------------------------------------------"host = host[:-1]  # 去除换行符if server_check():print "Host: "+host+" seems ok"scores.append("0")  # 服务正常,不扣分else:print "Host: "+host+" seems down"scores.append("-10")  # 服务宕机,扣10分game_round += 1write_score(scores)time.sleep(sleep_time)

2. 修复Flag重复提交漏洞

替换 awd-platform/flag_server/flag_file.php 文件(限制同一Flag仅首次提交有效),内容如下:

<?php
require 'config.php';
$now_time = time();
$flag_file = 'xxxxxxxx_flag';  # Flag存储文件// 限制提交频率(防止高频提交)
function check_time($attack_uid,$victim_uid){global $time_file;global $min_time_span;global $now_time;global $team_number;$old_times = explode('|' , file_get_contents($time_file));$id = $attack_uid * $team_number + $victim_uid;if ($now_time - $old_times[$id] < $min_time_span){die("error: submit too quick ". ($min_time_span + $old_times[$id] - $now_time). " seconds left");}else{return True;}
}// 更新提交时间
function update_time($attack_uid,$victim_uid){global $time_file;global $now_time;global $team_number;$old_times = explode('|' , file_get_contents($time_file));$id = $attack_uid * $team_number + $victim_uid;$old_times[$id] = $now_time;$now_times = $old_times;file_put_contents($time_file,implode('|' , $now_times));
}// 验证Flag有效性
function match_flag($flag,$flag_file){$flags = explode("\n",file_get_contents($flag_file));foreach ($flags as $real_flag) {$tmp = explode(":",$real_flag);$host = $tmp[0];$real_flag = $tmp[1];if($flag==$real_flag){return $host;}}return '';
}// 检查Flag是否已提交(防止重复提交)
function check_flag($attack_id,$flag){$flags = explode("\n",file_get_contents('submit_flag.txt'));foreach ($flags as $sub_flag) {$tmp = explode(":",$sub_flag);$attacker = $tmp[0];$real_flag = $tmp[1];if($flag==$real_flag && $attack_id == $attacker){return '';  # 已提交过,返回空}}return $flag;  # 未提交过,返回原Flag
}// 处理Flag提交请求
if(isset($_REQUEST['token']) && isset($_REQUEST['flag'])){$token = $_REQUEST['token'];$flag = $_REQUEST['flag'];// 验证Token有效性if(!array_key_exists($token , $token_list)){die('error: no such token');}// 验证Flag有效性$ip = match_flag($flag,$flag_file);if(!$ip){die('error: no such flag');}// 防止自攻自防$attack_id = $token_list[$token];$victim_id = $ip_list[$ip];if($attack_id === $victim_id){die('error: do not attack yourself');}// 防止重复提交$flag_validity = check_flag($attack_id,$flag);if(!$flag_validity){die('error: The flag has already been submitted');}// 记录提交记录file_put_contents('submit_flag.txt',$attack_id . ':' . $flag . "\n", FILE_APPEND);// 计算分数(攻击方+2分,防守方-2分)for($i=0;$i<$team_number;$i++){$scores[$i] = 0;}$scores[$attack_id] = 2;$scores[$victim_id] = -2; // 检查提交频率check_time($attack_id,$victim_id);// 写入分数$score = implode('|',$scores);file_put_contents('result.txt',$user_list[$attack_id] . ' => ' . $user_list[$victim_id]."\n", FILE_APPEND);$cmd = 'curl "127.0.0.1/score.php?key='.$key.'&write=1&score='.$score.'"';system($cmd);// 更新提交时间update_time($attack_id,$victim_id);
}else {die("error: empty token or empty target");
}
?>

3. 创建Flag提交记录文件并修复权限

执行以下命令,确保计分文件可读写(避免裁判机权限不足):

# 1. 创建Flag提交记录文件
touch /awd-platform/flag_server/submit_flag.txt
# 2. 设置计分相关文件权限为777(读写执行权限)
chmod 777 /awd-platform/flag_server/score.txt /awd-platform/flag_server/result.txt /awd-platform/flag_server/submit_flag.txt

权限修改效果(截图说明):

4. 查看靶机SSH密码

各队伍靶机的 SSH 登录密码存储在 pass.txt 中,执行以下命令查看:

cat awd-platform/pass.txt

密码查看效果(截图说明):

(每队密码唯一,格式为 team1:xxxxxx,对应 SSH 登录的 ctf 用户密码)

四、AWD比赛操作指南

1. Web界面访问(靶机前台)

各队伍靶机的 Web 服务通过 不同端口 区分,访问地址格式如下(需替换 <虚拟机IP> 为搭建平台的 Linux 虚拟机 IP):

  • Team1:http://<虚拟机IP>:8801
  • Team2:http://<虚拟机IP>:8802
  • Team3:http://<虚拟机IP>:8803

访问示例(Team1)(截图说明):

(成功访问则显示靶机默认 Web 页面,证明服务正常)

2. SSH访问(靶机后台)

各队伍靶机的 SSH 登录信息如下(密码从 pass.txt 中获取):

队伍 SSH连接地址 登录用户名 密码来源
Team1 <虚拟机IP>:2201 ctf awd-platform/pass.txt
Team2 <虚拟机IP>:2202 ctf awd-platform/pass.txt
Team3 <虚拟机IP>:2203 ctf awd-platform/pass.txt

登录步骤(以Team1为例):

  1. 执行 SSH 命令连接靶机:

    ssh ctf@192.168.173.134 -p2201  # 替换IP为实际虚拟机IP
    

    输入 pass.txt 中对应 Team1 的密码,成功登录后效果(截图说明):

  2. 补全交互Shell(默认SSH环境可能缺少命令补全,执行以下命令修复):

    python -c 'import pty;pty.spawn("/bin/bash")'
    

    补全效果(截图说明):

    (修复后支持 tab 命令补全、上下箭头查看历史命令)

3. 提交Flag(攻击得分)

当通过漏洞获取其他队伍靶机的 Flag 后,通过以下 URL 提交 Flag(需替换 <虚拟机IP>teamXFlag值):

http://<虚拟机IP>:8080/flag_file.php?token=teamX&flag=xxxx
  • teamX:当前攻击队伍的标识(如 Team1 提交则为 team1,需与 config.php 中配置一致);
  • flag=xxxx:从目标队伍靶机中获取的 Flag 值(格式为 flag{32位随机字符串})。

提交示例(Team1攻击Team2):

假设 Team1 获取 Team2 的 Flag 为 flag{85c58b085a949c1eb61125ceed70599c},提交 URL 如下:

http://192.168.173.134:8080/flag_file.php?token=team1&flag=flag{85c58b085a949c1eb61125ceed70599c}

提交成功效果(截图说明):

(页面无报错则为提交成功,若重复提交会提示 error: The flag has already been submitted

4. 查看比赛数据

4.1 查看实时分数

通过以下 URL 查看各队伍当前总分(实时更新):

http://<虚拟机IP>:8080/score.txt

分数查看效果(截图说明):

(示例中 Team1 得 2 分(攻击成功),Team2 扣 2 分(Flag 被获取),Team3 得 0 分)

4.2 查看攻击记录

通过以下 URL 查看所有 Flag 提交记录(含攻击方、防守方):

http://<虚拟机IP>:8080/result.txt

攻击记录效果(截图说明):

(记录格式为 攻击方 => 防守方,可追溯每一次有效攻击行为)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/962409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

业务管理

*在线文档,有一个文件夹,梳理各个阶段的的工作

2025年阳光房优质厂家权威推荐榜单:平开门/推拉门/曼亭鸟门窗源头厂家精选

在当今家居空间升级的浪潮中,阳光房已从简单的采光空间,升级为集休闲、娱乐与自然连接于一体的“第三生活空间”。为帮助您精准选择可靠的合作伙伴,我们综合考量了市场销量、技术实力、产品品质与服务网络等核心指标…

2-3-4-2-Redis深入理解

1、Redis中常见的有哪些线程?相互之间怎么配合? Redis的线程模型经历了从纯单线程到“单线程核心+多线程辅助”的演进(Redis 6.0引入IO多线程,Redis 7.0强化后台线程),其设计目标是在保持命令执行原子性的同时,…

2025年废塑料清洗槽源头厂家权威推荐榜单:二手塑料清洗槽/高端塑料清洗槽/废旧塑料u型清洗槽源头厂家精选

在塑料回收产业快速发展的背景下,废塑料清洗槽作为关键设备,其性能直接影响回收塑料的洁净度与生产效率。市场数据显示,2025年全球塑料清洗回收机市场规模预计将达到43.33亿美元,年均复合增长率保持在4.1% 。为帮助…

2-3-4-3-Redis底层数据结构

1、Redis数据结构总览 Redis的数据结构是其核心竞争力之一——它并非简单的“键值对存储”,而是为不同业务场景设计了多样化的值类型,且每个类型都有高效的底层实现(用C语言优化)。理解这些数据结构的设计逻辑与底…

Docker部署Tomcat9.0

1、查看华为云镜像中心Tomcat版本 华为云容器镜像中心官网地址:https://console.huaweicloud.com/swr/?region=cn-north-4#/swr/mirror 2、拉取tomcat镜像docker pull tomcat:9.0.263、查看镜像是否下载成功docker i…

2025年11月学习机品牌对比榜:十强机型资质认证与用户反馈一览

开学季刚过,后台留言里“到底该给孩子买哪台学习机”的提问量陡增。家长画像很集中:工作节奏快、辅导时间碎片化、对“新课标”变化心里没底,同时预算有限却希望一次到位。教育部2024年10月发布的《2025新课标实施要…

wireshark的用法

以上仅供参考,如有疑问,留言联系

2-3-3-1-Dubbo

1、理解“Dubbo是RPC调用层面的服务治理工具” 要理解“Dubbo是RPC调用层面的服务治理工具”,需要从分布式系统的核心痛点、RPC的本质以及Dubbo的定位边界三个维度拆解;而“Dubbo解决什么问题”“没有它会怎样”则是…

2025年11月学习机品牌榜单:从早教到高中全场景覆盖排行解析

期中考试刚过,家长群里又开始新一轮“选机焦虑”:孩子成绩波动大,校内进度快,课外时间被切割成碎片,传统辅导班往返耗时,线上网课又缺互动。教育部“双减”后,学科类培训被严格限时段,家长把希望转向能同步校内…

2025年评价高的无菌室净化门TOP实力厂家推荐榜

2025年评价高的无菌室净化门TOP实力厂家推荐榜 行业背景与市场趋势 随着生物医药、电子制造、食品加工等行业对生产环境洁净度要求的不断提高,无菌室净化门作为洁净室系统的关键组成部分,其市场需求持续增长。据《…

2025年11月国际机票预定平台推荐榜:IATA认证服务商全面排行

2025年11月,全球商旅复苏叠加留学生返校高峰,国际机票需求进入年内最后一轮集中释放期。中国民航局10月发布的《国际航空运输市场白皮书》显示,2025年冬春航季国际客运航班量已恢复至2019年同期的92%,但平均票价仍…

2025年包装设计行业十大品牌权威推荐榜单

摘要 随着消费升级和品牌竞争加剧,包装设计行业在2025年迎来新一轮发展机遇。根据市场调研数据显示,2025年全球包装设计市场规模预计达到5820亿美元,年复合增长率达5.3%。中国作为全球最大的包装消费市场,2025年包…

2025年靠谱的精密冲床品牌厂家排行榜

2025年靠谱的精密冲床品牌厂家排行榜行业背景与市场趋势精密冲床作为现代制造业的核心设备之一,在汽车零部件、电子电器、五金制品等领域发挥着不可替代的作用。根据中国机床工具工业协会最新发布的《2024-2025年中国…

2025年陕西省搜索优化服务商综合实力排行榜Top10

摘要 随着数字化转型加速,陕西省搜索优化服务行业迎来快速发展期。本文基于权威数据分析和行业调研,为您呈现2025年陕西省搜索优化服务商综合排名,为用地审批技术服务需求方提供参考依据。文末附专业咨询表单,供进…

视频融合平台EasyCVR:构建智慧化城市/乡镇污水处理厂综合安防与运营监管方案

视频融合平台EasyCVR:构建智慧化城市/乡镇污水处理厂综合安防与运营监管方案随着我国城镇化进程的加速和环保政策的日趋严格,城市及乡镇污水处理厂的稳定运行与高效监管变得至关重要。传统的污水处理厂在安全管理与生…

2025年靠谱的组合式恒温 振荡培养箱厂家推荐及采购参考

2025年靠谱的组合式恒温振荡培养箱厂家推荐及采购参考 行业背景与市场趋势 随着生物医药、食品检测、环境监测等领域的快速发展,实验室设备市场需求持续增长。根据《2024年中国实验室仪器行业分析报告》,全球实验室…

2-3-1-1-ZooKeeper

ZooKeeper 是一个开源的分布式协调服务,为分布式应用提供一致性保障。它通过基于 Paxos 算法的 ZAB(ZooKeeper Atomic Broadcast)协议实现数据一致性,并以类似文件系统的树形结构(ZNode 树) 存储数据。其核心特点…

2025年口碑好的钩针纸布厂家最新实力排行

2025年口碑好的钩针纸布厂家最新实力排行行业背景与市场趋势钩针纸布作为一种环保、轻便且具有独特质感的材料,近年来在工艺品、包装、装饰等领域应用日益广泛。根据中国纺织品商业协会最新发布的《2025年中国特种纺织…

2025年口碑好的ZDSA-4500清淤机器人优质厂家推荐榜单

2025年口碑好的ZDSA-4500清淤机器人优质厂家推荐榜单行业背景与市场趋势随着城市化进程加速和环保要求日益严格,清淤机器人市场迎来了爆发式增长。据《2024-2029年中国清淤机器人行业市场调研与投资战略研究报告》显示…