Linux---03---网络及防火墙

news2024/12/25 13:27:38

课程回顾

  • 虚拟安装

  • 文件命令

本章重点

  • 网络相关概念

  • 静态网络配置

一、网络

1.1 什么是网络?

计算机网络是继电信网络、有线电视网络之后出现的世界级大型网络。

计算机网络由若干个结点和连接这些结点的链路组成。

网络中的结点可以是计算机、交换机、路由等,如图 (a)所示,是一个最简单的计算机网络模型。

计算机网络之间可以相互连接,组成更大的网络,如图 (b)所示,这种网络被称为互联网internet。

计算机网络的功能

数据通信:互相发送文件

资源共享:硬件上可以多台电脑共同连接一台打印机,软件上一台电脑远程访问另一台电脑,使用其软件或查看文件,数据上比如百度网盘资源共享

提高可靠性:比如一台主机死机了,那么因为是分布式,所以可以有另一台主机继续做他没有做完的事情

计算机网络的组成

硬件:端系统、路由器、交换机等等的中间设备

软件:附在端系统上,甚至中间设备上也有,把软件布到硬件上再通过协议穿梭于各个硬件当中就构成了一个计算机网络

1.2 网络体系结构

计算机网络体系结构是指计算机网络层次结构模型,它是各层的协议以及层次之间的端口的集合。

在计算机网络中实现通信必须依靠网络通信协议。在计算机网络中,层、层间接口及协议的集合被称为计算机网络体系结构。计算机网络体系结构必须包括三个内容,即分层结构与每层的功能,服务与层间接口和协议。

人类利用分层思想设计了一种网络通信结构,来解决上述及其他各种问题。

分层思想

在我们的日常生活中有很多分层思想的应用,比如快递系统的组织结构:

一个完整的事件,分成了好几层,其实就是整个过程的各个阶段,而同时会发现,上面的工作依赖下面

的工作的进行与完成,但无需参与其他层的具体工作。

常见的体系结构:

  • OSI(Open System Interconnect,简称开放式系统互联模型) 由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型,OSI七层模型只是理论上的、官方制定的国际标准

  • TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议模型)

目前,由国际化标准组织ISO制定的网络体系结构国际标准是 OSI七层模型,但实际中应用最广泛的是 TCP/IP体系结构。换句话说,OSI七层模型只是理论上的、官方制定的国际标准,而TCP/IP体系结构才是事实上的国际标准。其实就是因为OSI标准没有市场背景,也就只是理论上的成果,并没有过多地应用于实践。

1.2.1 网络协议

为了保证通讯能顺利进行,且进行交互的进程能获取到准确、有效的数据信息,进行通讯的双方必须遵循一系列事先约定好的规则,这些规则即是协议(protocol)。

通信协议定义了 网络实体间发送报文和接收报文的格式、顺序以及当传送和接收消息时应采取的行动 (规则)。

常见的网络协议:http,https,tcp/ip等

协议组成

协议通常都由如下几个要素组成:

  • 语法:是指协议元素与数据的组合格式,也就是报文格式;

  • 语义:指对协议中各协议元素的含义的解释,例如:在HDLC协议中,标志Flag(7EH)表示报文的开始和结束;在BSC协议中,SOH(01H)表示报文的开始,STX(02H)表示报文正文的开始,ETX(03H) 表示报文正文的结束。

  • 时序:是指在通信过程中,通信双方操作的执行顺序与规则。

1.2.2 IP地址与端口号

进行网络通信的对象实质上是网络中的进程,但一个网络中可能有许多台主机,每台主机中的进程也不 唯一,那么发送方是如何正确地确定接收方呢?在计算机网络中,人们常用IP地址标识网络中一台主机,使用端口号标识网络中的一个进程。

IP地址

目前常见的IP地址有IPv4和IPv6两个版本,其中IPv4是广泛使用的版本,IPv6是最新版本。

IPv4版本的IP地址由4个字段和3个分割字段的“.”组成,每个字段的取值范围为0~255

示例:
127.0.0.1
192.168.255.123
8.8.8.1
00001000.00001000.00001000.00000001

进程

计算机上正在运行的一个应用程序

端口号

端口号是一台主机中进程的唯一标识

使用“IP地址+端口号”可确定网络中的一个进程

