防御保护笔记02

防火墙

防火墙的主要职责在于:控制和防护 ---- 安全策略 --- 防火墙可以根据安全策略来抓取流量

防火墙分类

  • 按物理特性划分

    • 软件防火墙

    • 硬件防火墙

  • 按性能划分

    • 百兆级防火墙

      • 吞吐量:指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。

    • 千兆级防火墙

    • ……

  • 按防火墙结构划分

    • 单一主机防火墙

    • 路由集成防火墙

    • 分布式防火墙

    • ……

  • 按防火墙技术划分

    • 包过滤防火墙

    • 应用代理防火墙

    • 状态检测防火墙

    • ……

防火墙的发展历史

传统防火墙

包过滤防火墙

缺点:

  1. 很多安全风险集中在应用层的,所以,仅关注三四层的数据无法做到完全隔离安全风险。

  2. 逐包进行包过滤检测,将导致防火墙的转发效率过低,成为网络中的瓶颈。

与ACL匹配规则的区别

在ACL列表中,华为体系下,末尾是没有隐含规则的,即如果匹配不到ACL列表,则认为ACL列表不存在,之前可以通过,则还可以通过;但是,在防火墙的安全策略中,为了保证安全,末尾会隐含一条拒绝所有的规则,即只要没有放通的流量,都是不能通过的。

应用代理防火墙

工作范围在应用层(七层),所以会仍然处理三四层的数据包,只是工作集中在七层

缺点:

  1. 因为需要防火墙进行先一步安全识别,所以,转发效率会降低(原来的三层握手就会变成6次握手)

  2. 可伸缩性差:每一种应用程序需要代理的话,都需要开发对应对应的代理功能,如果没有开发,则无法进行代理。

状态检测防火墙

核心技术:”会话表技术“ --- 首包检测——一股数据流过来,只检测第一个数据包,通过检测第一个数据包中的五元组信息,并且根据五元组信息查找路由条目,然后转发,并且通过哈希计算。之后接收到的数据包五元组通过和之前的信息对比,如果通过就直接按照上一个转发。

下一代防火墙 (NGFW )
专用设备
入侵检测系统 (IDS)

缺点

  • IDS ---- 一种侧重于风险管理的安全机制,有很大的滞后性

特点

  • 运用旁路部署:是一种并联部署的模式,不影响其他路。

    • 交换机上的镜像口:复制其他接口抓发的数据包,并且从到镜像接口转发出去

入侵防御系统 (IPS)

特点

  • 串联部署:串接在网络里面,所有都经过监控系统

防病毒网关 (AV)

IPS检测主体是根据流量检测的,而AV检测主体是根据文件检测的

Web应用防火墙 (WAF)

C/S架构是Client/Server,B/S架构的全称为Browser/Server。

统一威胁管理 (UTM)

因为众多的专用设备导致企业在部署安全防护时需要同时不是大量的设备进行防护,则设备维护成本大大提高,所有设备都需要对流量进行检测,所以,效率很低。

在UTM中,各功能模块是串联工作,所以,检测效率并没有得到提升。但是,因为继承在了一台设备中,所以,维护成本得到降低。

下一代防火墙 (NGFW )

改进点核心:相较于之前UTM中各模块的串联部署,变为了并联部署,仅需要一次检测,所有功能模块都可以做出对应的处理。大大提高了工作效率.

为什么还要单独部署专用设备?

  • 范围问题:NGFW部署之后,部分地方无法检测到,用单独设备部署。

  • 性能问题:NGFW性能有限,多部署专用设备联动工作。

下一代防火墙的优势

防火墙的其他功能

  1. 访问控制:安全,包过滤;

  2. 地址转换:NAT;

  3. 网络环境支持:可以提供在不同环境下的支持;

  4. 带宽管理功能:

  5. 入侵检测和攻击防御:

  6. 用户认证:

  7. 高可用性:

