一、linux入侵排查

思路:

1、查看帐号

  • 查看/etc/passwd文件中使用 /bin/bash 作为默认 shell 的用户。

  • 查询特权用户特权用户(uid 为0)

  • 查询可以远程登录的帐号信息

  • 除root帐号外,其他帐号是否存在sudo权限。

  • 禁用或删除多余及可疑的帐号

用find命令查看拥有可疑权限的文件

2、查看执行过的系统命令

  • 进入用户目录下,导出历史命令。cat .bash_history >> history.txt

3、检查异常端口、异常进程、开机启动项、定时任务防止后门

4、检查系统日志

1.1 账号安全

方式:
1、用户信息文件 /etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell
注意:无密码只允许本机登陆,远程不允许登陆

2、影子文件 /etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

查看特权账号

查询登录信息

成功:

失败:

1.2 历史命令

基本使用:

通过 .bash_history 文件查看帐号执行过的系统命令

1、root 用户的历史命令histroy

2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号执行的历史命令。
为历史的命令增加登录的 IP 地址、执行命令时间等信息:
1)保存1万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
2)在/etc/profile的文件尾部添加如下行数配置信息:
######jiagu history xianshi#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
######### jiagu history xianshi ##########

3)source /etc/profile 让配置生效

生成效果:

3、历史操作命令的清除:history -c 但此命令并不会清除保存在文件中的记录,因此需要手动删除 .bash_profile 文件中的记录。

1.3 检查异常端口

使用 netstat 网络连接命令,分析可疑端口、IP、PID

netstat -antlp | more

查看下 pid 所对应的进程文件路径, 运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)

1.4 检查异常进程

使用 ps 命令,分析进程

ps aux | grep pid 

1.5 检查开机启动项

查看运行级别命令 runlevel

系统默认允许级别

vi  /etc/inittab
id=3:initdefault  #系统开机后直接进入哪个运行级别

开机启动配置文件

/etc/rc.local
/etc/rc.d/rc[0~6].d
1.6 检查定时任务

基本使用

1、利用 crontab 创建计划任务

  • 基本命令

  • crontab -l   列出某个用户cron服务的详细内容
    ​
    Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
    ​
    crontab -r   删除每个用户cront任务(谨慎:删除所有的计划任务)
    ​
    crontab -e   使用编辑器编辑当前的crontab文件 
    ​
    如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件

2、利用 anacron 命令实现异步定时任务调度

  • 使用案例

    每天运行 /home/backup.sh 脚本:
    vi /etc/anacrontab 
    @daily    10    example.daily   /bin/bash /home/backup.sh
    当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机十分钟之后运行它,而不用再等待 7天。

入侵排查

重点关注以下目录中是否存在恶意脚本