端口号的最大取值为65535,其中0~1024号端口一般由系统进程占用

1.2.3 DHCP服务

DHCP即动态主机配置协议,是Dynamic Host Configuration Protocol的缩写。DHCP服务分为服务器和客户端两部分,其中服务器的功能为集中管理与IP相关的网络设置数据,处理客户端的DHCP请求,客户端的功能为使用服务器分配的IP配置网络。

DHCP服务的主要功能是为动态分配IP地址,它可以缓解IP地址不足这一问题。

DHCP服务常用术语

DHCP服务常用的术语有DHCP服务器、DHCP客户机、DHCP中继代理、作用域、超级作用域、排除范围、地址池、租约、保留等。

1、DHCP服务器

DHCP服务器是用于提供网络设置参数给DHCP客户机的Internet主机,用于配置DHCP服务器的主机必须使用静态IP地址,配置子网掩码与默认网关。

2、DHCP客户机

DHCP客户机是通过DHCP服务获取网络配置参数的Internet主机。若网络中存在DHCP服务器,开启DHCP服务的客户机在接入网络后可获得由DHCP服务器动态分配的IP地址。

3、DHCP中继代理

DHCP中继代理是在DHCP客户机和服务器之间转发DHCP消息的主机或路由器。

4、作用域

作用域指使用DHCP服务的网络中可用物理IP地址的集合,通常情况下,作用域被设置为网络上的一个子网。DHCP服务器只能为DHCP客户端分配存在于作用域中的空闲IP地址。

5、超级作用域

超级作用域是DHCP服务的一种管理功能,可用于物理子网上多个逻辑IP子网作用域的管理性分组,即

将多个作用域组合为单个管理实体进行统一管理。

6、排除范围

排除范围用于限定从DHCP服务作用域内排除的有限IP地址集合。排除范围中的IP地址为预留地址,这

些地址通常预留给一些需要固定IP的设备(如服务器、可网管交换机等)使用。当DHCP服务动态为计

算机分配IP时,普通设备不会获取到排除范围中的IP地址。

7、租约

DHCP的前身是BOOTP(Bootstrap Protocol,引导程序协议),与BOOTP相比,DHCP新增了“租约”

的概念。租约是指DHCP服务器分配IP地址时,为DHCP客户机指定的客户机使用IP地址的时间长度。

8、保留

保留是DHCP服务器的一种功能,使用该功能可使子网中的某个硬件设备始终使用相同的IP地址。

DHCP的工作流程

在一个配置了DHCP服务器的网络中,若有新加入的客户机需要获取IP地址,则其过程如下:

1、客户机通过广播发送dhcpdiscover信息寻找DHCP服务器。

2、服务器为客户机提供IP租约地址。

3、客户端接收IP租约信息。

4、租约确认

1.2.4 域名系统的结构

由于使用四个字段表示的IP地址难以阅读和记忆,人们发明了域名系统,域名系统中的每个域名都对应 唯一一个IP地址,即使用域名或者与域名对应的IP地址可以访问网络上的同一台主机,例如,使用域名“www.baidu.com”或者IP地址“202.108.22.5”都能访问百度的主机。

域名系统采用类似目录树的等级结构,域名分为根域、顶级域、二级域、三级域和主机名五类。

类型说明示例
根域DNS域名规则中规定,由尾部句点(.)来指定名称位于根或更高级别的域层次结构单个句点(.)或由句点结尾的名称
顶级域某个国家/地区/组织使用的域名.cn、.com、.edu
二级域个人或组织在Internet上使用的注册名称baidu.com、qq.com
三级域由二级域派生的域,常用于网站名www.baidu.com、tieba.baidu.com
主机名网络上特定计算机的标识h1.www.baidu.com

1.2.5 DNS服务

人们难以记住大量用于访问网站服务器的IP地址,往往以域名形式(如www.baidu.com)发起请求,但实际上网络中的计算机只能识别形如“192.168.43.127”的IP地址,而无法识别域名,那么浏览器是如何根据域名调取相应页面的呢?这一切都离不开DNS。

DNS(Domain Name System,即域名系统)实质上是一个分布式数据库,其中存储了域名和IP地址之间的映射关系,它的主要功能为域名解析,即通过域名获取对应IP地址。 提供域名解析功能的主机被称为域名服务器,即DNS服务器。

