第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书正式赛题
第十七届山东省职业院校技能大赛
中职组“网络安全”赛项任务书-A
目录
一、竞赛阶段
二、竞赛任务书内容
(一)拓扑图
(二)模块A 基础设施设置与安全加固(200分)
(三)B模块安全事件响应/网络安全数据取证/应用安全(400分)
B-1:Windows操作系统渗透测试
B-2:网络安全事件应急响应
B-3:内存取证
B-4:Linux系统渗透提权
B-5:系统渗透
B-6:逆向分析
B-7:横向渗透测试活动溯源
B-8:恶意DLL木马文件分析
(四)模块C CTF夺旗-攻击(200分)
(五)模块D CTF夺旗-防御(200分)
一、竞赛阶段
竞赛阶段 | 任务阶段 | 竞赛任务 | 竞赛时间 | 分值 |
A模块 | A-1 | 登录安全加固 | 180分钟 | 200分 |
A-2 | Nginx安全策略 | |||
A-3 | 日志监控 | |||
A-4 | 中间件服务加固 | |||
A-5 | 本地安全策略 | |||
A-6 | 防火墙策略 | |||
B模块 | B-1 | Windows操作系统渗透测试 | 400分 | |
B-2 | 网络安全事件应急响应 | |||
B-3 | 内存取证 | |||
B-4 | Linux系统渗透提权 | |||
B-5 | 系统渗透 | |||
B-6 | 逆向分析 | |||
B-7 | 横向渗透测试活动溯源 | |||
B-8 | 恶意DLL木马文件分析 | |||
C模块 | C模块 | CTF夺旗-攻击 | 180分钟 | 200分 |
D模块 | D模块 | CTF夺旗-防御 | 200分 |
二、竞赛任务书内容
(一)拓扑图

