Kali 网络参数的配置
手工方式
Wired 有线
Woreless 无线
图形化的网络管理器(依赖的服务:NetworkManager)
┌──(root㉿kali)-[~]
└─# systemctl status NetworkManager
● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; preset: enabled)Active: active (running) since Tue 2023-08-22 10:20:19 CST; 4h 12min agoDocs: man:NetworkManager(8)Main PID: 657 (NetworkManager)Tasks: 4 (limit: 1014)Memory: 4.9MCPU: 2.185sCGroup: /system.slice/NetworkManager.service└─657 /usr/sbin/NetworkManager --no-daemon8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0241] dhcp4 (eth0): activation: >
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0757] dhcp4 (eth0): state change>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0767] policy: set 'Wired connect>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.0944] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1346] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1353] device (eth0): state chang>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1382] manager: NetworkManager st>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1434] device (eth0): Activation:>
8月 22 14:09:13 kali NetworkManager[657]: <info> [1692684553.1491] manager: NetworkManager st>
8月 22 14:24:13 kali NetworkManager[657]: <info> [1692685453.0681] dhcp4 (eth0): state change>
手工配置ip
┌──(root㉿kali)-[~]
└─# ifconfig eth0 down┌──(root㉿kali)-[~]
└─# ifconfig eth0 up ┌──(root㉿kali)-[~]
└─# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.195.102 netmask 255.255.255.0 broadcast 192.168.195.255inet6 fe80::c1e0:3920:f4c7:66fd prefixlen 64 scopeid 0x20<link>ether 00:0c:29:76:ad:97 txqueuelen 1000 (Ethernet)RX packets 4344 bytes 369947 (361.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 473 bytes 66629 (65.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
命令查看相关信息
## ip地址/掩码 ifconfig eth0 或 ip a
┌──(root㉿kali)-[~]
└─# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.56.130 netmask 255.255.255.0 broadcast 192.168.56.255inet6 fe80::20c:29ff:fe76:ad97 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:76:ad:97 txqueuelen 1000 (Ethernet)RX packets 4147 bytes 353381 (345.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 435 bytes 63633 (62.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0## 网关(默认路由) ip route show (简写:ip r)┌──(root㉿kali)-[~]
└─# ip route show
default via 192.168.56.2 dev eth0 proto dhcp src 192.168.56.130 metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.130 metric 100 ┌──(root㉿kali)-[~]
└─# ip r
default via 192.168.56.2 dev eth0 proto dhcp src 192.168.56.130 metric 100
192.168.56.0/24 dev eth0 proto kernel scope link src 192.168.56.130 metric 100 ## DNS cat /etc/resolv.conf nameserver 名称服务器
┌──(root㉿kali)-[~]
└─# cat /etc/resolv.conf
domain localdomain
search localdomain
nameserver 192.168.56.2
通过修改网卡的配置文件
┌──(root㉿kali)-[~]
└─# ls /etc/network/interfaces
/etc/network/interfaces
NO1.把NetworkManager服务关闭并设置为开机不启动
┌──(root㉿kali)-[~] ## systemctl stop NetworkManager 关闭
└─# systemctl stop NetworkManager ┌──(root㉿kali)-[~] ## 开机不启动 systemctl disable NetworkManager
└─# systemctl disable NetworkManager
Removed "/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service".
Removed "/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service".
Removed "/etc/systemd/system/multi-user.target.wants/NetworkManager.service".┌──(root㉿kali)-[~] ## 查看状态:systemctl status NetworkManager
└─# systemctl status NetworkManager
○ NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; disabled; preset: enabled)Active: inactive (dead) since Tue 2023-08-22 14:52:11 CST; 29s agoDuration: 4h 31min 52.135sDocs: man:NetworkManager(8)Main PID: 657 (code=exited, status=0/SUCCESS)CPU: 2.428s8月 22 14:45:47 kali NetworkManager[657]: <info> [1692686747.9199] device (eth0): Activation:>
8月 22 14:45:47 kali NetworkManager[657]: <info> [1692686747.9272] manager: NetworkManager st>
8月 22 14:46:10 kali NetworkManager[657]: <info> [1692686770.8799] audit: op="connection-upda>
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7085] caught SIGTERM, shutting d>
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7092] manager: NetworkManager st>
8月 22 14:52:11 kali systemd[1]: Stopping NetworkManager.service - Network Manager...
8月 22 14:52:11 kali NetworkManager[657]: <info> [1692687131.7302] exiting (success)
8月 22 14:52:11 kali systemd[1]: NetworkManager.service: Deactivated successfully.
8月 22 14:52:11 kali systemd[1]: Stopped NetworkManager.service - Network Manager.
8月 22 14:52:11 kali systemd[1]: NetworkManager.service: Consumed 2.428s CPU time.
NO2.通过man查看配置如何编写
auto eth0 ## 启动时激活网卡
iface eht0 inet static ## 接口为eth0,地址指派方式为静态address 192.168.195.76/24 ## ip地址gateway 192.168.195.2 ## 网关## :set mouse=v vi中支持鼠标选中复制
## :set nu vi中设置行号
## :set nonu vi中取消行号
NO3. 要使配置内容生效,需要重启网络服务
──(root㉿kali)-[~]
└─# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eht0 inet staticaddress 192.168.195.76/24gateway 192.168.195.2┌──(root㉿kali)-[~]
└─# systemctl restart networking
修改DNS
通过修改 /etc/resolv.conf
┌──(root㉿kali)-[~]
└─# vi /etc/resolv.conf ┌──(root㉿kali)-[~] ## 最多可配置三个
└─# cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.56.2
nameserver 8.8.8.8
nameserver 114.114.114.114## 可通过下面方式修改 2
echo "nameserver 223.6.6.6" > /etc/resolv.conf## 可通过下面方式修改 3 sed 是非交互式文本编辑器
sed 's/old/new/'
sed 's/nameserver 223.6.6.6/nameserver 8.8.8.8' /etc/resolv.conf ## 预改动
sed -i 's/nameserver 223.6.6.6/nameserver 8.8.8.8' /etc/resolv.conf ## 对原始文件进行修改
使用dig工具获取DNS信息
黑客可以使用DNS从目标处收集信息这些信息可能包含
目标名称服务器(将目标名称转换成 IP 地址的服务器)的 IP地址(A记录)
目标邮件服务器(MX记录)
潜在的所有子域名和 IP 地址
┌──(root㉿kali)-[~]
└─# dig hackers-arise.com ns; <<>> DiG 9.18.16-1-Debian <<>> hackers-arise.com ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41347
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;hackers-arise.com. IN NS;; ANSWER SECTION:
hackers-arise.com. 5 IN NS ns6.wixdns.net.
hackers-arise.com. 5 IN NS ns7.wixdns.net.;; ADDITIONAL SECTION:
ns6.wixdns.net. 5 IN A 216.239.32.100
ns7.wixdns.net. 5 IN A 216.239.34.100;; Query time: 2192 msec
;; SERVER: 192.168.56.2#53(192.168.56.2) (UDP)
;; WHEN: Wed Aug 23 10:04:22 CST 2023
;; MSG SIZE rcvd: 124┌──(root㉿kali)-[~]
└─# dig hackers-arise.com mx; <<>> DiG 9.18.16-1-Debian <<>> hackers-arise.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47404
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:
;hackers-arise.com. IN MX;; ANSWER SECTION:
hackers-arise.com. 5 IN MX 10 aspmx.l.google.com.
hackers-arise.com. 5 IN MX 20 alt1.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 30 alt2.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 40 alt3.aspmx.l.google.com.
hackers-arise.com. 5 IN MX 50 alt4.aspmx.l.google.com.;; Query time: 2824 msec
;; SERVER: 192.168.56.2#53(192.168.56.2) (UDP)
;; WHEN: Wed Aug 23 10:08:59 CST 2023
;; MSG SIZE rcvd: 150──(root㉿kali)-[~] ## 向指定的dns服务器查询
└─# dig qq.com any @8.8.8.8 ; <<>> DiG 9.18.16-1-Debian <<>> qq.com any @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 53864
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; EDE: 23 (Network Error): ([183.36.112.46] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.220.251] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.249.143] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([101.227.218.144] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.195.104] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([157.255.246.101] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([2402:4e00:8010:1::11c] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([117.184.232.216] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([58.144.154.100] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([112.60.1.69] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([2402:4e00:8030::111] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([59.36.132.142] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([240e:9f:c600::8] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([121.51.160.100] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([218.68.91.143] rcode=NOTIMP for qq.com/all)
; EDE: 23 (Network Error): ([203.205.195.94] rcode=NOTIMP for qq.com/all)
; EDE: 22 (No Reachable Authority): (At delegation qq.com for qq.com/all)
;; QUESTION SECTION:
;qq.com. IN ANY;; Query time: 4492 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (TCP)
;; WHEN: Wed Aug 23 10:16:15 CST 2023
;; MSG SIZE rcvd: 889
类似工具 nslookup
┌──(root㉿kali)-[~]
└─# nslookup qq.com -type=any 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53Non-authoritative answer:
Name: qq.com
Address: 111.30.144.71
Name: qq.com
Address: 112.53.26.232┌──(root㉿kali)-[~]
└─# dig qq.com mx @8.8.8.8 ; <<>> DiG 9.18.16-1-Debian <<>> qq.com mx @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14321
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;qq.com. IN MX;; ANSWER SECTION:
qq.com. 30 IN MX 30 mx1.qq.com.
qq.com. 30 IN MX 20 mx2.qq.com.
qq.com. 30 IN MX 10 mx3.qq.com.;; Query time: 16 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Aug 23 10:18:22 CST 2023
;; MSG SIZE rcvd: 95## +noall 没有任何输出
## +answer 只看应答输出
┌──(root㉿kali)-[~]
└─# dig +noall +answer mail.163.com any
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.
;; Connection to 192.168.56.2#53(192.168.56.2) for mail.163.com failed: timed out.## 反向查询 -x 记录类型 PTR(指针记录)
┌──(root㉿kali)-[~]
└─# dig +noall +answer -x 220.181.14.161
161.14.181.220.in-addr.arpa. 5 IN PTR m14-161.188.com.
Bash小技巧
## ESC + . (或!$)调用上一个命令的参数
## ctrl + c 中止一个命令
## ctrl + t 交换前后两个字符的位置
## ctrl + E 回到行尾
## ctrl + a 回到行首
## ctrl + w 删除左边的单词
相关文章:

Kali 网络参数的配置
手工方式 Wired 有线 Woreless 无线 图形化的网络管理器(依赖的服务:NetworkManager) ┌──(root㉿kali)-[~] └─# systemctl status NetworkManager ● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/N…...

在 Redis 中处理键值 | Navicat
Redis 是一个键值存储系统,允许我们将值与键相关联起来。与关系型数据库不同的是, 在Redis 中,不需要使用数据操作语言 (DML) 和查询语法,那么我们如何进行数据的写入、读取、更新和删除操作呢?…...

RedisTemplate和StringRedisTemplate的区别、对比
学习 Jedis、RedisTemplate、StringRedisTemplate之间的比较 博客中提到:一. Jedis是Redis官方推荐的面向Java的操作Redis的客户端。 二. RedisTemplate,StringRedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更…...

使用ChatGPT进行创意写作的缺点
Open AI警告ChatGPT的使用者要明白此工具的局限性,更不应完全依赖。作为一位创作者,这一点非常重要,应尽可能地避免让版权问题或不必要的文体问题出现在自己的作品中。[1] 毕竟使用ChatGPT进行创意写作目前还有以下种种局限或缺点[2]…...

七、任务优先级和Tick
1、任务与中断的优先级 (1)相同优先级任务轮流执行。 (2)高优先级任务打断低优先级任务。 (3)中断可以打断所有优先级的任务。 2、任务优先级 (1)优先级的取值范围是:0~(configMAX_PRIORITIES – 1),数值越大优先级越高。 (2)FreeRTOS会确保最高优…...
Python——三目运算语句
本文基于python3。 目录 1、三目运算语句的定义2、三目运算语句:包含逻辑运算符 (and、or、not)1、 包含 and2、包含 or3、包含 not4、包含 and、or、not 3、三目运算语句:使用多个if ... else ...形式4、三目运算语句:在列表(li…...

C 实现Window/DOS 键盘监听事件
今天是重新复习C语言实现的第一天,今天想编写C 对Windwos/Dos 键盘事件的学习。但是我在安装Visual Studio 2022 没有安装MFC 框架,今天记录下VS追加 MFC框架。 Visual Studio 2022 追加MFC 1、打开vs,点击创建新项目,右侧滑动框…...
在vue中使用 axios 访问 API
Vue 不像 jQuery 内置了 ajax 请求函数,在 Vue 中没有提供这样的功能。所以当我们需要在 Vue 中和服务端进行通信的时候可选择的方式会更灵活一些。 所以 Vue 给了我们更多的选择空间,例如我们可以使用下面的可选方案: 原生的 XMLHttpReques…...

java八股文面试[java基础]——浅拷贝和深拷贝
自验证:创建Class Student两个类, Student中含有Class对象 public class Class implements Cloneable {public String getName() {return name;}public void setName(String name) {this.name name;}private String name;public Class(String name) {t…...

【DC-DC的原理图及Layout设计要点】
文章目录 前言1.DC-DC的环流2.PCB布局要点3.输入电容器的布局4.续流二极管的布局5.热焊盘 前言 在开关电源的设计中,PCB布局设计与电路设计同样重要。合理的布局可以避免电源电路引起的各种问题。不合理的布局可能导致输出和开关信号叠加引起噪声增加、调节性能恶化…...

TCP可靠性机制
确认号/序列号/ACK TCP帮助确保数据的准确传递。为了做到这一点,其使用了一些特殊的标记和信息,其中包括序号、确认号和ACK字段。 其中,它将每个字节的数据都进行了编号. 即为序列号. 序列号:就像给书中的每一页都编了号码一样&a…...

solidity0.8.0的应用案例13:数字签名及应用:NFT白名单
以太坊中的数字签名ECDSA,以及如何利用它发放NFT白名单 代码中的ECDSA库由OpenZeppelin的同名库简化而成。 数字签名 如果你用过opensea交易NFT,对签名就不会陌生。下图是小狐狸(metamask)钱包进行签名时弹出的窗口,它可以证明你拥有私钥的同时不需要对外公布私钥。 …...

视频集中存储/直播点播平台EasyDSS内核无法启动是什么原因?
视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 有用户反馈,下载了视频直播点播平台EasyDSS最新版本&a…...

【网络】DNS | ICMP | NAT | 代理服务器
🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 前面几篇文章虽然讲介绍了整个网络通信的协议栈,我们也知道了完整的网络通信过程ÿ…...

详细手机代理IP配置
嗨,亲爱的朋友们!作为一家代理产品供应商,我知道有很多小伙伴在使用手机进行网络爬虫和数据采集时,常常会遇到一些IP限制的问题。别担心!今天我要给大家分享一下手机IP代理的设置方法,让你们轻松应对这些限…...

【C++】—— 简述C++11新特性
序言: 从本期开始,我将会带大家学习的是关于C11 新增的相关知识!废话不多说,我们直接开始今天的学习。 目录 (一)C11简介 (二)统一的列表初始化 1、{}初始…...

协议的分层结构
1.1TCP/IP 协议 为了使各种不同的计算机之间可以互联,ARPANet指定了一套计算机通信协议,即TCP/IP 协议(族). 注意TCP /IP 协议族指的不只是这两个协议 而是很多协议, 只要联网的都使用TCP/IP协议族 为了减少 协议设计的复杂度 ,大…...

Linux下彻底卸载jenkins
文章目录 1、停服务进程2、查找安装目录3、删掉相关目录4、确认已完全删除 1、停服务进程 查看jenkins服务是否在运行,如果在运行,停掉 ps -ef|grep jenkins kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 # 删掉相…...
Nebula基础的查询操作介绍
Nebula基础的查询操作介绍 这里只是对Nebula基础查询进行介绍,其目的是为了让未接触过Nebula的同学最短时间了解其语句。更详细更准确的内可以查看官方文档。 docs.nebula-graph 关于查询这里并没有使用官方例子数据,而是自己实际尝试了文档中的语句。 …...

C++ STL序列式容器(详解)
STL基础 C STL基本组成(6大组件13个头文件) 通常认为,STL 是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如表 1 所示。 表 1 STL 组成…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...