一个域名只能对应一个IP地址,但一个IP地址可以对应多个域名,也可以没有相应域名。

1.2.6 获取IP

测试是否能够上网:

ping www.baidu.com 

centos7中查看IP信息的命令(之前版本可以直接使用ifconfig)

ip addr
​
ifconfig

1.3 网络设备

集线器(HUB)

共享带宽的设备,采用广播的形式来传输信息,可以实现多台电脑同时使用一个进线接口来上网或组成局域网。

集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其他端口只能等待。

运作在 OSI 模型的物理层

交换机

独享带宽的设备,能够进行地址学习(mac地址:源端和目标端),采用存储转发的形式来交换报文。

可以隔离冲突域。因为每一个端口都有一个独占的带宽,当两个端口工作时,不影响其他端口工作。

运行在 OSI 模型的数据链路层

路由器

一个作用是连通不同的网络,另一个作用是选择信息传送的线路(选路)。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。

路由器可以在无网络或有网络时可以让几台电脑同时互联,并且进行局域网连接。

运行在 OSI 模型的网络层

总结

两台电脑可以通过一根网线直接连接,进行通信。

集线器:机器一多,可以把网线都接到集线器(物理层)上,但是集线器对所有电脑进行广播。

交换机:不想广播,可以用(二层)交换机(数据链路层),又叫多端口网桥,会记录所有电脑的MAC地址表,根据MAC地址进行广播

路由器:互联网电脑这么多,交换机MAC地址表总不能全放下。改用路由器(网络层),也叫三层交换机,通过网段的方式定位要把消息转发到哪。

二、虚拟网卡

2.1 网络适配器

对电脑熟悉点的朋友应该都知道应该都知道网络适配器叫网卡或网络接口卡(NIC),英文名NetworkInterfaceCard。它是使计算机联网的设备。

2.2 网络模式

桥接模式:当虚拟机系统的网络连接模式为桥接模式时,相当于在主机系统和虚拟机系统之间连接了一个网桥,而网桥两端的网络都属于同一网络,主机和虚拟机是处于同一网络中的对等主机。

桥接模式的虚拟机,就像一个在路由器民政局”那里”上过户口”的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。

NAT 模式:NAT即Network Address Translation,网络地址转换是虚拟专用网和全球IP地址之间的转换,虚拟专用网是企业,政府部门的内部网络,在虚拟专用网中主机的IP地址是虚拟专用地址,它不能被互联网中的路由器所识别,因此,在企业接入互联网的默认网关(接入路由器)中,需要地址转换NAT软件使得虚拟专用网内部的主机可以连接到互联网。

NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器”民政局”根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。

Host-Only 模式:虚拟网络是一个全封闭的网络,它唯一能访问的就是物理真机。主机和虚拟机之间的通信是通过 VMware Network Adapter VMnet1 虚拟网卡来实现的。

仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器”民政局”不知 道这么号人,还被主机关在小黑屋里,连信件也不准往外发。 没有IP设置,无法和外界进行通信

2.2 虚拟网卡

虚拟网卡(又称虚拟网络适配器),即用软件模拟网络环境,模拟网络适配器,windows系统自带此软件。

  • vm net0:桥接模式

  • vm net1:仅主机

  • vm net8:NAT模式

三、设置静态IP

3.1 查看虚拟网关

VM虚拟机的 编辑---->虚拟网络编辑器----->vmnet8----->nat设置

NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

vm编辑 -- 虚拟网络编辑器

3.2 编辑网卡文件

必须有操作权限

切换连接用户

su 用户名/-

[s@localhost ~]$ su root
Password: 
[root@localhost s]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-eth   ifdown-isdn    ifdown-sit       ifup          ifup-ib    ifup-plip   ifup-routes    ifup-tunnel        network-functions-ipv6
ifcfg-lo     ifdown-ib    ifdown-post    ifdown-Team      ifup-aliases  ifup-ippp  ifup-plusb  ifup-sit       ifup-wireless
ifdown       ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-ipv6  ifup-post   ifup-Team      init.ipv6-global
ifdown-bnep  ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-isdn  ifup-ppp    ifup-TeamPort  network-functions
[root@localhost network-scripts]# vi ifcfg-ens33

