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

网络结构及安全科普

文章目录

      • 终端联网
        • 网络硬件基础
        • 网络协议
        • 示例:用户访问网页
      • 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猫(电话线接入)。
网络协议

协议是网络设备通信的“语言规则”,不同层次的协议协同工作,确保数据准确传输。以下是核心协议及工作原理:

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. 协议分层处理

  1. 应用层:浏览器发送HTTP请求(如GET /index.html),封装为应用层数据。
  2. 传输层:HTTP数据由TCP协议分段(每个分段含源端口80/目标端口随机),添加TCP头(序号、确认号等)。
  3. 网络层:每个TCP分段封装为IP数据报,添加源IP(用户内网IP,如192.168.1.2)和目标IP(百度服务器公网IP)。路由器通过NAT将内网IP转换为公网IP(如运营商分配的202.108.22.5)。
  4. 数据链路层:IP数据报封装为以太网帧,添加源MAC(电脑网卡MAC)和目标MAC(路由器LAN口MAC),通过交换机转发到路由器。
  5. 物理层:数据转换为电信号(网线)或无线信号(Wi-Fi)传输至目标设备。
  6. 反向流程:百度服务器返回数据,经同样分层处理,最终由浏览器解析为网页内容。

硬件是“血管”:提供物理连接通道,交换机/路由器决定数据的传输路径。 协议是“神经”:各层协议如同“翻译官”,将数据逐步封装/解封装,确保跨设备、跨网络的准确通信。 核心思想:通过分层架构(如OSI模型)将复杂问题拆解,每层专注单一功能,最终实现“端到端”的可靠连接。

OSI七层模型

  • OSI(Open System Interconnection)模型即开放系统互连模型,由国际标准化组织(ISO)于1984年发布,将复杂的网络通信任务分解为七个层次,每层各司其职,使得不同设备能够实现互联互通。
    在这里插入图片描述
  1. 物理层

    • 功能:主要负责在物理介质上传输原始的比特流,规定了网络设备之间的物理连接标准,如电缆、连接器的规格,以及信号的传输方式、电压电平等,实现比特流与电子信号之间的转换。
    • 设备:常见的有集线器、中继器等,它们只是简单地放大或转发信号,不涉及对数据内容的处理。
  2. 数据链路层

    • 功能:负责将物理层传来的比特流组装成数据帧,并进行差错检测和纠正,同时还负责介质访问控制,即决定哪个设备在何时可以使用物理介质进行数据传输。
    • 设备:主要有网卡、网桥、交换机等。交换机通过学习连接到其端口的设备的MAC地址,建立MAC地址表,实现数据帧在不同端口之间的转发。
    • 交换机工作在数据链路层。根据MAC地址寻址。可以把很多主机连起来,这些主机对外各有各的IP。
  3. 网络层

    • 功能:主要任务是实现网络之间的数据路由选择,根据目标地址将数据从一个网络传输到另一个网络,负责IP地址的分配和管理,以及处理网络拥塞等问题。
    • 协议:如IP协议(Internet Protocol),负责为数据报分配IP地址和进行路由选择;ARP协议(Address Resolution Protocol)用于将IP地址解析为物理地址(MAC地址)。
    • 设备:路由器是网络层的主要设备,它根据路由表中的信息,将数据报从一个网络转发到另一个网络,实现不同网络之间的通信。
    • 路由器根据IP地址寻址,路由器可以处理TCP/IP协议。路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。
  4. 传输层

    • 功能:为应用程序之间提供端到端的通信服务,确保数据的可靠传输或尽力而为的传输,负责建立、维护和管理端到端的连接,对数据进行分段和重组等。
    • 协议:常见的有TCP协议(Transmission Control Protocol,传输控制协议)和UDP协议(User Datagram Protocol,用户数据报协议)。TCP提供面向连接的、可靠的数据传输服务,UDP提供无连接的、尽力而为的数据传输服务。
  5. 会话层

    • 功能:负责建立、管理和终止应用程序之间的会话连接,协调不同主机上应用程序之间的通信顺序,如确定会话的开始、结束和同步等。
    • 协议:如NetBEUI协议等,用于在局域网中建立和管理会话。
  6. 表示层

    • 功能:主要负责数据的格式转换、加密与解密、压缩与解压缩等,使得发送端和接收端的数据能够互相理解,将应用层的数据转换为适合网络传输的格式。
  7. 应用层

    • 功能:直接面向用户,为用户提供各种网络服务,如文件传输、电子邮件、网页浏览等,是用户与网络交互的窗口。
    • 协议:有HTTP协议(HyperText Transfer Protocol,超文本传输协议)用于网页浏览;FTP协议(File Transfer Protocol,文件传输协议)用于文件传输;SMTP协议(Simple Mail Transfer Protocol,简单邮件传输协议)用于发送电子邮件等。