(二)模块A 基础设施设置与安全加固(200分)
一、项目和任务描述:
假定你是某企业的网络安全工程师,对于企业的服务器系统,根据任务要求确保各服务正常运行,并通过综合运用登录和密码策略、数据库安全策略、流量完整性保护策略、事件监控策略、防火墙策略等多种安全策略来提升服务器系统的网络安全防御能力。
本模块要求对具体任务的操作截图并加以相应的文字说明,以word文档的形式书写,以
PDF格式保存,以赛位号作为文件名.
二、服务器环境说明
AServer08(Windows)系统:用户名administrator密码P@ssw0rd
AServer09(Linux)系统:用户名root密码123456
二、说明:
1.所有截图要求截图界面、字体清晰,并粘贴于相应题目要求的位置;
2.文件名命名及保存:网络安全模块A-XX(XX为工位号),PDF格式保存;
3.文件保存到U盘提交。
A-1 登录安全加固(Windows, Linux)
请对服务器Windows、Linux按要求进行相应的设置,提高服务器的安全性。
1.密码策略(Windows, Linux)
a.最小密码长度不少于13个字符(Windows),将密码长度最小值的属性配置界面截图:
b.密码必须符合复杂性要求(Linux),将/etc/pam.d/system-auth配置文件中对应的部分截图:
2.用户安全管理(Windows)
a.设置取得文件或其他对象的所有权,将该权限只指派给administrators组,将取得文件或其它对象的所有权属性的配置界面截图:
b.禁止普通用户使用命令提示符,将阻止访问命令提示符配置界面截图:
A-2 Nginx安全策略(Linux)
1.禁止目录浏览和隐藏服务器版本和信息显示,将/etc/nginx/nginx.conf配置文件相关配置项截图:
2. 限 制 HTTP 请 求 方 式 , 只 允 许 GET 、 HEAD 、 POST , 将/etc/nginx/conf.d/default.conf配置文件相关配置项截图:
3.设置客户端请求主体读取超时时间为10,将/etc/nginx/nginx.conf配置文件相关配置项截图:
4.设置客户端请求头读取超时时间为10,将/etc/nginx/nginx.conf配置文件相关配置项截图:
5.将Nginx服务降权,使用www用户启动服务,将/etc/nginx/nginx.conf配置文件相关配置项截图:
A-3 日志监控(Windows)
1.安全日志文件最大大小为128MB,设置当达到最大的日志大小上限时,按需要覆盖事件(旧事件优先),将日志属性-安全(类型:管理的)配置界面截图:
2.应用日志文件最大大小为64MB,设置当达到最大的日志大小上限时将其存档,不覆盖事件,将日志属性-应用程序(类型:管理的)配置界面截图:
3.系统日志文件最大大小为32MB,设置当达到最大的日志大小上限时,不覆盖事件(手动清除日志),将日志属性-系统(类型:管理的)配置界面截图:
A-4 中间件服务加固SSHD\VSFTPD\IIS(Windows, Linux)
1.SSH服务加固(Linux)
a.修改ssh服务端口为2222,使用命令netstat -anltp | grep sshd查看SSH服务端口信息,将回显结果截图:
b.ssh禁止root用户远程登录,将/etc/ssh/sshd_config配置文件中对应的部分截图:
c.设置root用户的计划任务。每天早上7:50自动开启ssh服务,22:50关闭;每周六的7:30重新启动ssh服务,使用命令 crontab -l,将回显结果截图:
d.修改SSHD的PID档案存放地,将/etc/ssh/sshd_config配置文件中对应的部分截图;
2.VSFTPD服务加固(Linux)
a.设置运行vsftpd的非特权系统用户为pyftp,将/etc/vsftpd/vsftpd.conf配置文件下的相关配置项截图:
b.限制客户端连接的端口范围在50000-60000,将/etc/vsftpd/vsftpd.conf配置文件下的相关配置项截图:
c.限制本地用户登录活动范围限制在home目录,将/etc/vsftpd/vsftpd.conf配置文件下的相关配置项截图:
d.设置数据连接的超时时间为2分钟,将/etc/vsftpd/vsftpd.conf配置文件中对应的部分截图:
e.设置站点本地用户访问的最大传输速率为1M,将/etc/vsftpd/vsftpd.conf配置文件中对应的部分截图:
3.IIS加固(Windows)
a.开启IIS的日志审计记录(日志文件保存格式为W3C,只记录日期、时间、客户端
IP地址、用户名、方法),将W3C日志记录字段配置页面截图:
b.关闭IIS的WebDAV功能增强网站的安全性,将警报提示信息截图:
c.防止文件枚举漏洞枚举网络服务器根目录文件,禁止IIS短文件名
泄露,将配置命令截图。
A-5 本地安全策略(Windows)
1.禁止匿名枚举SAM帐户,将不允许SAM账户的匿名枚举的属性配置界面截图:
2.禁止系统在未登录的情况下关闭,将允许系统在未登录的情况下关闭的属性配置界面截图:
3.禁止存储网络身份验证的密码和凭据,将不允许存储网络身份验证的密码和凭据的属性配置界面截图:
4.禁止将Everyone权限应用于匿名用户,将Everyone权限应用于匿名用户的属性配置界面截图:
5.在超过登录时间后强制注销,将在超过登录时间后强制注销的属性配置界面截图:
6.关闭系统时清除虚拟内存页面文件,将关机:清除虚拟内存页面文件的属性配置界面截图:
7.禁止软盘复制并访问所有驱动器和所有文件夹,将恢复控制台:允许软盘复制并访问所有驱动器和所有文件夹的属性配置界面截图:
8.设置不显示上次登录的用户名,将交互式登录:不显示最后的用户名属性 配置界面截图:
A-6 防火墙策略(Linux)
1.设置防火墙允许本机转发除ICMP协议以外的所有数据包,将iptables配置命令截图:
2.为防止SSH服务被暴力枚举,设置iptables防火墙策略仅允许172.16.10.0/24网段内的主机通过SSH连接本机,将iptables配置命令截图:
3.为防御拒绝服务攻击,设置iptables防火墙策略对传入的流量进行过滤,限制每分钟允许3个包传入,并将瞬间流量设定为一次最多处理6个数据包(超过上限的网络数据包将丢弃不予处理),将iptables配置命令截图:
4.只允许转发来自172.16.0.0/24局域网段的DNS解析请求数据包,将iptables配置命令截图:
5.为防御IP碎片攻击,设置iptables防火墙策略限制IP碎片的数量,仅允许每秒处理1000个,将iptables配置命令截图:
6.禁止转发来自MAC地址为29:0E:29:27:65:EF主机的数据包,将iptables配置命令截图:
7.禁止任何机器ping本机,将iptables配置命令截图:
8.禁止本机ping任何机器,将iptables配置命令截图:
(三)B模块安全事件响应/网络安全数据取证/应用安全(400分)
B-1:Windows操作系统渗透测试
- 服务器场景:Server2105(关闭链接)
- 服务器场景操作系统:Windows(版本不详)
- 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景网络连接信息中的DNS信息作为Flag值 (例如:114.114.114.114) 提交;
- 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景中的当前最高账户管理员的密码作为Flag值提交;
- 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上111 文件夹中唯一一个后缀为.docx文件的文件名称作为Flag值提交;
- 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上111 文件夹中唯一一个后缀为.docx文件的文档内容作为Flag值提交;
- 通过本地PC中渗透测试平台Kali对服务器场景进行渗透测试,将该场景桌面上222 文件夹中唯一一个图片中的英文单词作为Flag值提交;
B-2:网络安全事件应急响应
- 服务器场景:Server2229(开放链接)
- 用户名:root,密码:p@ssw0rd123
- 找出黑客植入到系统中的二进制木马程序,并将木马程序的名称作为Flag值(若存在多个提交时使用英文逗号隔开,例如bin,sbin,...)提交;
- 找出被黑客修改的系统默认指令,并将被修改的指令里最后一个单词作为Flag值提交;
- 找出被黑客替换的系统指令,并将其绝对路径作为Flag值提交;
- 找出被黑客修改的服务配置文件,将文件的md5值前四位作为Flag值提交;
- 找出系统中的弱口令账号,将该账号的用户名及密码作为Flag值(用户名和密码之间用英文冒号隔开,例如:root:toor)提交
B-3:内存取证
- 仅能获取win20230306的IP地址
- FTP用户名:user,密码:123456
在服务器中下载内存片段,在内存片段中获取主机信息,将管理员密码作为Flag值提交;
- 在内存片段中获取主机信息,将此片段的地址作为Flag值提交;
- 在内存片段中获取主机信息,将此片段的主机名作为Flag值提交;
- 在内存片段中获取主机信息,将挖矿程序的地址及端口号作为Flag值提交;(若为多个用;分开)
- 在内存片段中获取主机信息,将后台恶意程序所用的程序名称作为Flag值提交;
- 在内存片段中获取主机信息,将此时的浏览器搜寻的关键词作为Flag值提交。
B-4:Linux系统渗透提权
- 服务器场景:Server2204(关闭链接)
- 用户名:hacker 密码:123456
- 使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;
- 使用渗透机对服务器信息收集,并将服务器中主机名称作为flag提交;
- 使用渗透机对服务器信息收集,并将服务器中系统内核版本作为flag提交;
- 使用渗透机对服务器管理员提权,并将服务器中root目录下的文本内容作为flag提交;
- 使用渗透机对服务器管理员提权,并将服务器中root的密码作为flag提交;
- 使用渗透机对服务器管理员提权,并将服务器中root目录下的图片内容作为flag提
交。
B-5:系统渗透
- 仅能获取lin20230503的IP地址
- 用户名:hello,密码:未知
在渗透机中对服务器主机进行信息收集,将服务器开启的端口号作为Flag值提交;
- 在渗透机中对服务器主机进行渗透,在服务器主机中获取服务器主机名称,将主机名作为Flag值提交;
- 在渗透机中对服务器主机进行渗透,在服务器主机中获取内核版本,将内核版本作为Flag提交;
- 在渗透机中对服务器主机进行渗透,在服务器主机中获取管理员的密码,将密码作为Flag提交;
- 在渗透机中对服务器主机进行渗透,在服务器主机中找到根目录下的flag文件,将文件中的内容作为Flag值提交;
- 在渗透机中对服务器主机进行渗透,在服务器主机中找到管理员家目录下的flag文
件,将文件中的内容作为Flag值提交。
B-6:逆向分析
- 任务说明:Server2023111301(开放链接)
- 用户名:Administrator,密码:123456
在 JavaScript 语言中,将给定的长字符串转换为一个数组的方法,将该方法应用于逆向解码操作(可执行文件位于Server2023111301桌面逆向分析文件夹中),所得
的结果进行Base64运算,将过程中使用的方法作为Flag值提交(例如: array.splice());
- 写出在字符串中匹配连续的四个字符,且每两个字符之间用空格分隔的正则匹配表达式,将该正则表达式应用于逆向解码操作,所得的结果进行Base64运算,将过程中使用的方法作为Flag值提交(例如:array.splice());
- 使用 JavaScript 中的方法,将迭代器中的每个匹配项取出第一个字符,也就是每个四字符组的第一个字符。将该方法应用于逆向解码操作,所得的结果进行Base64 运算,将过程中使用的方法作为Flag值提交(例如:array.splice());
- 使用 JavaScript 中的方法,对上一个步骤中得到的结果的字符进行操作,将它们用空格分隔、反转顺序,然后再连接起来。所得的结果进行Base64运算,将过程中使用的方法作为Flag值提交(例如:array.splice());
- 使用 JavaScript 中的方法,将倒序排列后的字符解释为十六进制数字,然后将其
右移2位。所得的结果进行Base64运算,将过程中使用的方法作为Flag值提交(例如: array.splice());
- 将上一步处理后的数字转换为相应的Unicode字符。并将所有转换后的Unicode字符连接成一个字符串。所得的结果进行Base64运算,将运算后得到的结果作为Flag值提交。
B-7:横向渗透测试活动溯源
- 服务器场景Server1282
- 服务器场景用户名、密码:test/P@ssw0rd123(开放链接),提供的工具: brimdata(z-ui);数据包路径:/home/test/1206.pcapng
- 使用工具找到攻击者首次成功攻击的计算机源网络IP地址,并将其作为Flag值提交;
- 使用工具溯源攻击者的攻击路径,请将攻击者首次攻击的计算机名作为Flag值提交;
- 使用工具找出攻击者用于身份验证的用户名,并将该用户名作为Flag值提交;
- 使用工具查找攻击者在受害目标机器上使用的恶意文件名,并将其作为Flag值提交;
- 使用工具找到攻击者利用的网络共享通信的名字,并将其作为Flag值提交;
- 使用工具找出攻击者试图横向移动的计算机名称,并将其作为Flag值提交。
B-8:恶意DLL木马文件分析
ü 服务器场景Server2561 用户名:Administrator 密码p@ssw0rd
- 分析桌面上的恶意木马压缩文件,找出木马调用的dll文件名称,并将调用的dll文件名作为Flag值提交(Flag排序按照首英文首字母的顺序,多个dll之间以英文逗号隔开);
- 分析第一个dll文件,找出恶意文件为防止程序多开创建的函数,并将该函数名称作为Flag值提交;
- 分析第一个dll文件,找出该代码构造出的可执行文件,并将可执行文件的名称作为
Flag值提交;
- 分析第二个dll文件,找出它最终跳转的有效dll,并将该dll作为Flag值提交;
- 分析恶意木马文件,找出木马运行后调用的四个可执行文件,并将调用的exe文件名
作为Flag值提交(Flag排序按照首英文首字母的顺序,多个exe之间以英文逗号隔开);
- 分析恶意木马文件,找出木马运行后对键盘活动进行记录后存储的文件,并存储键盘记录文件的绝对路径作为Flag值提交;
- 分析第三个dll文件,找出恶意DLL装载病毒的函数位置,并将函数位置作为Flag值提交(例如:sub_10010010,sub_10010020);
(四)模块C CTF夺旗-攻击(200分)
一、项目和任务描述:
假定你是某企业的网络安全渗透测试工程师,负责企业某些服务器的安全防护,为了更好的寻找企业网络中可能存在的各种问题和漏洞。你尝试利用各种攻击手段,攻击特定靶机,以便了解最新的攻击手段和技术,了解网络黑客的心态,从而改善您的防御策略。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录答题平台。
二、操作系统环境说明:
客户机操作系统:Windows 10/Windows7
靶机服务器操作系统:Linux/Windows
三、漏洞情况说明:
1.服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.靶机服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.靶机服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.靶机服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项:
1.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
2.flag值为每台靶机服务器的唯一性标识,每台靶机服务器同一时间内仅有1个;
3.在登录自动评分系统后,提交靶机服务器的flag值,同时需要提交该靶机服务器的网关地址;
4.本环节不予补时。
(五)模块D CTF夺旗-防御(200分)
一、项目和任务描述:
假定各位选手是某安全企业的网络安全工程师,负责若干服务器的渗透测试与安全防护,这些服务器可能存在着各种问题和漏洞。你需要尽快对这些服务器进行渗透测试与安全防护。每个参赛队拥有专属的堡垒机服务器,其他队不能访问。参赛选手通过扫描、渗透测试等手段检测自己堡垒服务器中存在的安全缺陷,进行针对性加固,从而提升系统的安全防御性能。
请根据《赛场参数表》提供的信息,在客户端使用谷歌浏览器登录需要加固的堡垒服务器。
二、操作系统环境说明:
客户机操作系统:Windows 10/Windows7
堡垒服务器操作系统:Linux/Windows
三、漏洞情况说明:
1.堡垒服务器中的漏洞可能是常规漏洞也可能是系统漏洞;
2.堡垒服务器上的网站可能存在命令注入的漏洞,要求选手找到命令注入的相关漏洞,利用此漏洞获取一定权限;
3.堡垒服务器上的网站可能存在文件上传漏洞,要求选手找到文件上传的相关漏洞,利用此漏洞获取一定权限;
4.堡垒服务器上的网站可能存在文件包含漏洞,要求选手找到文件包含的相关漏洞,与别的漏洞相结合获取一定权限并进行提权;
5.操作系统提供的服务可能包含了远程代码执行的漏洞,要求用户找到远程代码执行的服务,并利用此漏洞获取系统权限;
6.操作系统提供的服务可能包含了缓冲区溢出漏洞,要求用户找到缓冲区溢出漏洞的服务,并利用此漏洞获取系统权限;
7.操作系统中可能存在一些系统后门,选手可以找到此后门,并利用预留的后门直接获取到系统权限。
四、注意事项:
1.每位选手需要对加固点和加固过程截图,并自行制作系统防御实施报告,最终评分以实施报告为准;
2.系统加固时需要保证堡垒服务器对外提供服务的可用性;
3.不能对裁判服务器进行攻击,警告一次后若继续攻击将判令该参赛队离场;
4.本环节不予补时。
二、说明:
1.所有截图要求截图界面、字体清晰;
2.文件名命名及保存:网络安全模块D-XX(XX为工位号),PDF格式保存;
3.文件保存到U盘提交。
需要资源私信博主!!!
相关文章:
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书正式赛题
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书-A 目录 一、竞赛阶段 二、竞赛任务书内容 (一)拓扑图 (二)模块A 基础设施设置与安全加固(200分) (三)B模块安全事件响应/网络安全数据取证/…...
Redis内存碎片详解
什么是内存碎片? 你可以将内存碎片简单地理解为那些不可用的空闲内存。 举个例子:操作系统为你分配了 32 字节的连续内存空间,而你存储数据实际只需要使用 24 字节内存空间,那这多余出来的 8 字节内存空间如果后续没办法再被分配存储其他数…...
Python球球大作战
系列文章 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…...
机器学习(Machine Learning)的安全问题
最近看论文,看到了”对抗样本“的一些内容,然后又研究了一下其背后的东西,发现还有”机器学习的安全“这一问题,然后找了几篇博客看了一下,发现了篇2019年的比较有意思的文章,这里整理一下,方编…...
ROS1安装教程
一、环境准备 操作系统:Ubuntu 20.04 LTS 注:为保证系统干净,本文使用Docker进行 演示,如已安装相应的Ubuntu系统请忽略。 Docker安装Ubuntu系统步骤如下: # 拉取镜像 docker pull ubuntu:20.04# 创建容器 docker ru…...
大腾智能CAD:国产云原生三维设计新选择
在快速发展的工业设计领域,CAD软件已成为不可或缺的核心工具。它通过强大的建模、分析、优化等功能,不仅显著提升了设计效率与精度,还促进了设计思维的创新与拓展,为产品从概念构想到实体制造的全过程提供了强有力的技术支持。然而…...
Docker 入门:如何使用 Docker 容器化 AI 项目(一)
引言 在人工智能(AI)项目的开发和部署过程中,环境配置和依赖管理往往是开发者遇到的挑战之一。开发者通常需要在不同的机器上运行同样的代码,确保每个人使用的环境一致,才能避免 “在我的机器上可以运行”的尴尬问题。…...
【04-数据库面试】
如何创建一个新的数据库 数据库是现代信息技术中不可或缺的一部分,它为存储、检索和管理数据提供了强大的工具。无论是企业还是个人,都可能需要创建自己的数据库以满足特定的需求。本文将详细介绍创建一个新数据库的步骤,包括规划、选择数据…...
单元测试使用记录
什么是单元测试 简单来说就是对一个类中的方法进行测试,对输出的结果检查判断是否符合预期结果 但是在多年的工作中,从来没有哪个项目中真正系统的用到了单元测试,因此对它还是很陌生的,也就造成更加不会在项目中区使用它。 如何…...
《深入浅出 Servlet:Java Web 开发的基石》(二)
ServletConfig(熟练) ServletConfig对象对应web.xml文件中的<servlet>元素。例如你想获取当前Servlet在web.xml文件中的配置名,那么可以使用servletConfig.getServletName()方法获取! 你不能自己去创建ServletConfig对象,Servlet的in…...
Pytorch | 从零构建MobileNet对CIFAR10进行分类
Pytorch | 从零构建MobileNet对CIFAR10进行分类 CIFAR10数据集MobileNet设计理念网络结构技术优势应用领域 MobileNet结构代码详解结构代码代码详解DepthwiseSeparableConv 类初始化方法前向传播 forward 方法 MobileNet 类初始化方法前向传播 forward 方法 训练过程和测试结果…...
冯诺依曼架构与哈佛架构的对比与应用
冯诺依曼架构(Von Neumann Architecture),也称为 冯诺依曼模型,是由著名数学家和计算机科学家约翰冯诺依曼(John von Neumann)在1945年提出的。冯诺依曼架构为现代计算机奠定了基础,几乎所有现代…...
【Java基础面试题032】Java中的字节码是什么?
回答重点 Java字节码是Java编译器将Java源代码编译后生成的 位于Java源代码与JVM执行的执行的机器码之间。 Java字节码由JVM解释或即时编译(JIT)为机器码执行 扩展知识 Java字节码的关键点 1)字节码结构: Java字节码是与平…...
K8s ConfigMap的基础功能介绍
在 Kubernetes 中,ConfigMap 是一种用于管理配置信息的资源对象,它允许你将 配置信息与代码解耦,方便管理和更新应用配置,而无需重新构建镜像或重启服务。 ConfigMap 的功能 存储配置信息: 可以以 键值对 的形式存储配…...
stm32制作CAN适配器4--WinUsb的使用
前面使用STM32G474芯片的USB模块做了一个CANFD程序,当时用的是HID模式,在实际使用时发现HID模块的通讯速率太慢了,只能1ms传输一帧,就会造成有些掉帧现象。 现在就把HID模块改为在Window下同样免驱的WinUsb来实现CANFD数据的传输。…...
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组
深入理解 Java 中的 ArrayList 和 List:泛型与动态数组 在 Java 编程中,ArrayList 和 List 是最常用的集合类之一。它们帮助我们管理动态数据,支持按索引访问、增加、删除元素等操作。尤其在使用泛型时,理解它们之间的关系及应用…...
[react 3种方法] 获取ant组件ref用ts如何定义?
获取ant的轮播图组件, 我用ts如何定义? Strongly Type useRef with ElementRef | Total TypeScript import React, { ElementRef } from react; const lunboRef useRef<ElementRef<typeof Carousel>>(null); <Carousel autoplay ref{lunboRef}> 这样就…...
VS Code Copilot 与 Cursor 对比
选手简介 VS Code Copilot:算是“老牌”编程助手了,虽然Copilot在别的编辑器上也有扩展,不过体验最好的还是VS Code,毕竟都是微软家的所以功能集成更好一些;主要提供的是Complete和Chat能力,也就是代码补全…...
华为IPD流程6大阶段370个流程活动详解_第一阶段:概念阶段 — 81个活动
华为IPD流程涵盖了产品从概念到上市的完整过程,各阶段活动明确且相互衔接。在概念启动阶段,产品经理和项目经理分析可行性,PAC评审后成立PDT。概念阶段则包括产品描述、市场定位、投资期望等内容的确定,同时组建PDT核心组并准备项目环境。团队培训涵盖团队建设、流程、业务…...
Vue3组件封装技巧与心得
摘要: 日常开发中,用Vue组件进行业务拆分,代码解耦是一个很好的选择; 今天就来分享一下我在使用Vue3进行组件封装的一些技巧和心得,希望能够帮助到大家; 1. 组件特性: 在Vue中组件是一个独立的…...
15.初识接口1 C#
这是一个用于实验接口的代码 适合初认识接口的人 【CSDN开头介绍】(文心一言AI生成) 在C#编程世界中,接口(Interface)扮演着至关重要的角色,它定义了一组方法,但不提供这些方法的实现。它要求所…...
渗透测试-前端加密分析之RSA加密登录(密钥来源本地)
本文是高级前端加解密与验签实战的第5篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过前端RSA加密来爆破登录。 分析 generateKey函数用来生成随机的RSA公私钥 加密的格式如下: {"username":"admin…...
题海拾贝:力扣 86.分隔链表
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞,关注! 1、题…...
《Mycat核心技术》第06章:Mycat问题处理总结
作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀,…...
前端实现图片压缩
前端实现图片压缩的主要方法有: 使用 HTML5 的 API 利用 canvas 将图片绘制到画布上,然后通过 toDataURL 方法获取压缩后的图片数据。 使用第三方库 借助 compressorjs、browser-image-compression 等开源库,快速实现高质量的图片压缩功能。…...
Python OCR 文字识别
一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…...
怿星科技联合赛力斯举办workshop活动,进一步推动双方合作
12月18日,由怿星科技与赛力斯汽车联合举办的workshop活动在赛力斯五云湖总部展开,双方嘉宾围绕智能汽车发展趋势、行业前沿技术、汽车电子网络与功能测试等核心议题展开了深度对话与交流,并现场参观演示了多套前沿产品。怿星科技CEO潘凯、汽车…...
Vue.js前端框架教程1:Vue应用启动和Vue组件
文章目录 Vue 应用Vue 应用的主要组成部分:启动 Vue 应用:Vue组件基础组件组件注册父子组件组件插槽(Slots)动态组件和 `keep-alive`Vue 应用 Vue 应用由几个主要部分组成,每个部分都有其特定的角色和职责。以下是 Vue 应用的主要组成部分以及如何启动一个 Vue 应用的介绍…...
LabVIEW深海气密采水器测控系统
LabVIEW的深海气密采水器测控系统通过高性价比的硬件选择与自主开发的软件,实现了高精度的温度、盐度和深度测量,并在实际海上试验中得到了有效验证。 项目背景 深海气密采水器是进行海底科学研究的关键工具,用LabVIEW开发了一套测控系统&am…...
SpringBoot 启动类 SpringApplication 二 run方法
配置 在Program arguments配置2个参数:--server.port8081 --spring.profiles.activedev。 run方法 run方法执行结束代表SpringBoot启动完成,即完成加载bean。 // ConfigurableApplicationContext 是IOC容器 public ConfigurableApplicationContext ru…...
【java基础系列】实现一个简单的猜数字小游戏
主要是用的java中的键盘录入和随机数两个api,实现这种人机交互的小游戏,可以用来锻炼基础算法思维 实现效果 实现代码 package com.gaofeng.day10;import java.util.Random; import java.util.Scanner;/*** author gaofeng* date 2024-12-22 - 9:21*/ …...
Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案
一、背景介绍 在我国的大江南北遍布着各种各样的果园,针对这些地处偏僻的果园及农场等环境,较为传统的安全防范方式是建立围墙,但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏,因此为了及时发现和处理一些难以察觉的问题&…...
clickhouse-题库
1、clickhouse介绍以及架构 clickhouse一个分布式列式存储数据库,主要用于在线分析查询 2、列式存储和行式存储有什么区别? 行式存储: 1)、数据是按行存储的 2)、没有建立索引的查询消耗很大的IO 3)、建…...
kafka常用命令
安装kafka注意事项 修改 、vim kafka/config/server.properties 三个地方①brokerId ②logs地址③指定节点 一、创建主题 (必须指定分区,指定副本) #在kafka bin目录下执行以下命令 #①连接hadoop01 创建主题为TEST 分区1 副本3个 bin/ka…...
在 Django 中使用 SMTP 发送邮件是一个常见的需求
在 Django 中使用 SMTP 发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等。下面是一个简单的示例,展示了如何在 Django 中配置 SMTP 发送邮件,并创建一个包含表单、路由和视图的界面来发送邮件。 1. 配置 Django 项目…...
JS中的原型与原型链
1. 基本概念 原型(Prototype):每个对象都有一个内部属性 [[Prototype]],通常通过 __proto__ 访问(非标准,但广泛支持)。 原型链(Prototype Chain):对象通过原…...
STM32F407 | Embedded IDE01 - vscode搭建Embedded IDE开发环境(支持JLINK、STLINK、DAPLINK)
导言 Embedded IDE官网:https://em-ide.com/docs/intro 我猜肯定有部分人使用SI Keil开发STM32项目,也有vscode Keil开发STM32程序。SI或vscode编写代码,然后切换Keil编译、下载、调试程序。有一段时间,我也是这么干的。但是,程…...
放弃机器学习框架,如何用Python做物体检测?
每当我们听说“物体检测”时,就会想到机器学习和各种不同的框架。但实际上,我们可以在不使用机器学习或任何其他框架的情况下进行物体检测。在本文中,我将向你展示如何仅使用Python进行操作。 首先,我们定义一个模板图像…...
基于langchain的Agent(实现实时查询天气)
心血来潮,玩一下Agent,实现了多轮对话功能 import requests, jsonfrom langchain.agents import load_tools from langchain.agents import initialize_agent from langchain_community.llms.tongyi import Tongyi from langchain.memory import Conver…...
OB删除1.5亿数据耗费2小时
目录 回顾:mysql是怎么删除数据的? 删除方案 代码实现 执行结果 结论 本篇是实际操作 批量处理数据以及线程池线程数设置 记录学习 背景:有一张用户标签表,存储数据量达4个亿,使用OceanBase存储,由于…...
深度学习之目标检测——RCNN
Selective Search 背景:事先不知道需要检测哪个类别,且候选目标存在层级关系与尺度关系 常规解决方法:穷举法,在原始图片上进行不同尺度不同大小的滑窗,获取每个可能的位置 弊端:计算量大,且尺度不能兼顾 Selective …...
Vue.js前端框架教程7:Vue计算属性和moment.js
文章目录 计算属性(Computed Properties)基本用法缓存机制计算属性 vs 方法使用场景计算属性的 setter 和 getter结论Moment.js 进行时间处理1. 安装 Moment.js2. 在 Vue 组件中引入 Moment.js3. 在全局使用 Moment.js4. 使用 Vue 插件的方式引入 Moment.js5. 常用日期格式化…...
了解RPC
本文来自智谱清言 --------- RPC(Remote Procedure Call,远程过程调用)是一种允许程序调用位于远程计算机上的子程序或服务的技术。这种技术使得构建分布式计算变得更加容易,因为它提供了强大的远程调用能力,同时保持…...
【Go】Go数据类型详解—指针
1. 前言 在我看来,一门编程语言语法的核心就在于数据类型。而各类编程语言的基本数据类型大致相同:int整型、float浮点型、string字符串类型、bool布尔类型,但是在一些进阶数据类型上就有所不同了。本文将会介绍Go语言当中核心的数据类型——…...
C++ 中的智能指针与内存管理:从基础到进阶
在 C 中,内存管理是一个至关重要的课题,尤其是当程序复杂度逐渐增加时。传统的手动内存管理方式(使用 new 和 delete)容易引发内存泄漏、悬挂指针等问题。为了简化内存管理,C11 引入了智能指针(std::unique…...
二、使用langchain搭建RAG:金融问答机器人--数据清洗和切片
选择金融领域的专业文档作为源文件 这里选择 《博金大模型挑战赛-金融千问14b数据集》,这个数据集包含若干公司的年报,我们将利用这个年报搭建金融问答机器人。 具体下载地址 这里 git clone https://www.modelscope.cn/datasets/BJQW14B/bs_challenge_…...
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
1. 上下标 # 注意y轴标签文字 library(ggplot2) ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))2. 希腊字母,如alpha ggplot(mtcars, aes(mpg, cyl))geom_point()ylab(label bquote(O[3]~(ug / m^3)))ggtitle(expression(alpha))…...
版本更新导致前端网站资源加载失败:Failed to fetch dynamically imported module
前端网站在维护过程中经常有版本更新和重新部署,而这会导致一些问题,其中某些问题会导致更新时,正在网站中的用户无法正常使用。 异常 Failed to fetch dynamically imported module 的诱发原因之一就是版本更新:在用户访问网站的…...
CentOS 7 安装、测试和部署FastDFS
目录 FastDFS环境搭建 安装 libfastcommon 库 安装FastDFS 查看编译后的文件 FastDFS配置 FastDFS启动 启动tracker服务 启动storage服务 查看storage是否已经注册到了tracker下 查看存储文件的目录 FastDFS重启 FastDFS关闭 使用fdfs_test进行测试 修改client.co…...
elasticache备份
Elasticsearch 本地快照操作流程 配置快照存储路径 在 elasticsearch.yml 文件中配置以下字段以指定数据、日志和快照存储路径:path:data: /data/data # 数据存储路径logs: /data/log # 日志存储路径repo: /data/snapshot # 快照存储路径确保路径 /dat…...