补充知识点

  • 三层交换机的定义:是一种具备路由功能的交换机。与传统的二层交换机相比,三层交换机不仅可以像二层交换机一样转发数据包,还可以像路由器一样识别IP地址,并对数据包进行路由转发。

  • 二层接口和三层接口的区别

    • 二层接口:可以简单理解为只具备二层交换能力的接口。

      • 二层接口不能直接配置IP地址,并且不直接终结广播帧。二层接口收到广播帧后,会将其从同属一个广播域(VLAN)的所有其他接口泛洪出去。

      • 二层接口在收到单播帧后,会在MAC表中查询该数据帧的目的MAC地址,然后依据表项指引进行转发,如果没有任何表项匹配,则进行泛洪。

    • 三层接口:三层接口维护IP地址与MAC地址。

      • 三层接口终结广播帧,三层接口在收到广播帧后,不会进行泛洪处理。

      • 三层接口在收到单播帧后,首先判断其目的MAC地址是否为本地MAC地址,如果是,则将数据帧解封装,并解析出报文目的IP地址,然后进行路由查询及转发。

防火墙的控制

  • 带内管理 --- 是指网络的管理控制信息与用户网络的承载业务信息通过同一个逻辑信道传送(通过网络环境对设备进行控制,如telnet,ssh,web。注意登录设备和被登录设备之间网络需要联通)。

  • 带外管理 --- 网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送(使用 console线,mini usb线)。

防火墙的配置

防火墙基本配置

华为防火墙的MGMT接口(G0/0/0)出厂时默认配置的有IP地址:192.168.0.1/24,并且该接口默认开启了DHCP和web登录的功能(真机开启web服务和DHCP服务,模拟器没有默认开启),方便进行web管理。

  1. 在eNSP中导入USG6000V镜像包。

  2. 登录防火墙、

    • 用户名:admin

    • 密码:Admin@123

    • 第一次登录强制要求改密码

  3. 开启管理口web登录服务

    • 进入G0/0/0接口开web登录服务。

    • [USG6000V1-GigabitEthernet0/0/0]service-manage all permit

      • all --- 表示全部

        • all ALL service

        • enable Service manage switch on/off

        • http HTTP service

        • https HTTPS service

        • ping Ping service

        • snmp SNMP service

        • ssh SSH service

        • telnet Telnet service

      • permint/deny --- 允许/拒绝

  4. Cloud 可以将虚拟机和电脑连接起来。

    • 绑定虚拟网卡,绑定公网网卡可能会导致网络瘫痪。

  5. 修改防火墙G0/0/0 接口IP地址,让它和虚拟网卡的IP地址在同一个广播域。

  6. 在主机游览器上打开防火墙的Web界面

    • https://防火墙IP地址:8443

    • 华为默认防火墙端口号8443。

    • 用户和密码是修改后的账号密码。

防火墙的管理员

在系统界面里面可以管理管理员角色。(默认角色不可修改)

用户权限等级

可以修改一些命令的等级,例如save 等级设置为4,那么只有用户等级大于 4 的才可以使用save命令。可以更精细化管理。

缺省的管理员账号

创建管理员
  • 认证类型

    • 本地认证

      • 用户信息存储在防火墙上,登录时,防火墙根据输入的用户名和密码进行判断,如果通过验证,则成功登录。

    • 服务器认证

      • 和第三方的认证服务器对接,登录时,防火墙将登录信息发送给第三方服务器,之后由第三方服务器来进行验证,通过则反馈给防火墙,防火墙放行。

      • 一般适用于企业本身使用第三方服务器来存储用户信息,则用户信息不需要重复创建。

    • 服务器认证/本地认证

      • 优先使用服务器认证,如果服务器认证失败,则也不进行本地认证。只有在服务器对接不上的时候,采用本地认证。

  • 信任主机 #1

    • 可以添加一个地址或者网段,则其含义是只有在该地址活着地址段内,可以登录管理设备;如果发来登录的数据包不是这个IP地址段内的,则拒绝登录。最多可以添加10条信息。

防火墙的组网

接口配置

  • 物理接口

    • 二层接口 --- 不能配IP

      • 普通的二层接口

      • 接口对 --- “透明网线”

        • 可以将两个接口绑定成为接口对,如果流量从一个接口进入,则必定从另一个接口出去,不需要查看MAC地址表。其实一个接口也可以做接口对,从该接口进再从该接口出。

      • 旁路检测接口

        • 主要用于防火墙的旁路部署,用于接收镜像口的流量。

    • 三层接口 --- 可以配IP

  • 虚拟接口

    • 换回接口

    • 子接口

    • 链路聚合

    • 隧道接口

    • .....

  • 拓展接口

    • Bypass:4个千兆口其实是两队bypass口。如果设备故障,则两个接口直通,保证流量不中断。