网络攻击(Hack)

网络攻击的本质是利用网络系统、协议或用户行为的漏洞(Vulnerability),突破安全防护措施,实现非法访问、数据窃取或系统控制。攻击流程通常包括:

  1. 信息收集:扫描目标IP、端口、服务版本,获取漏洞信息(如使用Nmap、Shodan等工具扫描搜集)。
  2. 漏洞利用:通过漏洞攻击工具(如Metasploit)发送恶意代码,触发系统缺陷。
  3. 权限提升:从普通用户权限升级为管理员权限,实现对系统的完全控制。
  4. 数据窃取/破坏:窃取敏感数据(如密码、财务信息),或植入恶意软件(如勒索软件)破坏系统。
网络攻击的主要类别
(一)按攻击目标分类
  1. 针对主机/系统的攻击

    • 病毒与蠕虫
      • 病毒:依附于正常程序传播,需宿主激活(如宏病毒)。
      • 蠕虫:独立运行,利用系统漏洞自动传播(如WannaCry勒索蠕虫,利用Windows SMB漏洞)。
    • 木马(Trojan):伪装成合法软件,隐藏后门供攻击者远程控制(如冰河木马、灰鸽子)。
    • Rootkit:潜入系统内核,隐藏恶意程序进程、文件和网络连接,对抗安全软件检测。
  2. 针对网络协议/服务的攻击

    • 拒绝服务攻击(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')。
  3. 针对用户的攻击

    • 社会工程学(Social Engineering)
      • 通过心理操纵获取敏感信息(如钓鱼邮件、电话诈骗)。例如,伪造银行邮件诱导用户点击链接,输入账号密码。
    • 钓鱼攻击(Phishing)
      • 伪造可信网站或应用,骗取用户登录凭证(如仿冒支付宝的虚假网页)。
(二)按攻击技术分类
  1. 漏洞利用攻击
    • 利用已知或未知漏洞(0day漏洞)发起攻击。例如,永恒之蓝(EternalBlue)利用Windows SMB服务漏洞传播勒索软件。
  2. 密码攻击
    • 暴力破解:通过穷举法尝试所有可能的密码组合(如使用Hydra工具爆破SSH登录)。
    • 字典攻击:使用预设的常见密码列表(字典文件)批量尝试登录。
  3. 跨站脚本攻击(XSS)
    • 在网页中植入恶意脚本(如存储型XSS攻击,攻击者将脚本存入服务器数据库,用户访问时触发)。 此外,通过窃取用户Cookie或会话令牌进行各类攻击操作。
  4. 高级持续性威胁(APT)
    • 特点:长期、有组织、针对性强,通常由国家级黑客或高级犯罪团伙实施。
    • 案例
      • 震网(Stuxnet):针对伊朗核设施的APT攻击,利用U盘传播,破坏离心机控制系统,被认为是首个「网络武器」。
      • SolarWinds攻击(2020年):黑客入侵美国SolarWinds公司软件更新系统,植入后门,攻击美国政府及企业网络。
网络安全防御
  1. 技术层面
  • 防火墙(Firewall):过滤进出网络的流量,阻止未经授权的访问(如ACL规则禁止特定IP访问端口)。
  • 入侵检测与防御系统(IDS/IPS):实时监控网络流量,识别攻击行为并阻断(如Snort开源IDS)。
  • 加密技术
    • 传输层加密:HTTPS(SSL/TLS)加密网页数据,防止中间人攻击。
    • 数据加密:AES算法加密存储数据,防止泄露。
  • 漏洞管理:定期扫描系统漏洞(如Nessus),及时安装补丁(如Windows Update)。
  1. 管理与策略层面
  • 访问控制(RBAC):按用户角色分配权限,最小化特权账户(如仅管理员可修改系统配置)。
  • 员工安全培训:防范社会工程学攻击(如识别钓鱼邮件、不随意点击可疑链接)。
  • 应急响应计划:制定攻击事件处理流程,定期演练(如模拟数据泄露后的恢复流程)。
  1. 法律与合规
  • 各国制定网络安全法(如中国《网络安全法》、欧盟GDPR),对数据泄露、攻击行为追究法律责任。

典型攻击案例

  1. WannaCry勒索攻击(2017年)
  • 原理:利用Windows SMB漏洞(MS17-010)传播,加密用户文件后索要比特币赎金。
  • 防御缺失:大量用户未安装微软补丁,暴露漏洞;部分企业未隔离内网设备。
  1. 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)和锁机型(锁定系统界面)。传播途径包括邮件附件、漏洞利用、钓鱼链接,防御依赖定期备份和漏洞修复。

