网络结构及安全科普
文章目录
- 终端联网
- 网络硬件基础
- 网络协议
- 示例:用户访问网页
- OSI七层模型
- 网络攻击(Hack)
- 网络攻击的主要类别
- (一)按攻击目标分类
- (二)按攻击技术分类
- 网络安全防御
- 典型攻击案例
- 相关名词介绍
- 网络连接常用名词
- 网络攻击相关名词
终端联网
以下是一张简单的网络连接原理图,展示了从用户设备通过局域网连接到互联网的基本过程:
graph TD;A[用户设备(如电脑、手机)] <--> B[无线接入点/交换机];B <--> C[路由器];C <--> D[调制解调器(光猫)];D <--> E[运营商网络];E <--> F[互联网服务器];
- 用户设备:是网络连接的起点和终点,负责发送和接收数据,如浏览网页、发送邮件等。
- 无线接入点/交换机:无线接入点用于连接无线设备,如手机、笔记本电脑等;交换机用于连接有线设备,如台式电脑、打印机等,实现局域网内设备之间的通信。
- 路由器:主要功能是连接不同的网络,实现局域网与广域网(如互联网)之间的通信。它根据IP地址进行路由选择,将数据包从一个网络转发到另一个网络。同时,路由器还可以实现NAT功能,让多个局域网内的设备共享一个公网IP地址访问互联网,此时,为局域网各设备分配内网IP,外网不能通过内网IP访问内网设备。
- 调制解调器(光猫):用于在模拟信号和数字信号之间进行转换,实现家庭或企业网络与运营商网络之间的连接。例如,光猫将光纤中的光信号转换为电信号,供路由器使用。
- 运营商网络:由电信运营商搭建和维护,包括各种网络设备和通信线路,负责将数据从用户所在的局域网传输到互联网上的目标服务器。
- 互联网服务器:存储和提供各种网络服务和资源,如网站、邮件服务器、文件服务器等,响应用户设备的请求,并将数据返回给用户设备。
以下从硬件连接和协议工作原理两方面,详细解析网络连接的核心逻辑:
网络硬件基础
网络连接的硬件负责实现物理信号传输和设备互联,主要包括以下几类:
1. 终端设备
- 功能:作为数据的源头或终点,发起或接收网络请求。
- 常见设备:
- 计算机(PC/服务器):通过网卡(NIC)连接网络,运行各类网络应用(如浏览器、邮件客户端)。
- 移动设备(手机/平板):通过Wi-Fi模块或基带芯片接入无线/蜂窝网络。
- 物联网设备(IoT):如智能摄像头、传感器,通过蓝牙、Zigbee等协议连接网关。
2. 传输介质
- 功能:承载数据信号的物理通道,分为有线和无线两类。
- 分类及特点:
类型 典型介质 传输方式 适用场景 有线介质 双绞线(网线) 电信号传输 局域网(如家庭、企业内网) 光纤 光信号传输 长距离骨干网、高速数据中心 无线介质 无线电波 电磁波传输 Wi-Fi、4G/5G蜂窝网络 红外线 光信号传输 短距离设备互联(如电视遥控)
3. 网络中间设备
- 功能:实现数据在不同网络或设备间的转发、路由和信号处理。
- 核心设备及工作原理:
- 交换机(Switch)
- 工作层:数据链路层(二层设备)。
- 原理:通过学习终端设备的MAC地址(物理地址),建立“MAC地址-端口”映射表,仅将数据帧转发到目标设备对应的端口,实现局域网内高效通信。
- 应用场景:企业办公网、家庭局域网(连接电脑、打印机等)。
- 路由器(Router)
- 工作层:网络层(三层设备)。
- 原理:基于IP地址(逻辑地址)进行路由选择,通过查找路由表(记录网络地址与下一跳路径),将数据从一个网络(如家庭Wi-Fi)转发到另一个网络(如互联网)。
- 关键功能:NAT(网络地址转换),实现多台设备共享一个公网IP访问互联网。
- 调制解调器(Modem)
- 功能:在模拟信号(如电话线)和数字信号间转换,实现家庭宽带接入。
- 分类:光猫(光纤接入)、ADSL猫(电话线接入)。
- 交换机(Switch)
网络协议
协议是网络设备通信的“语言规则”,不同层次的协议协同工作,确保数据准确传输。以下是核心协议及工作原理:
1. 物理层与数据链路层协议
- 物理层协议
- 作用:定义信号传输标准(如电压、频率)和介质规格(如网线线序)。
- 典型协议:
- 以太网(Ethernet):规定双绞线/光纤的电气特性,速率可达10Mbps~100Gbps。
- Wi-Fi(802.11标准):定义无线信号的频段(2.4GHz/5GHz)、调制方式等。
- 数据链路层协议
- 作用:将比特流封装为数据帧,实现相邻设备间的可靠传输。
- 典型协议:
- PPP(点到点协议):用于拨号上网或光纤接入,建立点对点连接(如光猫与路由器之间)。
- ARP(地址解析协议):将IP地址解析为MAC地址(如电脑通过ARP查询路由器的MAC地址)。
2. 网络层协议:IP与路由
- IP协议(网际协议)
- 作用:为设备分配逻辑地址(IP地址),实现跨网络的数据路由。
- 分类:
- IPv4:32位地址(如192.168.1.1),目前主流,但地址空间有限(约43亿个)。
- IPv6:128位地址(如2001:0db8:85a3:0000:0000:8a2e:0370:7334),解决地址枯竭问题。
- 路由协议
- 作用:路由器通过路由协议学习网络拓扑,更新路由表。
- 分类:
- 内部网关协议(IGP):用于同一网络内部(如企业网),如OSPF、RIP。
- 外部网关协议(EGP):用于不同网络间(如运营商之间),如BGP(互联网骨干网核心协议)。
3. 传输层协议:TCP与UDP
- 作用:实现端到端的数据传输,为应用程序提供通信服务。
- 核心协议对比:
协议 连接类型 可靠性 特点 典型应用 TCP 面向连接 可靠 三次握手建立连接,数据分段、重传、排序 网页浏览(HTTP)、邮件(SMTP) UDP 无连接 不可靠 快速传输,无确认机制 视频流、音乐流、游戏、DNS查询
4. 应用层协议:用户直接交互
- 作用:为具体应用提供服务,定义数据格式和交互规则。
- 典型协议:
- HTTP/HTTPS:网页传输协议(HTTPS为加密版,用于电商、银行网站)。
- FTP:文件传输协议,用于上传/下载文件(如服务器与客户端之间)。
- DNS:域名系统,将域名(如www.baidu.com)解析为IP地址。
- SMTP/POP3/IMAP:邮件传输协议,分别用于发送、接收和管理邮件。
示例:用户访问网页
以“用户通过浏览器访问百度”为例,展示硬件与协议的协同工作:
1. 硬件路径
用户电脑(网卡) → 交换机(家庭路由器) → 光猫(连接运营商光纤) → 运营商路由器 → 百度服务器
2. 协议分层处理
- 应用层:浏览器发送HTTP请求(如GET /index.html),封装为应用层数据。
- 传输层:HTTP数据由TCP协议分段(每个分段含源端口80/目标端口随机),添加TCP头(序号、确认号等)。
- 网络层:每个TCP分段封装为IP数据报,添加源IP(用户内网IP,如192.168.1.2)和目标IP(百度服务器公网IP)。路由器通过NAT将内网IP转换为公网IP(如运营商分配的202.108.22.5)。
- 数据链路层:IP数据报封装为以太网帧,添加源MAC(电脑网卡MAC)和目标MAC(路由器LAN口MAC),通过交换机转发到路由器。
- 物理层:数据转换为电信号(网线)或无线信号(Wi-Fi)传输至目标设备。
- 反向流程:百度服务器返回数据,经同样分层处理,最终由浏览器解析为网页内容。
硬件是“血管”:提供物理连接通道,交换机/路由器决定数据的传输路径。 协议是“神经”:各层协议如同“翻译官”,将数据逐步封装/解封装,确保跨设备、跨网络的准确通信。 核心思想:通过分层架构(如OSI模型)将复杂问题拆解,每层专注单一功能,最终实现“端到端”的可靠连接。
OSI七层模型
- OSI(Open System Interconnection)模型即开放系统互连模型,由国际标准化组织(ISO)于1984年发布,将复杂的网络通信任务分解为七个层次,每层各司其职,使得不同设备能够实现互联互通。
-
物理层
- 功能:主要负责在物理介质上传输原始的比特流,规定了网络设备之间的物理连接标准,如电缆、连接器的规格,以及信号的传输方式、电压电平等,实现比特流与电子信号之间的转换。
- 设备:常见的有集线器、中继器等,它们只是简单地放大或转发信号,不涉及对数据内容的处理。
-
数据链路层
- 功能:负责将物理层传来的比特流组装成数据帧,并进行差错检测和纠正,同时还负责介质访问控制,即决定哪个设备在何时可以使用物理介质进行数据传输。
- 设备:主要有网卡、网桥、交换机等。交换机通过学习连接到其端口的设备的MAC地址,建立MAC地址表,实现数据帧在不同端口之间的转发。
- 交换机工作在数据链路层。根据MAC地址寻址。可以把很多主机连起来,这些主机对外各有各的IP。
-
网络层
- 功能:主要任务是实现网络之间的数据路由选择,根据目标地址将数据从一个网络传输到另一个网络,负责IP地址的分配和管理,以及处理网络拥塞等问题。
- 协议:如IP协议(Internet Protocol),负责为数据报分配IP地址和进行路由选择;ARP协议(Address Resolution Protocol)用于将IP地址解析为物理地址(MAC地址)。
- 设备:路由器是网络层的主要设备,它根据路由表中的信息,将数据报从一个网络转发到另一个网络,实现不同网络之间的通信。
- 路由器根据IP地址寻址,路由器可以处理TCP/IP协议。路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。
-
传输层
- 功能:为应用程序之间提供端到端的通信服务,确保数据的可靠传输或尽力而为的传输,负责建立、维护和管理端到端的连接,对数据进行分段和重组等。
- 协议:常见的有TCP协议(Transmission Control Protocol,传输控制协议)和UDP协议(User Datagram Protocol,用户数据报协议)。TCP提供面向连接的、可靠的数据传输服务,UDP提供无连接的、尽力而为的数据传输服务。
-
会话层
- 功能:负责建立、管理和终止应用程序之间的会话连接,协调不同主机上应用程序之间的通信顺序,如确定会话的开始、结束和同步等。
- 协议:如NetBEUI协议等,用于在局域网中建立和管理会话。
-
表示层
- 功能:主要负责数据的格式转换、加密与解密、压缩与解压缩等,使得发送端和接收端的数据能够互相理解,将应用层的数据转换为适合网络传输的格式。
-
应用层
- 功能:直接面向用户,为用户提供各种网络服务,如文件传输、电子邮件、网页浏览等,是用户与网络交互的窗口。
- 协议:有HTTP协议(HyperText Transfer Protocol,超文本传输协议)用于网页浏览;FTP协议(File Transfer Protocol,文件传输协议)用于文件传输;SMTP协议(Simple Mail Transfer Protocol,简单邮件传输协议)用于发送电子邮件等。
网络攻击(Hack)
网络攻击的本质是利用网络系统、协议或用户行为的漏洞(Vulnerability),突破安全防护措施,实现非法访问、数据窃取或系统控制。攻击流程通常包括:
- 信息收集:扫描目标IP、端口、服务版本,获取漏洞信息(如使用Nmap、Shodan等工具扫描搜集)。
- 漏洞利用:通过漏洞攻击工具(如Metasploit)发送恶意代码,触发系统缺陷。
- 权限提升:从普通用户权限升级为管理员权限,实现对系统的完全控制。
- 数据窃取/破坏:窃取敏感数据(如密码、财务信息),或植入恶意软件(如勒索软件)破坏系统。
网络攻击的主要类别
(一)按攻击目标分类
-
针对主机/系统的攻击
- 病毒与蠕虫:
- 病毒:依附于正常程序传播,需宿主激活(如宏病毒)。
- 蠕虫:独立运行,利用系统漏洞自动传播(如WannaCry勒索蠕虫,利用Windows SMB漏洞)。
- 木马(Trojan):伪装成合法软件,隐藏后门供攻击者远程控制(如冰河木马、灰鸽子)。
- Rootkit:潜入系统内核,隐藏恶意程序进程、文件和网络连接,对抗安全软件检测。
- 病毒与蠕虫:
-
针对网络协议/服务的攻击
- 拒绝服务攻击(DoS/DDoS):
- 原理:通过大量伪造请求占用目标服务器带宽或资源,使其无法响应正常用户(如SYN Flood攻击利用TCP三次握手漏洞)。
- DDoS(分布式拒绝服务):利用僵尸网络(Botnet)协同发起攻击,规模更大(如Mirai botnet利用IoT设备漏洞组建攻击网络)。
- 中间人攻击(MitM):
- 攻击者拦截通信双方的数据,篡改或窃取信息(如ARP欺骗攻击,伪造网关MAC地址,拦截局域网流量)。
- SQL注入(SQL Injection):
- 向Web应用输入恶意SQL语句,绕过身份验证或窃取数据库数据(如
SELECT * FROM users WHERE username = 'admin' OR '1'='1'
)。
- 向Web应用输入恶意SQL语句,绕过身份验证或窃取数据库数据(如
- 拒绝服务攻击(DoS/DDoS):
-
针对用户的攻击
- 社会工程学(Social Engineering):
- 通过心理操纵获取敏感信息(如钓鱼邮件、电话诈骗)。例如,伪造银行邮件诱导用户点击链接,输入账号密码。
- 钓鱼攻击(Phishing):
- 伪造可信网站或应用,骗取用户登录凭证(如仿冒支付宝的虚假网页)。
- 社会工程学(Social Engineering):
(二)按攻击技术分类
- 漏洞利用攻击
- 利用已知或未知漏洞(0day漏洞)发起攻击。例如,永恒之蓝(EternalBlue)利用Windows SMB服务漏洞传播勒索软件。
- 密码攻击
- 暴力破解:通过穷举法尝试所有可能的密码组合(如使用Hydra工具爆破SSH登录)。
- 字典攻击:使用预设的常见密码列表(字典文件)批量尝试登录。
- 跨站脚本攻击(XSS)
- 在网页中植入恶意脚本(如存储型XSS攻击,攻击者将脚本存入服务器数据库,用户访问时触发)。 此外,通过窃取用户Cookie或会话令牌进行各类攻击操作。
- 高级持续性威胁(APT)
- 特点:长期、有组织、针对性强,通常由国家级黑客或高级犯罪团伙实施。
- 案例:
- 震网(Stuxnet):针对伊朗核设施的APT攻击,利用U盘传播,破坏离心机控制系统,被认为是首个「网络武器」。
- SolarWinds攻击(2020年):黑客入侵美国SolarWinds公司软件更新系统,植入后门,攻击美国政府及企业网络。
网络安全防御
- 技术层面
- 防火墙(Firewall):过滤进出网络的流量,阻止未经授权的访问(如ACL规则禁止特定IP访问端口)。
- 入侵检测与防御系统(IDS/IPS):实时监控网络流量,识别攻击行为并阻断(如Snort开源IDS)。
- 加密技术:
- 传输层加密:HTTPS(SSL/TLS)加密网页数据,防止中间人攻击。
- 数据加密:AES算法加密存储数据,防止泄露。
- 漏洞管理:定期扫描系统漏洞(如Nessus),及时安装补丁(如Windows Update)。
- 管理与策略层面
- 访问控制(RBAC):按用户角色分配权限,最小化特权账户(如仅管理员可修改系统配置)。
- 员工安全培训:防范社会工程学攻击(如识别钓鱼邮件、不随意点击可疑链接)。
- 应急响应计划:制定攻击事件处理流程,定期演练(如模拟数据泄露后的恢复流程)。
- 法律与合规
- 各国制定网络安全法(如中国《网络安全法》、欧盟GDPR),对数据泄露、攻击行为追究法律责任。
典型攻击案例
- WannaCry勒索攻击(2017年)
- 原理:利用Windows SMB漏洞(MS17-010)传播,加密用户文件后索要比特币赎金。
- 防御缺失:大量用户未安装微软补丁,暴露漏洞;部分企业未隔离内网设备。
- Heartbleed漏洞攻击(2014年)
- 原理:OpenSSL协议漏洞导致内存数据泄露,攻击者可窃取服务器私钥、用户Cookie等敏感信息。
- 影响:全球约30%的HTTPS网站受影响,推动互联网全面升级TLS协议。
网络安全与攻击的对抗是一场「道高一尺,魔高一丈」的持久战。攻击者不断挖掘新技术(如AI驱动的自动化攻击),而防御体系也在持续进化(如零信任架构、威胁情报共享)。对于个人和企业而言,漏洞及时修复、数据加密、安全意识培养是最基础且关键的防线。
相关名词介绍
网络连接常用名词
名词 | 分类 | 定义与原理 |
---|---|---|
IP(互联网协议) | 网络层协议 | 用于在网络中唯一标识设备并路由数据报。通过IP地址(如IPv4/IPv6)实现设备间通信,将数据分割为数据包传输,不保证可靠性(需配合TCP/UDP)。 |
TCP(传输控制协议) | 传输层协议 | 面向连接的可靠协议,通过“三次握手”建立连接,传输中校验数据完整性,丢失数据会重传。常用于需要高可靠性的场景(如网页浏览、文件传输)。 |
UDP(用户数据报协议) | 传输层协议 | 无连接的不可靠协议,不建立连接直接发送数据,延迟低但不保证交付。适用于实时性要求高的场景(如视频直播、语音通话)。 |
ARP(地址解析协议) | 网络层协议 | 核心作用:将IP地址解析为MAC地址(物理地址),实现同一局域网内设备通信。 原理:主机发送ARP广播询问目标IP的MAC地址,目标主机回复单播应答,主机缓存结果(ARP表)以加速后续通信。 安全风险:ARP欺骗(伪造ARP应答,篡改目标IP对应的MAC地址,导致流量劫持或断网)。 |
DNS(域名系统) | 应用层协议 | 将域名(如www.example.com)解析为IP地址的分布式数据库系统。通过递归查询或迭代查询完成解析,是互联网的“地址簿”。攻击方式包括DNS缓存污染、DNS劫持等。 |
HTTP/HTTPS | 应用层协议 | HTTP:超文本传输协议,用于浏览器与服务器通信,明文传输(不安全)。 HTTPS:加密版HTTP,通过TLS/SSL协议加密数据,保证传输安全(如银行支付、登录场景)。 |
Socket(套接字) | 编程接口 | 操作系统提供的网络编程接口,用于实现不同设备间的进程通信。通过“IP地址+端口号”唯一标识通信端点,分为TCP Socket(面向连接)和UDP Socket(无连接)。 |
端口(Port) | 逻辑标识 | 用于区分同一设备上的不同网络服务(如HTTP默认80端口,HTTPS默认443端口)。端口号范围0-65535,1-1023为系统保留端口,1024+为动态端口。 |
NAT(网络地址转换) | 网络层技术 | 允许局域网内多台设备共享一个公网IP,通过转换私有IP与公网IP的映射关系实现联网。常用于家庭路由器场景,但可能导致部分P2P应用无法直接通信。 |
VPN(虚拟专用网络) | 安全通信技术 | 通过加密通道在公网上实现专用网络建立及数据传输,通过对传输数据进行加密并隐藏真实IP,从而保护数据传输。常用于远程办公或访问受限资源,分为IPsec VPN、SSL VPN等类型。 |
防火墙(Firewall) | 安全设备/软件 | 基于规则过滤进出网络的流量,阻止未经授权的访问。分为包过滤防火墙、状态检测防火墙、应用层网关等,可防御端口扫描、恶意IP访问等攻击。 |
网络攻击相关名词
名词 | 分类 | 定义与原理 |
---|---|---|
DDoS(分布式拒绝服务攻击) | 拒绝服务攻击 | 利用大量傀儡机(僵尸网络)向目标服务器发送海量无效请求,耗尽其资源(如带宽、CPU、内存),导致正常用户无法访问。常见手段包括SYN Flood、UDP Flood、DNS反射攻击等。 |
SQL注入(SQL Injection) | 代码注入攻击 | 攻击者通过在输入框插入恶意SQL语句(如' OR 1=1-- ),绕过身份验证或窃取/篡改数据库数据。原理是利用应用对用户输入过滤不严,将输入内容直接拼接进SQL查询语句。 |
XSS(跨站脚本攻击) | 代码注入攻击 | 在网页中植入恶意脚本(如JavaScript),当用户访问时脚本自动执行,窃取Cookie、会话令牌或劫持用户操作。分为存储型XSS(脚本存储在服务器)、反射型XSS(脚本随请求返回)和DOM型XSS(通过修改DOM结构触发)。 |
CSRF(跨站请求伪造) | 会话攻击 | 攻击者诱导用户访问包含恶意请求的链接(如伪装成银行转账的图片),利用用户已登录的会话Cookie,以用户身份执行非法操作(如转账、修改密码)。攻击依赖浏览器自动携带Cookie的机制。 |
Cookie | 会话管理机制 | 作用:由服务器生成并存储在客户端的小数据块,用于标识用户会话(如登录状态、购物车信息)。 原理:用户首次登录时,服务器返回Cookie(含会话ID),后续请求自动携带Cookie,服务器通过会话ID查询用户状态。 安全风险:Cookie被盗用可导致会话劫持,需通过 HttpOnly (禁止JS读取)、Secure (仅HTTPS传输)等属性增强安全性。 |
Session(会话) | 会话管理机制 | 作用:服务器端用于跟踪用户会话的机制,存储用户登录状态、权限等信息。 原理:用户登录后,服务器生成唯一Session ID并存储会话数据(如内存、数据库),同时通过Cookie将Session ID返回给客户端。后续请求携带Session ID,服务器验证后识别用户身份。 安全风险:Session固定攻击(预设Session ID诱导用户登录)、Session劫持(窃取Session ID)。 |
0day漏洞(零日漏洞) | 漏洞类型 | 指未被公开披露或厂商未修复的安全漏洞。攻击者利用该漏洞时,受害者因无补丁可用而无法防御,攻击成功率极高。漏洞发现到修复的时间差称为“零日”(0 Day)。 |
缓冲区溢出(Buffer Overflow) | 代码漏洞攻击 | 向程序缓冲区写入超过其容量的数据,导致内存溢出并覆盖相邻数据(如函数返回地址),进而执行恶意代码或控制程序流程。常见于C/C++等无自动内存管理的语言,需通过输入验证、栈保护(如StackGuard)等技术防御。 |
社会工程学(Social Engineering) | 非技术攻击 | 通过心理操纵获取敏感信息(如密码、验证码),常见手段包括钓鱼邮件、电话诈骗、伪装身份等。攻击依赖人性弱点(如信任权威、恐慌心理),是网络安全的重要威胁之一。 |
中间人攻击(MitM, Man-in-the-Middle) | 通信劫持攻击 | 攻击者拦截通信双方的流量并伪装成双方,实现数据窃取或篡改(如ARP欺骗、Wi-Fi钓鱼热点)。HTTPS通过加密通道可有效防御中间人攻击。 |
勒索软件(Ransomware) | 恶意软件 | 加密用户文件并索要赎金的恶意程序,分为加密型(如WannaCry)和锁机型(锁定系统界面)。传播途径包括邮件附件、漏洞利用、钓鱼链接,防御依赖定期备份和漏洞修复。 |
其他补充说明
-
ARP与网络攻击的关联:
ARP协议缺乏认证机制,攻击者可伪造ARP应答,将目标IP对应的MAC地址指向自己(ARP欺骗),从而劫持局域网内的流量,实现嗅探或阻断通信。 -
Cookie与Session的关系:
- Cookie是客户端存储会话ID的载体,Session是服务器端存储的会话数据。
- 两者结合实现“无状态HTTP协议”的状态管理,Cookie被盗会直接导致Session劫持。
-
0day漏洞的防御难点:
由于漏洞未公开,防御者无法提前修复,只能依赖实时监控、入侵检测系统(IDS)和应急响应流程。
相关文章:
网络结构及安全科普
文章目录 终端联网网络硬件基础网络协议示例:用户访问网页 OSI七层模型网络攻击(Hack)网络攻击的主要类别(一)按攻击目标分类(二)按攻击技术分类 网络安全防御 典型攻击案例相关名词介绍网络连接…...
CAD文件如何导入BigemapPro
问题描述 在使用 BigemapPro 加载 CAD 文件的过程中,会出现两种不同的情况:部分文件能够被软件自动识别投影并顺利加载;而另一部分文件则无法自动识别投影,需要手动干预才能准确加载到影像上。下面为您详细介绍这两种情况的具体操…...
Spring-AOP分析
Spring分析-AOP 1.案例引入 在上一篇文章中,【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】,我们了解到了IOC容器的创建过程,在文末也提到了AOP相关,但是没有作细致分析,这篇文章就结合示例&am…...
opencv 对图片的操作
对图片的操作 1.图片镜像旋转(cv2.flip())2 图像的矫正 1.图片镜像旋转(cv2.flip()) 图像的旋转是围绕一个特定点进行的,而图像的镜像旋转则是围绕坐标轴进行的。图像的镜像旋转分为水平翻转、垂直翻转、水平垂直翻转…...
Python第一周作业
Python第一周作业 文章目录 Python第一周作业 如何在命令行中创建一个名为venv的虚拟环境?请写出具体命令编写一段代码,判断变量x是否为偶数,如果是则返回"Even",否则返回"Odd"编写代码,使用分支结…...
jinjia2将后端传至前端的字典变量转换为JS变量
后端 country_dict {AE: .amazon.ae, AU: .amazon.com.au} 前端 const country_list JSON.parse({{ country_list | tojson | safe }});...
[渗透测试]渗透测试靶场docker搭建 — —全集
[渗透测试]渗透测试靶场docker搭建 — —全集 对于初学者来说,仅仅了解漏洞原理是不够的,还需要进行实操。对于公网上的服务我们肯定不能轻易验证某些漏洞,否则可能触犯法律。这是就需要用到靶场。 本文主要给大家介绍几种常见漏洞对应的靶场…...
二分查找、分块查找、冒泡排序、选择排序、插入排序、快速排序
二分查找/折半查找 前提条件:数组中的数据必须是有序的 核心逻辑:每次排除一半的查找范围 优点:提高查找效率 代码 public static int binarySearch(int[] arr, int num) {int start 0;int end arr.length - 1;while (start < end) {…...
【AI】SpringAI 第三弹:接入通用大模型平台
1.添加依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-openai</artifactId> </dependency> 2.设置 yml 配置文件 在 application.yml 中添加 DeepSeek 的配置信息: spr…...
C++常用函数合集
万能头文件:#include<bits/stdc.h> 1. 输入输出流(I/O)函数 1.1cin 用于从标准输入流读取数据。 1.2cout 用于向标准输出流写入数据。 // 输入输出流(I/O)函数 #include <iostream> using namespace…...
22. git show
基本概述 git show 的作用是:显示各种 Git 对象(如提交、标签、树对象、文件对象等)的详细信息 基本用法 1.基本语法 git show [选项] [对象]2.查看提交的详细信息 git show <commit-hash> # 示例 git show a1b2c3d # 显示某…...
使用blob文件流
1.后端 GetMapping(value "/static/**")public void view(HttpServletRequest request, HttpServletResponse response) {// ISO-8859-1 > UTF-8 进行编码转换String imgPath extractPathFromPattern(request);if(oConvertUtils.isEmpty(imgPath) || imgPath&q…...
操作指南:在vue-fastapi-admin上增加新的功能模块
近期在github上看到一个很不错的web框架,https://github.com/mizhexiaoxiao/vue-fastapi-admin。该项目基于 FastAPI Vue3 Naive UI 的现代化前后端分离开发平台,融合了 RBAC 权限管理、动态路由和 JWT 鉴权,可以助力中小型应用快速搭建&am…...
文字、语音、图片、视频四个模态两两之间(共16种转换方向)的生成技术及理论基础的详细说明及表格总结
以下是文字、语音、图片、视频四个模态两两之间(共16种转换方向)的生成技术及理论基础的详细说明及表格总结: 1. 技术与理论基础详解 (1) 文字与其他模态的转换 文字→文字 技术:GPT、BERT、LLaMA等语言模型。理论:T…...
FramePack:让视频生成更高效、更实用
想要掌握如何将大模型的力量发挥到极致吗?叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。 1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其…...
【大语言模型DeepSeek+ChatGPT+python】最新AI-Python机器学习与深度学习技术在植被参数反演中的核心技术应用
在全球气候变化与生态环境监测的重要需求下,植被参数遥感反演作为定量评估植被生理状态、结构特征及生态功能的核心技术,正面临数据复杂度提升、模型精度要求高、多源异构数据融合等挑战。人工智能(AI)技术的快速发展,…...
RSS 2025|苏黎世提出「LLM-MPC混合架构」增强自动驾驶,推理速度提升10.5倍!
论文题目:Enhancing Autonomous Driving Systems with On-Board Deployed Large Language Models 论文作者:Nicolas Baumann,Cheng Hu,Paviththiren Sivasothilingam,Haotong Qin,Lei Xie,Miche…...
Oracle expdp的 EXCLUDE 参数详解
Oracle expdp的 EXCLUDE 参数详解 EXCLUDE 是 Oracle Data Pump Export (expdp) 工具中的一个关键参数,用于指定在导出过程中要排除的对象或对象类型。 一、基本语法 expdp username/password DUMPFILEexport.dmp DIRECTORYdpump_dir EXCLUDEobject_type[:name_c…...
Git创建空分支并推送到远程仓库
new-empty-branch是新分支的名称 完全空提交(Git 2.23)【推荐】 git switch --orphan new-empty-branch git config user.email "youexample.com" git config user.name "Your Name" git commit --allow-empty -m "初始空提交…...
TDS电导率传感器详解(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 三、程序设计 main文件 tds.h文件 tds.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 TDS电导率传感器介绍 : TDS(Total Dissolved Solid),中文名总溶解固…...
初识Redis · C++客户端list和hash
目录 前言: list lpush lrange rpush rpush llen rpop lpop blpop hash hset hget hmget hkeys hvals hexists hdel 前言: 在上一篇文章我们介绍了string的基本使用,并且发现几乎唯一的难点就是使用迭代器方面,并且我们…...
SpringBoot和微服务学习记录Day3
Hystrix 熔断器 在分布式架构中,很多服务因为网络或自身原因不可避免发生故障,如果某个服务出现问题往往会导致一系列的服务都发生故障,导致整个微服务架构瘫痪,称为服务雪崩,Hystrix就是为了解决这个问题的 服务熔…...
12个领域近120个典型案例:2024年“数据要素X”大赛典型案例集(附下载)
2024年10月25日,2024年“数据要素”大赛全国总决赛颁奖仪式在北京举行。这次大赛是首届“数据要素x”大赛,全国共有近2万支队伍踊跃参赛,10万参赛者用数据编织梦想,最终角逐出12个赛道120个典型案例。 根据国家数据局等相关公开资…...
如何在腾讯云Ubuntu服务器上部署Node.js项目
最近弄了一个Node.js项目,包含前端用户前台,管理后台和服务端API服务三个项目,本地搭建好了,于是在腾讯云上新建了个Ubuntu 24.04服务器,想要将本地的Node.js项目部署上去,包括环境配置和数据库搭建。 本文…...
【NLP 67、知识图谱】
你像即将到来的夏季一样鲜明, 以至于我这样寡淡的生命, 竟山崩般为你着迷 —— 25.4.18 一、信息 VS 知识 二、知识图谱 1.起源 于2012年5月17日被Google正式提出,初衷是为了提高搜索引擎的能力,增强用户的搜索质量以及搜索体验 …...
Java写数据结构:栈
1.概念: 一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插…...
跨境电商行业新周期下的渠道突围策略
2024年初,跨境电商圈动荡不断,多家卖家平台股价大跌,引发行业舆论热议。而作为东南亚主战场的Shopee,仅仅几个月时间跌幅已达23%。在这一波冲击中,大多数卖家都在"止血",但有棵树却逆势而上&…...
Docker如何更换镜像源提高拉取速度
在国内,由于网络政策和限制,直接访问DockerHub速度很慢,尤其是在拉取大型镜像时。为了解决这个问题,常用的方法就是更换镜像源。本文将详细介绍如何更换Docker镜像源,并提供当前可用的镜像源。 换源方法 方法1&#x…...
平方根倒数快速算法
一、平方根倒数算法的由来 在制作3D游戏的时候,曲面是由许多平面构成的,要求出光线在物体表面反射后的效果,就需要知道平面的单位法向量,法向量的长度的平方R很容易求出,单位法向量 坐标值 / R的平方根。电脑每次都要…...
详解.vscode 下的json .vscode文件夹下各个文件的作用
1.背景 看一些开源项目的时候,总是看到vscode先有不同的json文件,再次做一下总结方便之后查看 settings.json肯定不用多说了 vscode 编辑器分为 全局用户配置 和 当前工作区配置 那么.vscode文件夹下的settings.json文件夹肯定就是当前工作区配置了 在此文件对单个的项目进行配…...
【消息队列RocketMQ】二、RocketMQ 消息发送与消费:原理与实践
一、RocketMQ 消息发送原理与模式 1.1 消息发送原理 RocketMQ 消息发送的核心流程围绕 Producer、NameServer 和 Broker 展开。Producer 启动时,会向 NameServer 请求获取 Topic 的路由信息,这些信息包括 Topic 对应的 Broker 列表以及 Broker 上的…...
WPF的发展历程
文章目录 WPF的发展历程引言起源与背景(2001-2006)从Avalon到WPF设计目标与创新理念 WPF核心技术特点与架构基础架构与渲染模型关键技术特点MVVM架构模式 WPF在现代Windows开发中的地位与前景当前市场定位与其他微软UI技术的关系未来发展前景 社区贡献与…...
新书速览|OpenCV计算机视觉开发实践:基于Qt C++
《OpenCV计算机视觉开发实践:基于Qt C》 本书内容 OpenCV是计算机视觉领域的开发者必须掌握的技术。《OpenCV计算机视觉开发实践:基于Qt C》基于 OpenCV 4.10与Qt C进行编写,全面系统地介绍OpenCV的使用及实战案例,并配套提供全书示例源码、PPT课件与作…...
本地搭建一个简易版本的 Web3 服务
一、环境搭建与工具准备 (一)安装 Node.js 和 npm Node.js 是一个基于 JavaScript 的运行时环境,npm 是其默认的包管理器。在 Web3 开发中,Node.js 和 npm 是必不可少的工具。 访问 Node.js 官网 并下载最新的 LTS 版本。 安装…...
电脑安装CentOS系统
前言 电脑是Windows10系统,安装CentOS之前要将硬盘格式化,这个操作会将Windows10系统以及电脑上所有资料抹除,操作前务必谨慎复查是否有重要资料需要备份。 准备工作 准备两个U盘,一台电脑。提前把镜像下载好。镜像在百度网盘里…...
【Linux专栏】zip 多个文件不带路径
Linux && Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 今天发现 Linux 解压缩的文件中,不光包含需要的文件,还保留了目录层级,不是想要的结果。因此,本文关于…...
邀请函 | 「软件定义汽车 同星定义软件」 TOSUN用户日2025·杭州站
参会邀请函 尊敬的客户及合作伙伴: 新能源汽车智能化浪潮席卷全球,杭州作为中国技术创新高地,正引领行业变革。为助力工程师伙伴应对行业挑战,解决工程难题,同星智能将于2025年5月9日(周五)在…...
start_response详解
start_response 是Python的WSGI(Web Server Gateway Interface)中的一个重要概念,它是一个可调用对象(通常是一个函数),在WSGI应用程序里发挥着关键作用,下面为你详细介绍。 作用 在WSGI规范里…...
记一次 .NET某旅行社酒店管理系统 卡死分析
一:背景 1. 讲故事 年初有位朋友找到我,说他们的管理系统不响应了,让我帮忙看下到底咋回事? 手上也有dump,那就来分析吧。 二:为什么没有响应 1. 线程池队列有积压吗? 朋友的系统是一个web系统&#…...
[预备知识]1. 线性代数基础
线性代数基础 线性代数是深度学习的重要基础,本章节将介绍深度学习中常用的线性代数概念和操作。 1. 标量、向量、矩阵与张量 1.1 标量(Scalar) 标量是单个数值,用 x ∈ R x \in \mathbb{R} x∈R 表示。在深度学习中常用于表…...
RESTful学习笔记(二)---简单网页前后端springboot项目搭建
新建项目: 项目结构 Pom.xml中添加依赖: 要有用于启动的父进程,有启动依赖,有lombok用于自动构建getter和setter方法等 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…...
C++ AI模型部署优化实战:基于TensorRT的高效推理引擎开发
🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…...
[特殊字符] Prompt如何驱动大模型对本地文件实现自主变更:Cline技术深度解析
在AI技术快速发展的今天,编程方式正在经历一场革命性的变革。从传统的"人写代码"到"AI辅助编程",再到"AI自主编程",开发效率得到了质的提升。Cline作为一款基于VSCode的AI编程助手,通过其独特的pro…...
DevOps功能详解
DevOps 详解 1. 什么是 DevOps? DevOps 是 Development(开发) 和 Operations(运维) 的组合词,代表一种通过 自动化工具、协作文化 和 流程优化 来加速软件开发与交付的 方法论。其核心目标是打破开发与运维…...
忽略 CS8616 警告在 Visual Studio 2022 中【C# 8.0 】
CS8616 警告是 C# 8.0 引入的可空引用类型(NRT)相关警告,表示"由于可空引用类型的特性,某个不可为 null 的字段可能未被初始化"。 编辑项目csproj,直接删除<Nullable>enable</Nullable> 或者修改为disable或者annota…...
[架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析
[架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析 服务展示: 运行脚本: 剩余服务: 一、脚本设计背景与核心价值 在Linux服务器运维中,服务管理是日常操作的重要环节。本文介绍的智能服务管理脚本&a…...
23种设计模式-结构型模式之外观模式(Java版本)
Java 外观模式(Facade Pattern)详解 🧭 什么是外观模式? 外观模式是结构型设计模式之一,为子系统中的一组接口提供一个统一的高层接口,使得子系统更易使用。 就像是酒店前台,帮你处理入住、叫…...
《数据结构之美--双向链表》
引言 之前我们学习了单链表这一数据结构,虽然单链表的功能比较多,但是也存在着一些局限性,因为在单链表中节点的指向都是单向的,因此我们想从某个节点找到它的上一个节点比较困难,来不及再迷恋单链表了,接…...
如何判断设备是否支持带电插拔——从原理到实操的全面解析
点击下面图片带您领略全新的嵌入式学习路线 🔥爆款热榜 88万阅读 1.6万收藏 一、带电插拔的核心原理 带电插拔(热插拔)的本质是通过电气隔离设计和顺序通断控制,避免电流突变对设备造成损害。 • 触点分级设计:支持热…...
Google Store 如何利用 glTF 3D 模型改变产品教育
Google 为全球广大用户提供种类繁多、持续改进的硬件产品。Google 的智能手机、智能手表、耳机、平板电脑、智能家居设备等产品均通过 Google Store(谷歌商店) 以及遍布全球的实体和数字第三方零售商销售。作为一个以在人工智能、智能家居和个人设备体验方面不断开拓创新而闻名…...