修改并追加以下内容: 按i

# 静态IP配置
BOOTPROTO=static
# 使用静态ip
ONBOOT="yes"

# ip地址:起始范围内的地址
IPADDR=192.168.190.140
# 子网掩码
NETMASK=255.255.255.0 
# 网关
GATEWAY=192.168.190.2
 

如果不生效,添加

DNS1=192.168.0.1或者 
DNS1=8.8.8.8 谷歌在全世界范围的一个DNS域名服务解析 
DNS2=114.114.114.114 中国网络大型运营商提供个DNS域名服务解析 

按esc退出编辑模式,使用底行模式 : wq 保存退出

3.3 重启网络

systemctl restart network
或
service network restart 

查看网络状态

systemctl restart network

3.4 查看并测试

最小安装的话需要自己下载一个网络工具

yum -y install net-tools

ip addr
或者
ifconfig

测试连接

跟主机做连接测试

主机连接虚拟机:ping ip地址(虚拟机)

虚拟机连接主机:ping ip地址(主机)

网络

1.主机连网;

2.虚拟机是否能连网;

ping www.baidu.com 

四、SSH工具简介和使用

(ssh协议默认端口号为22) ftp 21 http 80 https 443

4.1 简介

SSH(Security Shell) 是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP =security copy 协议在网络上向另一台电脑传输文件。

4.2 作用(自学)

SSH常用命令:

1、复制SSH密钥到目标主机,开启无密码SSH登录

ssh-copy-id user@host

如果还没有密钥,请使用ssh-keygen命令生成。

2、从某主机的80端口开启到本地主机2001端口的隧道

ssh -N -L2001:localhost:80 somemachine

现在可以直接在浏览器中输入http://localhost:2001访问这个网站。

3、将你的麦克风输出到远程计算机的扬声器

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

这样来自你麦克风端口的声音将在SSH目标计算机的扬声器端口输出,但遗憾的是,声音质量很差,你会听到很多嘶嘶声。

4、比较远程和本地文件

ssh user@host cat /path/to/remotefile | diff /path/to/localfile –

在比较本地文件和远程文件是否有差异时这个命令很管用。

5、通过SSH挂载目录/文件系统

sshfs name@server:/path/to/folder /path/to/mount/point

从sshfs has moved下载sshfs,它允许你跨网络安全挂载一个目录。

6、通过中间主机建立SSH连接

ssh -t reachable_host ssh unreachable_host

Unreachable_host表示从本地网络无法直接访问的主机,但可以从reachable_host所在网络访问,这个命令通过到reachable_host的“隐藏”连接,创建起到unreachable_host的连接。

7、将你的SSH公钥复制到远程主机,开启无密码登录 – 简单的方法

ssh-copy-id username@hostname

8、直接连接到只能通过主机B连接的主机A

ssh -t hostA ssh hostB

当然,你要能访问主机A才行。

9、创建到目标主机的持久化连接

ssh -MNf <user>@<host>

在后台创建到目标主机的持久化连接,将这个命令和你~/.ssh/config中的配置结合使用:

Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

所有到目标主机的SSH连接都将使用持久化SSH套接字,如果你使用SSH定期同步文件(使用rsync/sftp/cvs/svn),这个命令将非常有用,因为每次打开一个SSH连接时不会创建新的套接字。

10、通过SSH连接屏幕

ssh -t remote_host screen –r

直接连接到远程屏幕会话(节省了无用的父bash进程)。

11、端口检测(敲门)

knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000

在一个端口上敲一下打开某个服务的端口(如SSH),再敲一下关闭该端口,需要先安装knockd,下面是一个配置文件示例。

[options]
logfile = /var/log/knockd.log
[openSSH]
sequence = 3000,4000,5000
seq_timeout = 5
command = /sbin/iptables -A INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 5000,4000,3000
seq_timeout = 5
command = /sbin/iptables -D INPUT -i eth0 -s %IP% -p tcp –dport 22 -j ACCEPT
tcpflags = syn

12、删除文本文件中的一行内容,有用的修复

ssh-keygen -R <the_offending_host>

在这种情况下,最好使用专业的工具。

13、通过SSH运行复杂的远程shell命令