其他补充说明

  1. ARP与网络攻击的关联
    ARP协议缺乏认证机制,攻击者可伪造ARP应答,将目标IP对应的MAC地址指向自己(ARP欺骗),从而劫持局域网内的流量,实现嗅探或阻断通信。

  2. Cookie与Session的关系

    • Cookie是客户端存储会话ID的载体,Session是服务器端存储的会话数据。
    • 两者结合实现“无状态HTTP协议”的状态管理,Cookie被盗会直接导致Session劫持。
  3. 0day漏洞的防御难点
    由于漏洞未公开,防御者无法提前修复,只能依赖实时监控、入侵检测系统(IDS)和应急响应流程。

相关文章:

网络结构及安全科普

文章目录 终端联网网络硬件基础网络协议示例&#xff1a;用户访问网页 OSI七层模型网络攻击&#xff08;Hack&#xff09;网络攻击的主要类别&#xff08;一&#xff09;按攻击目标分类&#xff08;二&#xff09;按攻击技术分类 网络安全防御 典型攻击案例相关名词介绍网络连接…...

CAD文件如何导入BigemapPro

问题描述 在使用 BigemapPro 加载 CAD 文件的过程中&#xff0c;会出现两种不同的情况&#xff1a;部分文件能够被软件自动识别投影并顺利加载&#xff1b;而另一部分文件则无法自动识别投影&#xff0c;需要手动干预才能准确加载到影像上。下面为您详细介绍这两种情况的具体操…...

Spring-AOP分析

Spring分析-AOP 1.案例引入 在上一篇文章中&#xff0c;【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】&#xff0c;我们了解到了IOC容器的创建过程&#xff0c;在文末也提到了AOP相关&#xff0c;但是没有作细致分析&#xff0c;这篇文章就结合示例&am…...

opencv 对图片的操作

对图片的操作 1.图片镜像旋转&#xff08;cv2.flip()&#xff09;2 图像的矫正 1.图片镜像旋转&#xff08;cv2.flip()&#xff09; 图像的旋转是围绕一个特定点进行的&#xff0c;而图像的镜像旋转则是围绕坐标轴进行的。图像的镜像旋转分为水平翻转、垂直翻转、水平垂直翻转…...

Python第一周作业

Python第一周作业 文章目录 Python第一周作业 如何在命令行中创建一个名为venv的虚拟环境&#xff1f;请写出具体命令编写一段代码&#xff0c;判断变量x是否为偶数&#xff0c;如果是则返回"Even"&#xff0c;否则返回"Odd"编写代码&#xff0c;使用分支结…...