虚拟系统 --- VRF技术

  • “ VRF技术 ”:相当于逻辑上将一台设备分割为多台设备,平行工作,互不影响。需要通过接口区分虚拟系统的范围。

  • 管理口和其余物理接口默认不在同一个虚拟系统中。

防火墙接口配置

路由模式 --- 三层接口
  • IP地址可以选用静态、DHCP、PPPoE

  • 填写默认网关,则会在路由表中默认生成一条指向这个地址的缺省路由。

    • 如果要ping通,则在这里勾选。

      • 接口配置页面权力高于安全策略。

交换模式 --- 二层接口
  • 可以跳过创建vlan,直接将接口划分vlan。

旁路检测
  • 接受镜像流量

接口对

选择之后,该接口就具有配置成为接口对的资格。

  • 接口对默认为trunk链路。

虚拟接口
  • 虚拟接口:不同的虚拟空间之间通信使用的虚拟接口,只需要配置IP地址即可。新创建一个虚拟系统会自动生成一个虚拟的接。

安全区域

安全区域分类

  • Trust :一般企业内网会被规划在trust区域中。

  • Untrust: 一般公网区域被规划在untrust区域中。

  • Local:指设备本身,所有接口默认都属于Local区域。

    • 凡是由设备构造并主动发出的报文均可以认为是从local区域发出的,凡是需要设备响应并处理的报文均可以认为是由Local区接受。我们无法修改local区的配置,并且我们无法将接口划入该区域。接口本身属于该区域。

  • Dmz:非军事化管理区域

    • 这个区域主要是为内网的服务器所设定的区域。这些服务器本身在内网,但是需要对外提供服务。他们相当于处于内网和外网之间的区域。所以,这个区域就代表是严格管理和松散管理区域之间的部分管理区域。

注意:将某个接口划分到某个区域时,则代表该接口所连接的整片网络都属于这个区域。区域是靠接口来划分的。

区域优先级

  • 优先级取值范围:1~100(越大越优)

  • 优先级作用

    • 定义方向

      • 流量从优先级高的区域到优先级低的区域 --- 出方向(outbound)

      • 流量从优先级低的区域到优先级高的区域 --- 入方向(inbound)

防火墙组网方式

  • 路由模式

    • 特点:三层部署,三层接口为主。

    • 防火墙配置过程。

      1. 接口、区域配置完成,并且做安全策略

      2. 内网配置回包路由

      3. 是否需要配置服务器映射

      4. 配置内网访问外网的NAT

      5. 针对内外网的安全策略

  • 透明模式

    • 特点:二层部署,二层接口为主

  • 旁路模式

    • 特点:可以实现流量检测,对原始链路没有影响,但是控制能力很小。

    • 镜像:进行二层数据分析。

    • 管理:配置三层接口,用于方便管理。防火墙上网,或者升级设备。

  • 混合模式

    • 特点:部分接口走二层,部分接口走三层

安全策略

传统的包过滤防火墙其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制,执行动作。

  • 五元组:源IP、目标IP 、源端口、目标端口、协议

安全策略相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面是可以完成内容安全的检测。

包过滤和安全策略的对比


安全策略


安全策略内容
  1. 访问控制(允许和拒绝)。

  2. 内容检测:如果允许通过,则可以进行内容检测。

安全策略的全过程

注意
  • 一个区域内部访问是不受安全策略的控制。

  • 匹配规则从上自下匹配。

安全策略的配置

位置:策略 --- 安全策略

流量抓取和条件匹配

  • 策略组:多条策略存储在一个组里面,可以批量的去启用策略和禁止策略;

  • 标签:分类,通过颜色区分;

  • VLAN ID :针对二层携带标签的流量经行匹配管理;

  • 源地址和目标地址:选择匹配的地址或者地址范围;

  • 用户:针对用户匹配;

  • 服务:针对服务内容经行匹配,可以写协议或者端口号;

  • 应用:更细致的应用匹配,可以进行数据层次的关键字识别匹配;

内容安全检测

安全策略中条件匹配规则

  • 每一项之间的关系为 ”与“的关系;

  • 如果不选择,则默认为any(没有限制);

  • 多选的里面,每一项之间的关系是 “或” 关系;

防火墙的状态检测和会话表

状态检测