ssh host -l user $(<cmd.txt)

更具移植性的版本:

ssh host -l user “`cat cmd.txt`”

14、通过SSH将MySQL数据库复制到新服务器

mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASS NEW_DB_NAME”

通过压缩的SSH隧道Dump一个MySQL数据库,将其作为输入传递给mysql命令,我认为这是迁移数据库到新服务器最快最好的方法。

通过配置 SSH 免密码登录,你可以享受到如下的便利:

1、用脚本实现日常工作的自动化。

2、增强 Linux 服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴力破解攻击的一个推荐的方法,SSH 密钥单凭暴力破解是几乎不可攻破的.

4.3 常见SSH工具

SecureCRT

Xmanager(Xshell和Xftp)

Putty

Finalshell

等等

4.4 Finalshell 的安装和使用

windows 下安装Finalshell

注意事项

ctrl+s:锁定

ctrl+q:解锁

五、防火墙firewall

5.1 firewalld 简介

防火墙是Linux系统的主要的安全工具 ,可以提供基本的安全防护,在Linux历史上已经使用过的防火墙工具包括:ipfwadm、ipchains、iptables(即Centos6就是使用的iptables),而在firewalld中新引入了 区域(Zone)这个概念。

以前的iptables防火墙是静态的,每次修改都要求防火墙完全重启,这个过程包括内核netfilter防火墙模块的卸载和新配置所需模块的装载等,而模块的卸载将会破坏状态防火墙和确立建立的连接,现在firewalld可以动态管理防火墙,firewalld把netfilter的过滤功能集于一身。

5.2 firewalld 区域(Zone)

简单来说就是为用户预先准备了几套防火墙策略集合(策略模板),然后可以根据生产场景

的不同而选择合适的策略集合,实现了防火墙策略之间的快速切换。

firewalld预定义的九种网络区域:

①trusted②public③work④home⑤internal⑥external⑦dmz⑧block⑨drop

(1)丢弃区域(Drop Zone):如果使用丢弃区域,任何进入的数据包将被丢弃,这个类似于Centos6上的 iptables -j drop ,使用丢弃规则意味着将不存在相应。

(2)阻塞区域(Block Zone):阻塞区域会拒绝进入的网络连接,返回icmp-hostprohibited,只有服务器已经建立的连接会被通过,即只允许由该系统初始化的网络连接。

(3)公共区域(Public Zone):只接受那些被选中的连接,默认只允许ssh和dhcpv6-client,这个zone是缺省zone(缺省就是默认的意思,所以公共区域也是默认区域,在没有任何配置的情况下走的是公共区域)。

(4)外部区域(External Zone):这个区域相当于路由器的启动伪装(masquerading)选项,只有指定的连接会被接受,即ssh,而其他的连接将被丢弃或者不被接受。

(5)隔离区域(DMZ Zone):如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义,它也拥有只通过被选中连接的特性,即ssh, 这个区域又叫做非军事化区域。

(6)工作区域(Work Zone):在这个区域中,我们只能定义内部网络,比如私有网络通信才 被允许, 只允许ssh、ipp-client和dhcpv6-client。

(7)家庭区域(Home Zone):这个区域专门用于家庭环境,它同样只允许被选中的连接,即ssh、ipp-client、mdns、samba-client和dhcpv6-client。

(8)内部区域(Internal Zone):这个区域和 工作区域(Work Zone) 类似,只允许通过被选中的连接,与 家庭区域(Home Zone) 相同。

(9)信任区域(Trusted Zone):信任区域允许所有网络通信通过,因为 信任区域(Trusted Zone)是最被信任的,即使没有设置任何的服务,那么也是被允许的,因为 信任区域 (Trusted Zone)是允许所有连接的。

5.3 防火墙相关命令

重启、关闭、开启、firewalld.service 服务

服务命令

systemctl 参数 服务名
或者
service 服务名 参数
参数说明
start启动
stop停止
restart重启
status状态
enable启动
disable禁用

查看防火墙状态

service firewalld status
systemctl status firewalld 

重启防火墙

service firewalld restart
​
systemctl restart firewalld

关闭防火墙

service firewalld stop
​
systemctl stop firewalld

启动防火墙

service firewalld start
​
systemctl start firewalld