jinjia2将后端传至前端的字典变量转换为JS变量

后端 country_dict {AE: .amazon.ae, AU: .amazon.com.au} 前端 const country_list JSON.parse({{ country_list | tojson | safe }});...

[渗透测试]渗透测试靶场docker搭建 — —全集

[渗透测试]渗透测试靶场docker搭建 — —全集 对于初学者来说&#xff0c;仅仅了解漏洞原理是不够的&#xff0c;还需要进行实操。对于公网上的服务我们肯定不能轻易验证某些漏洞&#xff0c;否则可能触犯法律。这是就需要用到靶场。 本文主要给大家介绍几种常见漏洞对应的靶场…...

二分查找、分块查找、冒泡排序、选择排序、插入排序、快速排序

二分查找/折半查找 前提条件&#xff1a;数组中的数据必须是有序的 核心逻辑&#xff1a;每次排除一半的查找范围 优点&#xff1a;提高查找效率 代码 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 的配置信息&#xff1a; spr…...

C++常用函数合集

万能头文件&#xff1a;#include<bits/stdc.h> 1. 输入输出流&#xff08;I/O&#xff09;函数 1.1cin 用于从标准输入流读取数据。 1.2cout 用于向标准输出流写入数据。 // 输入输出流&#xff08;I/O&#xff09;函数 #include <iostream> using namespace…...

22. git show

基本概述 git show 的作用是&#xff1a;显示各种 Git 对象&#xff08;如提交、标签、树对象、文件对象等&#xff09;的详细信息 基本用法 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框架&#xff0c;https://github.com/mizhexiaoxiao/vue-fastapi-admin。该项目基于 FastAPI Vue3 Naive UI 的现代化前后端分离开发平台&#xff0c;融合了 RBAC 权限管理、动态路由和 JWT 鉴权&#xff0c;可以助力中小型应用快速搭建&am…...

文字、语音、图片、视频四个模态两两之间(共16种转换方向)的生成技术及理论基础的详细说明及表格总结

以下是文字、语音、图片、视频四个模态两两之间&#xff08;共16种转换方向&#xff09;的生成技术及理论基础的详细说明及表格总结&#xff1a; 1. 技术与理论基础详解 (1) 文字与其他模态的转换 文字→文字 技术&#xff1a;GPT、BERT、LLaMA等语言模型。理论&#xff1a;T…...

FramePack:让视频生成更高效、更实用

想要掌握如何将大模型的力量发挥到极致吗&#xff1f;叶梓老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具&#xff08;限时免费&#xff09;。 1小时实战课程&#xff0c;您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型&#xff0c;以发挥其…...

【大语言模型DeepSeek+ChatGPT+python】最新AI-Python机器学习与深度学习技术在植被参数反演中的核心技术应用

在全球气候变化与生态环境监测的重要需求下&#xff0c;植被参数遥感反演作为定量评估植被生理状态、结构特征及生态功能的核心技术&#xff0c;正面临数据复杂度提升、模型精度要求高、多源异构数据融合等挑战。人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;…...

RSS 2025|苏黎世提出「LLM-MPC混合架构」增强自动驾驶,推理速度提升10.5倍!

论文题目&#xff1a;Enhancing Autonomous Driving Systems with On-Board Deployed Large Language Models 论文作者&#xff1a;Nicolas Baumann&#xff0c;Cheng Hu&#xff0c;Paviththiren Sivasothilingam&#xff0c;Haotong Qin&#xff0c;Lei Xie&#xff0c;Miche…...

Oracle expdp的 EXCLUDE 参数详解

Oracle expdp的 EXCLUDE 参数详解 EXCLUDE 是 Oracle Data Pump Export (expdp) 工具中的一个关键参数&#xff0c;用于指定在导出过程中要排除的对象或对象类型。 一、基本语法 expdp username/password DUMPFILEexport.dmp DIRECTORYdpump_dir EXCLUDEobject_type[:name_c…...