状态检测的核心 --- ”会话表“

基于流的流量检测:即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流的“特征”记录下来(记录在本地的会话表),之后,该数据流后续的报文都将基于这个特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率

传统防火墙的缺点

  1. 安全风险高

  2. 转发效率第

包过滤防火墙的安全漏洞

状态检测防火墙访问过程

当web服务器给PC进行回报时,来到防火墙上,防火墙会将报文中的信息和会话表的信息进行性比对,如果,发现报文中的信息与会话表中的信息相匹配,并且,符合协议规范对后续报文的定义,则认为该数据包属于PC,可以允许该数据包通过。

会话表

  • 会话表本身也是基于五元组来区分流量,会话表在比对时,会通过计算HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效率。

  • 会话表的目的:提高转发效率

  • 因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会话表。如果无法创建会话表,则将丢弃该数据流的数据

  • 会话表老化时间

    • 老化时间太长:会造成系统资源的浪费,同时,有可能导致新的会话表项无法正常建立;

    • 老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中断,影响业务的转发;

    • 不同协议的会话表老化时间不同。

状态检测技术

目的:提高安全性

状态检测主要检测协议逻辑上的后续报文,以及仅允许逻辑上的第一个报文通过后创建会话表。可以选择开启或者关闭该功能。

配置

  • 防火墙查看老化时间

    • [USG6000V1]display firewall session table ---- 查看老化时间

    • [USG6000V1]display firewall session table verbose ---- 查看会话表详情

  • 开启TCP状态检测功能 (默认开启)

    • 防火墙web页面配置

    • 防火墙命令行页面配置

      • 开启

        • [USG6000V1]firewall sessiong link-state tcp check

      • 关闭

        • [USG6000V1]undo firewall sessiong link-state tcp check

数据通过防火墙的流程

文件传输协议

1. FTP FTP代表文件传输协议。这种类型的协议用于将文件从一台主机传输或复制到另一台主机。但是在不同的主机或系统中发送和接收文件时可能会出现文件名不同、文件目录不同等问题。并且在 FTP 中,不提供安全通道来在主机或系统之间传输文件。


  • FTP协议是一个典型的C/S架构的协议。

  • FTP工作过程中存在两个进程,一个是控制进程 (21) ,另一个是数据的传输进程 (20) ,所以,需要使用两个端口号20,21。

  • FTP传输模式:ASCII模式和二进制模式

    • ASCII模式用于传输文本。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。

    • 二进制模式常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。

  • 像FTP这种使用多个端口号的协议叫做多通道协议(双通道协议)。

2. TFTP TFTP 代表普通文件传输协议。TFTP 用于在不需要 FTP 功能的情况下从客户端到服务器或从服务器到客户端传输文件。TFTP的软件比FTP小。TFTP 工作在 69 端口号上,其服务由 UDP 提供。

FTP和TFTP的区别

  1. FTP 是完整、面向会话、常规用途文件传输协议;而 TFTP 用作 bones bare - 特殊目的文件传输协议。

  2. 因为 TFTP 不支持验证, 所以Windows NT FTP服务器不支持 TFTP

  3. 可以以交互方式使用 FTP; TFTP 允许文件只能单向的传送。

  4. FTP 提供用户身份验证; TFTP 却不。

  5. FTP 依赖于 TCP 是面向连接并提供可靠的控件; TFTP 依赖 UDP,需要减少开销, 几乎不提供控件。

  6. FTP 使用周知 TCP 端口号: 数据和连接对话框的 21,20; TFTP 使用它的文件传输活动 UDP 端口号 69。

  7. FTP使用的是TCP21端口,而TFTP使用的是UDP69端口; 一般防火墙都会封TCP端口而不会封UDP的,所以TFTP有时比FTP好用,不过TFTP传输的文件一般较小,你要传大文件就要用FTP了。

  8. FTP相较于Tftp拥有一套完整的命令集

FTP工作模式

FTP还存在两种不同的工作模式:主动模式,被动模式。

  • 主动模式

    • FTP客户端通过向FTP服务器发送PORT命令,告诉服务器该客户端用于传输数据的临时端口号;

    • 当需要传送数据时,服务器通过TCP端口号20与客户端的临时端口建立数据传输通道,完成数据传输;

    • 在建立数据连接的过程中,由服务器主动发起连接,因此被称为主动方式。

  • 被动模式

    • FTP客户端通过向FTP服务器发送PASV命令,告诉服务器进入被动方式。服务器选择临时端口号并告知客户端;

    • 当需要传送数据时,客户端主动与服务器的临时端口号建立数据传输通道,完成数据传输;

    • 在整个过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式。