/var/spool/cron/* 
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/* 
/etc/cron.hourly/* 
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*

小技巧:

more /etc/cron.daily/*  查看目录下所有文件
1.7 检查服务

服务自启动

第一种修改方法:

chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level  2345 httpd on  开启自启动
chkconfig httpd on (默认level是2345)

第二种修改方法:

修改 /etc/re.d/rc.local 文件  
加入 /etc/init.d/httpd start

第三种修改方法:

使用 ntsysv 命令管理自启动,可以管理独立服务和 xinetd 服务。

入侵排查

1、查询已安装的服务:

RPM 包安装的服务

chkconfig  --list  查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务系统在3与5级别下的启动项 
中文环境
chkconfig --list | grep "3:启用\|5:启用"
英文环境
chkconfig --list | grep "3:on\|5:on"

源码包安装的服务

查看服务安装位置 ,一般是在/user/local/
service httpd start
搜索/etc/rc.d/init.d/  查看是否存在
1.8 检查异常文件

1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性

2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?

可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前访问过的文件

3、针对可疑文件可以使用 stat 进行创建修改时间。

1.9 检查系统日志

日志默认存放位置:/var/log/

查看日志配置情况:more /etc/rsyslog.conf

日志文件说明
/var/log/cron记录了系统定时任务相关的日志
/var/log/cups记录打印信息的日志
/var/log/dmesg记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog记录邮件信息
/var/log/message记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看
/var/log/lastlog记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看
/var/log/utmp记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中

日志分析技巧

1、定位有多少IP在爆破主机的root帐号:    
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more定位有哪些IP在爆破:
grep "Failed password" /var/log/authlog | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c2、登录成功的IP有哪些: 	
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 3、增加一个用户kali日志:
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
#grep "useradd" /var/log/secure 4、删除用户kali日志:
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'# grep "userdel" /var/log/secure5、su切换用户:
Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)sudo授权执行:
sudo -l
Jul 10 00:43:09 localhost sudo:    good : TTY=pts/4 ; PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r now

二、利用脚本进行应急响应防止暴力破解

应急响应

记录日志

#!/bin/bashlogfile=/var/log/nginx
last_minutes=1 开始时间1分钟之前(这里可以修改,如果要几分钟之内攻击次数多少次,这里可以自定义)start_time=`date -d"$last_minutes minutes ago" +"%d/%m/%Y:%H:%M:%S"`
echo $start_time结束时间现在stop_time=`date +"%d/%m/%Y:%H:%M:%S"`//当前时间
echo $stop_time
cur_date="`date +%d/%m/%Y`"
echo $cur_date过滤出单位之间内的日志并统计最高ip数,请替换为你的日志路径tac $logfile/access.log | awk -v st="$start_time" -v et="$stop_time" '{t=substr($4,2);if(t>=st && t<=et){print $1}}' |sort | uniq -c | sort -nr > $logfile/log_ip_top10
#ip_top=`cat $logfile/log_ip_top10 | head -1 | awk '{print $1}'`出现横杠使用sed去掉第一行#sed -i '1d' $logfile/log_ip_top10    单位时间[1分钟]内单ip访问次数超过200次的ip记录入black.txtip=`cat $logfile/log_ip_top10 | awk '{if($1 > 100)print $2}'`
for line in $ip
do
echo $line >> $logfile/getip.txt
echo $line
iptables -I INPUT -p tcp  -m multiport --dport 80,443 -s $line -j DROP
done

暴力破解

第一步:创建密码字典

开始爆破:

利用hydra -l root -P pass.txt ssh://192.168.157.135

爆破成功!

应急响应

通过awk '/Failed password/ {print $11}' /var/log/auth.log | sort | uniq -c | sort -nr查询定位有多少IP在登录主机的root帐号

发现有异常IP登录多次,怀疑是对root进行了密码爆破

通过sudo awk '/Accepted / {print $(NF-3)}' /var/log/auth.log | sort | uniq -c | sort -nr筛查登陆成功的ip

发现其可疑ip已经成功登录多次

查询登陆时间

查看该ip是否登录到系统中last -f wtmp

为了防止再次进行爆破进行下一步操作

遏制暴力破解

#!/bin/bash   dompurity
IP=$(awk '/Failed password/ {IP[$(NF-3)]++} END { for (k in IP) { if (IP[k]>=10) print k }}' /var/log/auth.log)//筛选ip,当ip在文件中超过10次则打印出来  NF表示当前行有多少个字段(列)
for i in $IP
dotmpIP=(`iptables -L -n | tr -s " " | awk '/^DROP/ && /22$/ {print $4}'`)//echo ${tmpIP[@]} | grep -qw $i//查看该ip有没有被封禁if [ $? -ne 0 ]theniptables -I INPUT -p tcp --dport 22 -s $i -j DROP fi
done
iptables-save > /etc/sysconfig/iptables
unset tmpIP

给deny_ssh.sh

chmod +x deny_ssh.sh

将文件放入任务计划

查询发现已被封禁,之后登录的IP

再次尝试爆破

爆破失败,已将次IP封禁。

如何处理误封呢?

1、查看 INPUT 链中所有 DROP 规则,并显示行号

sudo iptables -L INPUT -n --line-numbers | grep 'DROP.*dpt:22'

2、删除指定编号的规则sudo iptables -D INPUT 1将误封IP拉出。

三、Windows入侵排查

勒索软件(定期备份)

思路:

1、排查账号安全,防止可疑账号

2、排查异常进程和端口,防止木马

查看三次握手pid对应的程序,以及可疑端口(非常用端口)和恶意进程

3、排查启动项、组策略、任务计划、服务防止留后门

4、使用工具

1.1 检查系统账号安全

总结思路

查看是否有可疑账号、新增账号、隐藏账号、克隆账号等---->怀疑使用MimiKatz抓取明文密码----> 使用Log Parser官方工具筛选登录日志比如登陆时间、Event ID=4624的登录成功的日志Event type 10的远程登录、再筛选字段5:登录账号、字段8:登录类型、18:登录ip等

1、查看服务器是否有弱口令,远程端口是否对公网开放

检测方法:

询问管理员

2、查看是否存在可疑账号、新增账号

检测方法:cmd窗口输入lusrmgr.msc查看是否有可疑账号、新增账号

3、查看是否存在隐藏账号、克隆账号

检测方法:

  • 注册表查看管理员对应链值

  • 使用D盾web查杀工具,集成了对克隆账号检测的功能。

4、使用工具筛选远程登录日志

怀疑使用MimiKatz抓取明文密码

使用工具筛选远程登录日志

打开组策略

检测方法:

  • Win+R 打开运行,输入"eventvwr.msc",回车运行,打开“事件查看器”。

查看安全日志

筛选Event ID查看登陆者的id,ip,登录类型(type 10:远程登录、type 2:本地登录)等信息(如短时间内4624、4625出现较多次数则表示遇到暴力破解)

Event ID:查看登录情况

登录类型:

  • 导出 Windows 日志 -- 安全,利用微软官方工具 Log Parser 进行分析。

利用官方工具操作:

筛取登录时间范围的信息并提取用户与ip

常用字段的行数

EXTRACT_TOKEN(Strings, 5, '|') AS UserName,EXTRACT_TOKEN(Strings, 6, '|') AS DomainName,8 AS LogonType,18 AS IpAddress,19 AS IpPort,10 AS LogonProcessName,11 AS AuthPackageName

登录成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID  "SELECT *  FROM c:\Security.evtx where EventID=4624"指定登录时间范围的事件:
LogParser.exe -i:EVT –o:DATAGRID  "SELECT *  FROM c:\Security.evtx where TimeGenerated>'2018-06-19 23:32:11' and TimeGenerated<'2018-06-20 23:34:00' and EventID=4624"提取登录成功的用户名和IP:
LogParser.exe -i:EVT  –o:DATAGRID  "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Message,38,' ') as Loginip FROM c:\Security.evtx where EventID=4624"

windows登录流程

明文转成哈希值存入sim中后进行登录时将明文转成哈希值与存储中的哈希进行比较

重要日志?

linux日志、中间件日志access.log

1.2 检查异常端口、进程

1、检查端口连接情况,是否有远程连接、可疑连接。

检查方法:

  • 使用netstat -ano 命令查看目前的网络连接,定位可疑的 ESTABLISHED

  • 根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行进程定位 tasklist | findstr "PID"

netstat -ano | findstr ESTABLISHED查看当前连接

  • 查找异常IP、端口(如C2服务器)

  • 记录PID,使用 tasklist | findstr <PID> 查进程

查看监听端口netstat -anb | findstr LISTENING

  • 注意非标准端口上的监听(如8080、5555)

DNS解析记录

  • 使用ipconfig /displaydns查看本地DNS缓存

  • 发现可疑域名(如长随机字符串域名)

windows远程端口 rdp协议 3389

linux远程端口 ssh协议 22

1.3 检查启动项、组策略、计划任务、服务(防止留后门)

1、检查服务器启动项是否有异常启动项

检查方法:

  • 登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。

  • 单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。

  • 单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。

  • 利用安全软件查看启动项、开机时间管理等。

  • 组策略,运行 gpedit.msc

2、检查计划任务

检查方法:

  • a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。

  • b、单击【开始】>【运行】;输入 cmd,然后输入 at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。

3、服务自启动

检查方法:

  • 单击【开始】>【运行】,输入 services.msc,注意服务状态和启动类型,检查是否有异常服务。

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

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

相关文章

类和对象(中):类的默认成员函数、构造函数、析构函数

&#x1f525;个人主页&#xff1a;胡萝卜3.0 &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》《数据结构》 《C干货分享》 ⭐️人生格言&#xff1a;不试试怎么知道自己行不行 目录 一、类的默认成员函数 二、构造函数 三…

如何优雅地刷力扣 LeetCode - Easy

Source 力扣LeetCode题库 App > LeetCode > 题库 > 题解 Notes 仔细审题&#xff0c;明确输入输出&#xff0c;通过测试用例。先特殊&#xff0c;后寻常。逆向思维。 在条件语句中用!代替&#xff0c;提前终止循环&#xff0c;减少嵌套层级&#xff08;else&#…

AI绘画:生成唐初程咬金全身像提示词

根据唐代历史记载和艺术形象特征&#xff0c;以下是优化后的中文Midjourney 提示词&#xff0c;突出程咬金的猛将气质与唐初甲胄细节&#xff1a; 核心提示词&#xff08;战场形象&#xff09; 中年猛将程咬金&#xff0c;全身甲胄像&#xff0c;唐初光要甲制式&#xff1a;身…

【实时Linux实战系列】实时数据流处理框架分析

背景与重要性在当今数字化时代&#xff0c;数据的实时处理变得至关重要。无论是金融交易、工业自动化还是物联网&#xff08;IoT&#xff09;设备&#xff0c;都需要能够快速处理和响应数据流&#xff0c;以确保系统的高效运行和决策的及时性。实时Linux操作系统因其低延迟和高…

一周学会Matplotlib3 Python 数据可视化-Hello World编写

锋哥原创的Matplotlib3 Python数据可视化视频教程&#xff1a; 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Matplotlib3简介 Matplotlib 是 Python 最流行的数据可视化库之一&#xff0c;广泛应用于科学计算、数据分析、科研绘…

中国MCP市场:腾讯、阿里、百度的本土化实践

中国MCP市场&#xff1a;腾讯、阿里、百度的本土化实践 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是我放飞的…

房产证识别在房产行业的技术实现及应用原理

技术实现1. 图像采集与预处理图像获取&#xff1a;通过高分辨率扫描仪或手机摄像头获取房产证图像预处理技术&#xff1a;去噪处理&#xff08;消除扫描噪声&#xff09;图像增强&#xff08;提高对比度&#xff09;倾斜校正&#xff08;自动旋转至正确角度&#xff09;二值化处…

决策树技术详解:从理论到Python实战

​决策树像人类的思考过程&#xff0c;用一系列“是/否”问题层层逼近答案​一、决策树的核心本质决策树是一种模仿人类决策过程的树形结构分类/回归模型。它通过节点&#xff08;问题&#xff09;​​ 和 ​边&#xff08;答案&#xff09;​​ 构建路径&#xff0c;最终在叶节…

Herd-proof thinking

Let’s dive into “herd-proof thinking” — the mindset and tactics that help you stay sharp, independent, and immune to manipulative systems.&#x1f9e0; Part 1: The Foundation of Herd-Proof Thinking 1. Recognize Incentives“If you don’t know who the pr…

day068-DevOps基本知识与搭建远程仓库

文章目录0. 老男孩思想-传统文化1. 运维人员对网站集群的关注项2. CI、CD3. DevOps4. 环境5. Git5.1 **为什么叫 “Git”&#xff1f;**5.2 Git的核心设计理念5.3 Git工作空间5.4 分支 branch5.5 命令5.5.1 配置git用户信息5.5.2 初始化git仓库5.5.3 将文件放入暂存区5.5.4 提交…

分布式文件系统07-小文件系统的请求异步化高并发性能优化

小文件系统的请求异步化高并发性能优化222_分布式图片存储系统中的高性能指的到底是什么&#xff1f;重构系统架构&#xff0c;来实现一个高性能。然后就要做非常完善的一个测试&#xff0c;最后对这个系统做一个总结&#xff0c;说说后续我们还要做一些什么东西。另外&#xf…

【C#补全计划:类和对象(十)】密封

一、密封类1. 关键字&#xff1a;sealed2. 作用&#xff1a;使类无法再被继承&#xff1b;在面向对象设计中&#xff0c;密封类的主要作用是不允许最底层子类被继承&#xff0c;可以保证程序的规范性、安全性3. 使用&#xff1a;using System;namespace Sealed {// 使用sealed关…

【视觉识别】Ubuntu 22.04 上安装和配置 TigerVNC 鲁班猫V5

系列文章目录 文章目录系列文章目录前言一、问题现象二、安装和配置步骤1.引入库2.安装完整组件3.修改 ~/.vnc/xstartup4. 设置权限5. 设置开机自启&#xff08;Systemd 服务&#xff09;总结前言 开发平台&#xff1a;鲁班猫V5 RK3588 系统版本&#xff1a;Ubuntu 22.04 一、…

模拟-38.外观数列-力扣(LeetCode)

一、题目解析1、替换的方法&#xff1a;“33”用“23”替换&#xff0c;即找到相同的数&#xff0c;前一位为相同数的数量&#xff0c;后一位为相同的数2、给定n&#xff0c;需要返回外观数列的第n个元素二、算法原理由于需要统计相同元素的数目&#xff0c;所以可以使用双指针…

垃圾桶满溢识别准确率↑32%:陌讯多模态融合算法实战解析

原创声明本文为原创技术解析文章&#xff0c;涉及的技术参数与架构设计均参考自《陌讯技术白皮书》&#xff0c;转载请注明来源。一、行业痛点&#xff1a;智慧环卫中的识别难题随着智慧城市建设推进&#xff0c;垃圾桶满溢识别作为智慧环卫的核心环节&#xff0c;面临多重技术…

扫地机器人的几种语音控制芯片方案介绍

​扫地机器人语音控制芯片方案介绍在智能家居领域&#xff0c;扫地机器人的智能化程度不断提升&#xff0c;语音控制功能成为提升用户体验的关键因素。以下为您介绍几款常用于扫地机器人语音控制的芯片方案。WT2606B 芯片方案性能优势&#xff1a;基于先进的 RISC - V 32 位开源…

快速开发实践

基于后端项目的前端开发实践记录 &#x1f4cb; 项目概述 项目名称: 比特奥定制报表系统 技术栈: Vue 3 Element Plus Vite (前端) Spring Boot (后端) 开发模式: 前后端分离 项目结构: 单体仓库包含前后端代码 &#x1f3d7;️ 项目架构分析 目录结构设计 bitao-defined_re…

NFC 三大模式对比

以前以为nfc只是点对点通讯&#xff0c;没想到现在nfc的功能很强大NFC 三大模式对比&#xff08;回顾&#xff09;模式作用手机是...Reader 模式读取卡、标签内容主动设备&#xff08;读卡器&#xff09;Card Emulation 模式模拟公交卡/门禁卡/银行卡被动设备&#xff08;卡&am…

JSON、JSONObject、JSONArray详细介绍及其应用方式

第一部分&#xff1a;什么是JSON?&#x1f31f;比喻&#xff1a;JSON 是「快递公司统一的 “通用快递单”」&#x1f4a1;场景代入你想给朋友寄生日礼物&#xff08;比如一台 “游戏机”&#xff09;&#xff0c;这台游戏机有自己的属性&#xff1a;名称&#xff1a;"游戏…

Linux系统编程--权限管理

权限管理第二讲 权限管理1. Shell命令以及运行原理1.1 知识引入1.2 概念介绍1.3 具体示例2. Linux权限问题2.1 权限概念2.2 用户分类2.3 切换用户2.4 用户提权2.5 文件权限管理2.5.1 文件访问者的分类&#xff08;角色&#xff09;2.5.2 文件类型和访问权限&#xff08;事物属性…