Git创建空分支并推送到远程仓库

new-empty-branch是新分支的名称 完全空提交&#xff08;Git 2.23&#xff09;【推荐】 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电导率传感器介绍 &#xff1a; TDS&#xff08;Total Dissolved Solid&#xff09;&#xff0c;中文名总溶解固…...

初识Redis · C++客户端list和hash

目录 前言&#xff1a; list lpush lrange rpush rpush llen rpop lpop blpop hash hset hget hmget hkeys hvals hexists hdel 前言&#xff1a; 在上一篇文章我们介绍了string的基本使用&#xff0c;并且发现几乎唯一的难点就是使用迭代器方面&#xff0c;并且我们…...

SpringBoot和微服务学习记录Day3

Hystrix 熔断器 在分布式架构中&#xff0c;很多服务因为网络或自身原因不可避免发生故障&#xff0c;如果某个服务出现问题往往会导致一系列的服务都发生故障&#xff0c;导致整个微服务架构瘫痪&#xff0c;称为服务雪崩&#xff0c;Hystrix就是为了解决这个问题的 服务熔…...

12个领域近120个典型案例:2024年“数据要素X”大赛典型案例集(附下载)

2024年10月25日&#xff0c;2024年“数据要素”大赛全国总决赛颁奖仪式在北京举行。这次大赛是首届“数据要素x”大赛&#xff0c;全国共有近2万支队伍踊跃参赛&#xff0c;10万参赛者用数据编织梦想&#xff0c;最终角逐出12个赛道120个典型案例。 根据国家数据局等相关公开资…...

如何在腾讯云Ubuntu服务器上部署Node.js项目

最近弄了一个Node.js项目&#xff0c;包含前端用户前台&#xff0c;管理后台和服务端API服务三个项目&#xff0c;本地搭建好了&#xff0c;于是在腾讯云上新建了个Ubuntu 24.04服务器&#xff0c;想要将本地的Node.js项目部署上去&#xff0c;包括环境配置和数据库搭建。 本文…...

【NLP 67、知识图谱】

你像即将到来的夏季一样鲜明&#xff0c; 以至于我这样寡淡的生命&#xff0c; 竟山崩般为你着迷 —— 25.4.18 一、信息 VS 知识 二、知识图谱 1.起源 于2012年5月17日被Google正式提出&#xff0c;初衷是为了提高搜索引擎的能力&#xff0c;增强用户的搜索质量以及搜索体验 …...

Java写数据结构:栈

1.概念&#xff1a; 一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#xff1a;栈的插…...

跨境电商行业新周期下的渠道突围策略

2024年初&#xff0c;跨境电商圈动荡不断&#xff0c;多家卖家平台股价大跌&#xff0c;引发行业舆论热议。而作为东南亚主战场的Shopee&#xff0c;仅仅几个月时间跌幅已达23%。在这一波冲击中&#xff0c;大多数卖家都在"止血"&#xff0c;但有棵树却逆势而上&…...

Docker如何更换镜像源提高拉取速度

在国内&#xff0c;由于网络政策和限制&#xff0c;直接访问DockerHub速度很慢&#xff0c;尤其是在拉取大型镜像时。为了解决这个问题&#xff0c;常用的方法就是更换镜像源。本文将详细介绍如何更换Docker镜像源&#xff0c;并提供当前可用的镜像源。 换源方法 方法1&#x…...

平方根倒数快速算法

一、平方根倒数算法的由来 在制作3D游戏的时候&#xff0c;曲面是由许多平面构成的&#xff0c;要求出光线在物体表面反射后的效果&#xff0c;就需要知道平面的单位法向量&#xff0c;法向量的长度的平方R很容易求出&#xff0c;单位法向量 坐标值 / R的平方根。电脑每次都要…...

详解.vscode 下的json .vscode文件夹下各个文件的作用