FTP建立在防火墙中的问题

  • 问题:两个端口号第一个控制程序来创建会话表,当第二个程序传输数据时,由于五元组信息不同,所有不能匹配第一个控制程序创建的会话表,就应该去建立新的会话表,但是由于无法建立会话表,所有数据包就该被丢弃数据包。

  • 原因:由于建立会话表需要匹配安全策略,传输数据开放的端口号是随机端口号,所以无法通过提前放通安全策略来经行会话表的创建,所以无法建立会话表

在交换机上的抓包信息

主动

被动

  • (192,168,1,1,8,2)

    • 前面4位是IP地址信息,后面的8,2代表的是端口号信息,计算方法:8 * 256 + 2 = 2050

解决办法

ASPF:针对应用层的包过滤,用来抓取多通道协议中协商端口的关键数据包,之后,将端口算出,将结果记录在sever-map表中,相当于开辟了一条隐形的通道。使得像FTP 这样的特殊应用的报文可以正常转发。FTP默认开启ASPF。

配置

  • 配置ASPF

  • 查看server-map表

    • [USG6000V1]display firewall server-map

防火墙的用户认证

  • 防火墙管理员登录认证目的:检验身份的合法性,划分身份权限。

  • 用户认证的目的:上网行为管理的一部分。

    • 用户,行为,流量 ---- 上网行为管理三要素

用户认证分类

  1. 上网用户认证

    • 三层认证

    • 所有的跨网段的通信都可以属于上网行为。正对这些行为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。

  2. 入网用户认证

    • 二层认证

    • 我们的设备在接入网络中,比如插入交换机或者接入wifi后,需要进行认证才能正常使用网络。

  3. 接入用户认证

    • 远程接入(VPN)

    • 主要是校验身份的合法性的。

上网用户认证

  • 本地认证

    • 用户信息在防火墙上,整个认证过程都在防火墙上执行

  • 服务器认证

    • 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将认证结果返回,防火墙执行对应的动作即可

  • 单点登录 --- 和第三方服务器认证类似。

配置

新建认证域

用户组织结构的容器,防火墙缺省存在default认证域,用户可以根据需求新建认证域。

不同的认证域之间是或的关系

  • 认证域: 可以决定认证的方式和组织结构。

新建用户/用户组

用户按树形结构组织,用户隶属于组(部门)。管理员可以根据企业的组织结构来创建部门和用户。


  • 登录名:作为登录凭证使用,一个认证域下登录名不能触发

  • 显式名:不能用来作为登录凭证,只是用来进行描述是,可以重复。

  • 账号过期时间:可以设定一个时间点到期,但是,如果到期前号已登录,到期后,防火墙不会强制下线该用户。

  • 允许多人同时使用该账号登录。

    • 私有用户:仅允许一个人使用,第二个人使用时,将顶替到原先的登录;

    • 公有用户:允许多个人同时使用一个账户。

  • IP/MAC绑定:用户和设备进行绑定(IP地址/MAC地址)

    • 单向绑定:该用户只能使用指定的地址登录 (IP或者MAC),同时该地址也可被其他用户使用;

    • 双向绑定:该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录。

安全组和用户组区别

  • 安全组和用户组都可以被策略调用;

    • 用户组调用是可以递归,递归到用户组下的子用户组;

    • 安全组调用不会递归,子安全组不生效。

认证策略

  1. 抓流量

  2. 执行的动作

  • 认证方式

    • portal认证

      • 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网认证,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。

    • 免认证

      • 需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以选择免认证,不做认证。

    • 不认证

    • 匿名认证

      • 和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输入用户名和密码,直接使用IP地址作为其身份进行登录。

认证域的配置

策略针对一个点,认证域是针对整个组织架构的

  • 如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。

  • 如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证

  • 如果认证策略中选择的是匿名认证,则不触发这里的认证动作。

  • 可以多选

新用户的认证选项

  • 匿名用户登录上来的也算新用户。IP地址本身不属于架构里面的,上来都属于新用户。

  • 临时用户

    • 如果默认是以/666部上线,就要遵守/666的策略/安全组。