设置开机是否启动

默认开机启动

# 设置开机不启动 
systemctl disable firewalld 
​
# 设置开机启动
systemctl enable firewalld  

firewall-cmd

获取firewalld 默认区域防火墙

firewall-cmd --get-default-zone 

查看防火墙状态(防火墙自带的,显示简单)

firewall-cmd --state

查看防火墙规则

firewall-cmd --list-all 

firewall端口操作

以下都是指在public的zone下的操作,不同的Zone只要改变Zone后面的值就可以

查看

firewall-cmd --zone=public --query-port=3306/tcp 

添加

firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 

重新载入

firewall-cmd --reload 

删除

firewall-cmd --zone=public --remove-port=3306/tcp --permanent 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻5|给攻击添加特效

一&#xff0c;打开武器蓝图 选择武器网格体&#xff0c;在细节处找到组件开始重叠&#xff0c;点击 写下以下蓝图&#xff0c;这是最终蓝图&#xff0c;后面会分讲要点 二&#xff0c;actor拥有标签&#xff0c;就是被击打的敌人&#xff0c;我们给actor添加标签 到主界面&am…

Linux之sed命令和正则表达式

什么是sed编辑器? sed是一个命令行文本编辑工具&#xff0c;用于对文本进行处理和转换。它可以读取文本文件&#xff0c;对文件的各个行进行修改、删除和替换操作&#xff0c;并将结果输出到标准输出或者文件中。 sed 被广泛用于Unix和类Unix系统中的脚本和命令行操作中&#…

二极管作用

防止电源反接 电路目的是为了&#xff0c;防止电源反接&#xff0c;对电路中的电子元器件造成破坏&#xff0c;造成财产损失或者人身安全。 原理 二极管单向导电性&#xff0c;二极管0.7V正向压降不会对电路造成影响 原理图 这里U7是一个二极管&#xff0c;如果电源反接&…

C++STL初阶(10):list的简易实现(下)

在上一文中我们完成了链表的多数基本接口&#xff0c;本文主要围绕构造函数进行补充 1. 链表的拷贝 在前文中我们没有手动实现拷贝构造&#xff0c;所以使用的就是编译器自动生成的浅拷贝 先使用一下编译器自动生成的浅拷贝&#xff1a; 我们在打印li2之前给li1加入一个数据&…

Python 如何使用 Contextlib 模块

Python 中的 contextlib 模块提供了一些实用工具&#xff0c;帮助我们管理上下文管理器和与上下文相关的操作。上下文管理器是一种对象&#xff0c;它定义了进入和退出代码块时要执行的操作&#xff0c;通常用于资源管理&#xff0c;如文件操作、网络连接等。上下文管理器通常与…

【SPIE出版】第四届计算机视觉、应用与算法国际学术会议(CVAA 2024,10月11-13)

计算机视觉、应用与算法的领域&#xff0c;一直在飞速发展&#xff0c;第四届计算机视觉、应用与算法国际学术会议&#xff08;CVAA 2024) 将汇聚世界各地的顶尖学者、研究人员和企业代表&#xff0c;共同分享和交流计算机视觉在各个领域的最新研究成果、技术突破和产业应用。 …

ElementPlus table上移下移操作、表格嵌套树选择器

步骤条圆圈中的数字根据所选样式展示&#xff1a; <el-stepsstyle"margin-top: 20px; max-width: 700px"align-center:active"formModel.testData.length 1"><el-steptitle"Step 1"v-for"(item, index) in formModel.testData&qu…

技术应用 | 外语专业如何借助大模型转型升级?

一、选哪一条路&#xff1a;评测大模型、应用大模型、研发大模型 如果把大语言模型当作是“一个人”&#xff0c;那么既可以把这个“人”当作研究对象&#xff0c;研究它几岁了、智商如何了、能做什么、不能做什么、危不危险&#xff0c;也就是“评测大模型”&#xff1b;也可…

django电商易购系统-计算机毕业设计源码61059

目 录 1 绪论 1.1选题背景 1.2研究意义 1.3论文结构与章节安排 2 电商易购系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 电商易购系统总…