1.背景 看一些开源项目的时候,总是看到vscode先有不同的json文件,再次做一下总结方便之后查看 settings.json肯定不用多说了 vscode 编辑器分为 全局用户配置 和 当前工作区配置 那么.vscode文件夹下的settings.json文件夹肯定就是当前工作区配置了 在此文件对单个的项目进行配…...

【消息队列RocketMQ】二、RocketMQ 消息发送与消费:原理与实践

一、RocketMQ 消息发送原理与模式​ 1.1 消息发送原理​ RocketMQ 消息发送的核心流程围绕 Producer、NameServer 和 Broker 展开。Producer 启动时&#xff0c;会向 NameServer 请求获取 Topic 的路由信息&#xff0c;这些信息包括 Topic 对应的 Broker 列表以及 Broker 上的…...

WPF的发展历程

文章目录 WPF的发展历程引言起源与背景&#xff08;2001-2006&#xff09;从Avalon到WPF设计目标与创新理念 WPF核心技术特点与架构基础架构与渲染模型关键技术特点MVVM架构模式 WPF在现代Windows开发中的地位与前景当前市场定位与其他微软UI技术的关系未来发展前景 社区贡献与…...

新书速览|OpenCV计算机视觉开发实践:基于Qt C++

《OpenCV计算机视觉开发实践:基于Qt C》 本书内容 OpenCV是计算机视觉领域的开发者必须掌握的技术。《OpenCV计算机视觉开发实践:基于Qt C》基于 OpenCV 4.10与Qt C进行编写&#xff0c;全面系统地介绍OpenCV的使用及实战案例&#xff0c;并配套提供全书示例源码、PPT课件与作…...

本地搭建一个简易版本的 Web3 服务

一、环境搭建与工具准备 &#xff08;一&#xff09;安装 Node.js 和 npm Node.js 是一个基于 JavaScript 的运行时环境&#xff0c;npm 是其默认的包管理器。在 Web3 开发中&#xff0c;Node.js 和 npm 是必不可少的工具。 访问 Node.js 官网 并下载最新的 LTS 版本。 安装…...

电脑安装CentOS系统

前言 电脑是Windows10系统&#xff0c;安装CentOS之前要将硬盘格式化&#xff0c;这个操作会将Windows10系统以及电脑上所有资料抹除&#xff0c;操作前务必谨慎复查是否有重要资料需要备份。 准备工作 准备两个U盘&#xff0c;一台电脑。提前把镜像下载好。镜像在百度网盘里…...

【Linux专栏】zip 多个文件不带路径

Linux && Oracle相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 1.背景 今天发现 Linux 解压缩的文件中&#xff0c;不光包含需要的文件&#xff0c;还保留了目录层级&#xff0c;不是想要的结果。因此&#xff0c;本文关于…...

邀请函 | 「软件定义汽车 同星定义软件」 TOSUN用户日2025·杭州站

参会邀请函 尊敬的客户及合作伙伴&#xff1a; 新能源汽车智能化浪潮席卷全球&#xff0c;杭州作为中国技术创新高地&#xff0c;正引领行业变革。为助力工程师伙伴应对行业挑战&#xff0c;解决工程难题&#xff0c;同星智能将于2025年5月9日&#xff08;周五&#xff09;在…...

start_response详解

start_response 是Python的WSGI&#xff08;Web Server Gateway Interface&#xff09;中的一个重要概念&#xff0c;它是一个可调用对象&#xff08;通常是一个函数&#xff09;&#xff0c;在WSGI应用程序里发挥着关键作用&#xff0c;下面为你详细介绍。 作用 在WSGI规范里…...

记一次 .NET某旅行社酒店管理系统 卡死分析

一&#xff1a;背景 1. 讲故事 年初有位朋友找到我&#xff0c;说他们的管理系统不响应了&#xff0c;让我帮忙看下到底咋回事? 手上也有dump&#xff0c;那就来分析吧。 二&#xff1a;为什么没有响应 1. 线程池队列有积压吗&#xff1f; 朋友的系统是一个web系统&#…...

[预备知识]1. 线性代数基础