防火墙的NAT

NAT分类

  • 源NAT

    • 基于源IP地址进行转换。

    • 我们之前接触过的静态NAT,动态NAT,NAPT都属于源NAT,都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网。

    • 先执行安全策略,后执行NAT

  • 目标NAT

    • 基于目标IP地址进行转换。我们之前接触过的服务器映射 (端口映射) 就属于目标NAT。是为了保证公网用户可以访问内部的服务器。

  • 双向NAT

    • 同时转换源IP和目标IP地址。

NAT配置

新建NAT

  • NAT类型

    • NAT

    • NAT64:ipv4 和ipv6的NAT转换。

  • 转换模式

    • 仅转换源地址 --- 源NAT

    • 仅转换目的地址 --- 目标NAT

    • 源地址和目的地址同时转换 --- 双向NAT

    • 不做转换

  • 转换后的数据包

    • 把源地址转换成什么?

      • 地址池的地址 --- 多对多的NAPT或者动态NAT

      • 出接口地址 --- easy ip

  • 新建安全策略

    • 观察安全策略的源目区域:匹配的是私网地址,所以先执行安全策略,后执行源NAT,即源NAT是在安全策略之后执行。。

补充内容

  • 现在静态NAT作用

    • 入方向,跟服务器做一对一的映射。

  • easy ip 不产生server-map

  • 填写默认网关,则生产缺省静态

    • 协议 Unr:(U)用户(n)网络(r)路由,一般情况由于策略生成的路由。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/356671.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA语言-第16话】集合框架(三)——Set、HashSet、LinkedHashSet、TreeSet集合的详细解析

目录 Set集合 1.1 概述 1.2 特点 1.3 HashSet集合 1.3.1 概述 1.3.2 哈希表 1.3.3 哈希值 1.3.4 练习 1.3.5 HashSet存储自定义类型元素 1.4 LinkedHashSet集合 1.4.1 概述 1.4.2 特点 1.4.3 练习 1.5 TreeSet集合 1.5.1 概述 1.5.2 练习 1.6 HashSet、Lin…

北京兼职挣外快,不知道怎么交税?

1.将甲方给的合同打印两份,都签字画押 2.微信搜索对应 区的税务进行预约 3.地址一般直接搜那个去的税务局,可以搜到我们预约对应的地方 4.预约完成,携带身份证原件,身份证复印件,打印出来的合同一份,去了大…

C/C++ - 内存管理(C++)

堆栈 C中的栈和堆是用于存储变量和对象​​的两个主要内存区域。栈是一种自动分配和释放内存的区域,用于存储局部变量和函数调用的上下文。栈上的内存分配和释放是自动进行的,无需手动管理。堆是动态分配内存的区域,用于存储动态创建的对象和…

【Linux】Linux下多线程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置&#xff1a;进程地址空间和页表1.1 如何看待进程地址空间和页表1.2 虚拟地址…

Python算法题集_和为K的子数组

本文为Python算法题集之一的代码示例 题目560&#xff1a;和为K的子数组 说明&#xff1a;给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nu…

AS自治系统中的路由协议---RIP、OSPF、BGP

一、AS --- 自治系统 将网络分块管理 --- 由单一的机构或组织所管理 的一系列IP网络及其设备的集合 AS的管理&#xff1a;为了方便对AS进行管理&#xff0c;我们给AS设计了一个编号称为AS 号 --- 16位二进制构成 --- 0 - 65535 ---- 目前也存在拓展版的AS 号 --- 32位二进制构…

计网Lesson12 - UDP客户服务器模型和UDP协议

文章目录 丢个图在这&#xff0c;实在不是很明白在讲啥&#xff0c;等学完网编的我归来狠狠拿下它

GitHub 上传文件夹到远程仓库、再次上传修改文件、如何使用lfs上传大文件、github报错一些问题

按照大家的做法&#xff0c;把自己遇到的问题及解决方案写出来&#xff08;注意&#xff1a;Error里面有些方法有时候我用可以成功&#xff0c;有时候我用也不能成功&#xff0c;写出来仅供参考&#xff0c;实在不行重头再clone&#xff0c;add&#xff0c;commit&#xff0c;p…

Java强训day9(选择题编程题)