Java设计模式-原型模式-一次性理解透

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. 前言2. 原型模式的主要角色2.1 原型接口或抽象类2.2 具体原型类2.3 客户端2.4 克隆方法 3. 原型模式使用场景3.1 创建对象是昂贵的3.2 对象的变化3.3 动态配置3.…

10-使用sentinel流控

本文介绍sentinel的直接流控的使用。 0、环境 jdk 1.8sentinel 1.8.2springboot 2.4.2 1、sentinel环境搭建 从官方发布的网站上下载: sentinel Jar&#xff0c;下载对应版本。 下载完成后&#xff0c;进入刚才下载的Jar文件所在的目录&#xff0c;执行如下命令&#xff1a…

Qt+OpenCV配置和测试

一、前言 OpenCV作为比较大众化的跨平台计算机视觉开源库&#xff0c;可以运行在多种操作系统上&#xff0c;通过与Qt的结合&#xff0c;能够轻松的是实现一些图像处理和识别的任务&#xff0c;本文在Windows操作系统的基础上具体讲解Qt和OpenCV的配置和环境搭建方法&#xff…

PHP企业员工考勤系统—计算机毕业设计源码17108

摘要 由于数据库和数据仓库技术的快速发展&#xff0c;企业员工考勤系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。员工管理系统对处理对象和服务对象&#xff0c;自身的系统结构&#xff0c;处理能力&#xff0c;都将适应技术发展的要求发生重大的变化。 …

叉车安装人脸识别管理系统,能带来哪些好处

当今工业生产中&#xff0c;叉车是一种常见的运输工具&#xff0c;广泛应用于各种场景&#xff0c;如工厂、仓库、码头等。然而&#xff0c;由于驾驶员的错误操作或非授权人员的驾驶&#xff0c;叉车在使用过程中可能会发生意外事故&#xff0c;给企业带来不小的损失。 为了提…

LangChain之数据库操作:通过链Chain和代理Agent查询数据库信息

Chain和Agent查询数据库 在LangChain&#xff0c;其提供了SQL Chain链和SQL Agent代理&#xff0c;他们支持基于自然语言提示构建和运行SQL查询&#xff0c;以此来操作数据库&#xff0c;并且与SQLAlchemy支持的任何SQL版本兼容。&#xff08;例如&#xff0c;MySQL&#xff0c…

自闭症儿童注意力分散怎么办?|星启帆自闭症寄宿学校

在自闭症儿童的成长过程中&#xff0c;一个常见且令人担忧的现象是“精神飘移行为”&#xff0c;这种行为表现为孩子沉浸在自己的小世界里&#xff0c;对外界刺激反应迟钝&#xff0c;甚至完全忽视。他们可能会做出一些怪异的动作、表现出刻板行为、自言自语&#xff0c;眼神呆…

Kafka服务端日志详解

文章目录 服务端日志Topic消息存储方式主体介绍log文件追加记录消息index和timeindex索引文件 日志文件清理Kafka的文件高效读写机制Kafka的文件结构顺序写磁盘零拷贝 合理配置刷盘频率客户端消费进度管理 服务端日志 Kafka的日志信息是通过conf/server.properties文件中的log…

用苹果机连接mac后怎么在电脑上调试苹果手机上页面的元素

问: 用苹果机连接mac后怎么在电脑上调试苹果手机上页面的元素, 使用MAC电脑、iPhone 真机调试 H5页面 回答: 使用MAC电脑、iPhone 真机调试 H5页面 简介 Safari 浏览器设置iPhone 手机设置开始调试 简介 为方便在 H5开发过程中在真实手机调试 H5页面&#xff0c;可进行一下…

Mybatis-springBoot

MyBatis 是一个流行的 Java 持久层框架&#xff0c;它简化了与关系型数据库的交互。通过将 SQL 语句与 Java 代码进行映射&#xff0c;MyBatis 提供了一种方便、灵活的方式来执行数据库操作。它支持动态SQL、缓存机制和插件扩展&#xff0c;使得开发人员能够更高效地编写和管理…

重学我的数据结构

二叉树 1. 遍历 (Traversal) 前序遍历 (Preorder Traversal): 先访问根节点&#xff0c;再访问左子树&#xff0c;最后访问右子树。 void preorderTraversal(Node root) {if (root null) return; System.out.print(root.value " "); preorderTraversal(root.left)…