线性代数基础 线性代数是深度学习的重要基础&#xff0c;本章节将介绍深度学习中常用的线性代数概念和操作。 1. 标量、向量、矩阵与张量 1.1 标量&#xff08;Scalar&#xff09; 标量是单个数值&#xff0c;用 x ∈ R x \in \mathbb{R} x∈R 表示。在深度学习中常用于表…...

RESTful学习笔记(二)---简单网页前后端springboot项目搭建

新建项目&#xff1a; 项目结构 Pom.xml中添加依赖&#xff1a; 要有用于启动的父进程&#xff0c;有启动依赖&#xff0c;有lombok用于自动构建getter和setter方法等 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-…...

C++ AI模型部署优化实战:基于TensorRT的高效推理引擎开发

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

[特殊字符] Prompt如何驱动大模型对本地文件实现自主变更:Cline技术深度解析

在AI技术快速发展的今天&#xff0c;编程方式正在经历一场革命性的变革。从传统的"人写代码"到"AI辅助编程"&#xff0c;再到"AI自主编程"&#xff0c;开发效率得到了质的提升。Cline作为一款基于VSCode的AI编程助手&#xff0c;通过其独特的pro…...

DevOps功能详解

DevOps 详解 1. 什么是 DevOps&#xff1f; DevOps 是 Development&#xff08;开发&#xff09; 和 Operations&#xff08;运维&#xff09; 的组合词&#xff0c;代表一种通过 自动化工具、协作文化 和 流程优化 来加速软件开发与交付的 方法论。其核心目标是打破开发与运维…...

忽略 CS8616 警告在 Visual Studio 2022 中【C# 8.0 】

CS8616 警告是 C# 8.0 引入的可空引用类型(NRT)相关警告&#xff0c;表示"由于可空引用类型的特性&#xff0c;某个不可为 null 的字段可能未被初始化"。 编辑项目csproj&#xff0c;直接删除<Nullable>enable</Nullable> 或者修改为disable或者annota…...

[架构之美]一键服务管理大师:Ubuntu智能服务停止与清理脚本深度解析

[架构之美]一键服务管理大师&#xff1a;Ubuntu智能服务停止与清理脚本深度解析 服务展示&#xff1a; 运行脚本&#xff1a; 剩余服务&#xff1a; 一、脚本设计背景与核心价值 在Linux服务器运维中&#xff0c;服务管理是日常操作的重要环节。本文介绍的智能服务管理脚本&a…...

23种设计模式-结构型模式之外观模式(Java版本)

Java 外观模式&#xff08;Facade Pattern&#xff09;详解 &#x1f9ed; 什么是外观模式&#xff1f; 外观模式是结构型设计模式之一&#xff0c;为子系统中的一组接口提供一个统一的高层接口&#xff0c;使得子系统更易使用。 就像是酒店前台&#xff0c;帮你处理入住、叫…...

《数据结构之美--双向链表》

引言 之前我们学习了单链表这一数据结构&#xff0c;虽然单链表的功能比较多&#xff0c;但是也存在着一些局限性&#xff0c;因为在单链表中节点的指向都是单向的&#xff0c;因此我们想从某个节点找到它的上一个节点比较困难&#xff0c;来不及再迷恋单链表了&#xff0c;接…...

如何判断设备是否支持带电插拔——从原理到实操的全面解析

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 88万阅读 1.6万收藏 一、带电插拔的核心原理 带电插拔&#xff08;热插拔&#xff09;的本质是通过电气隔离设计和顺序通断控制&#xff0c;避免电流突变对设备造成损害。 • 触点分级设计&#xff1a;支持热…...

Google Store 如何利用 glTF 3D 模型改变产品教育

Google 为全球广大用户提供种类繁多、持续改进的硬件产品。Google 的智能手机、智能手表、耳机、平板电脑、智能家居设备等产品均通过 Google Store(谷歌商店) 以及遍布全球的实体和数字第三方零售商销售。作为一个以在人工智能、智能家居和个人设备体验方面不断开拓创新而闻名…...