选择题 class Person {String name "No name";public Person(String nm) {name nm;} } class Employee extends Person {String empID "0000";public Employee(String id) {super(" ");//要调用父类的有参构造方法否则报错empID id;} } pu…

STM32 串口协议简明教程

前言 本文旨在介绍STM32单片机串口协议的使用。 主要是为了个人复习&#xff0c;一段时间没用&#xff0c;就容易忘记。因此在文章中也不会出现串口的原理等讲解。 本文的重点是利用CubeMX实现一个最基本的串口模板&#xff0c;从而能够在往后的各个项目中得到运用。 本文使用…

老龄化对投资意味着什么?

1月15日&#xff0c;国务院办公厅印发《关于发展银发经济增进老年人福祉的意见》从4个方面提出26项举措&#xff0c;为我国首个以“银发经济”命名的政策文件。 近期&#xff0c;国信证券分析师王开发布题为《银发经济再思考&#xff1a;老龄化对投资的影响》的报告&#xff0…

Java8-Stream 流基本应用-groupBy进行分组

groupBy进行分组 Testpublic void testStreamGroupBy(){List<UserInfoModel> resultnew ArrayList<>();for (int i 0; i < 10; i) {UserInfoModel usernew UserInfoModel();user.setUserId(i"");user.setUserName("kangshihang");result.a…

探索设计模式的魅力:深入了解适配器模式-优雅地解决接口不匹配问题

设计模式专栏&#xff1a;http://t.csdnimg.cn/nolNS 目录 一、引言 1. 概述 2. 为什么需要适配器模式 3. 本文的目的和结构 二、简价 1. 适配器模式的定义和特点 定义 特点 2. 适配器模式的作用和适用场景 作用 适用场景 3. 适配器模式与其他设计模式的比较 三、适配…

代码增强LLM

大模型时代的语言模型&#xff08;LLM&#xff09;不仅在尺寸上变得更大了&#xff0c;而且训练数据也同时包含了自然语言和形式语言&#xff08;代码&#xff09;。作为人类和计算机之间的媒介&#xff0c;代码可以将高级目标转换为可执行的中间步骤&#xff0c;具有语法标准、…

Java 与 JavaScript的区别

Java 与 JavaScript的区别 Java 与 JavaScript&#xff1a;概述Java的特点JavaScript 的起源JavaScript 的特点Java 与 JavaScript&#xff0c;哪个更好&#xff1f;JavaScript 与 Java 相似吗&#xff1f;Java 与 JavaScript 的区别JavaScript 在服务器端的运行方式是怎样的&a…

线程锁多线程的复习

线程 实现方式3种乐观锁&悲观锁线程池线程池总结 进程:是正在运行的程序 线程:是进程中的单个顺序控制流,是一条执行路径 实现方式3种 1.Thread //步骤一:定义一个继承Thread的类 //步骤二:再定义的类中重写run()方法 //步骤三:创建定义类对象 //步骤四:启动线程 class M…

【数据分析】numpy基础第一天

文章目录 前言本文代码&#xff1a;使用jupyter notebook打开本文的代码操作示例步骤1.打开Anaconda Powershell Prompt步骤2.复制代码文件地址步骤3.在Anaconda Powershell Prompt中打开jupyter notebook步骤3.5.解决一个可能的问题步骤4.在浏览器中查看ipynb文件步骤5.运行代…

85.网游逆向分析与插件开发-物品使用-物品使用的逆向分析与C++代码的封装

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;项目需求与需求拆解-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;453dd83d54140d2e1ee65c9…

量化交易学习3(量化择时策略)

1 什么是量化择时 量化择时策略&#xff0c;简单来说&#xff0c;就是采用数量化分析方法&#xff0c;利用单个或多个技术指标的组合&#xff0c;来对交易标的股票或股票指数进行低买高卖的操作&#xff0c;期望获得超越简单买入持有策略的收益风险表现。 量化择时策略的核心…

网络防御安全知识(第三版)

配置黑洞路由 --- 黑洞路由即空接口路由&#xff0c;在NAT地址池中的地址&#xff0c;建议配置达到这个地址指 向空接口的路由&#xff0c;不然&#xff0c;在特定环境下会出现环路。&#xff08;主要针对地址池中的地址和出接口地址 不再同一个网段中的场景。&#xff09; …