最基本的网络拓扑结构有:环形拓扑、星行拓扑、总线拓扑三个。
环形拓扑:
总线型结构
星型拓扑结构
树型拓扑结构
网状拓扑结构
应用层常用的协议:TFTP、HTTP、SNMP、FTP、SMTP、DNS
DNS 的作用是什么?
DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的,又名“ 域名解析 服务器”.
DNS有什么作用? 靠它把你要访问的网址找到然后把信息送到你电脑上。
ARP 和 RARP 的主要作用分别是什么?
ARP是地址解析协议 有了IP想知道对方MAC时用 作用是:将网络地址解析成物理地址。
RARP是逆向地址解析协议 有了MAC想知道对方IP时用 作用是:将物理地址解析成网络地址。
MAC:
MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address) 它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 [1] 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址 [2] 。
C 类 IP 地址预留了多少位网络号和主机号?
网络号24位 主机号8位
将B类IP地址168.195.0.0划分成八个子网
8个子网,2^3=8
N=3
B类IP地址中主机地址占了16位,168.195.0.0中每个点隔开的数字占8位。所以修改第一个0的数值。 0000,0000将前3位都置为1,则变成1110,0000
1110,0000b换成十进制是224.B类默认的子网掩码为255.255.0.0,所以子网掩码是255.255.224.0。
环回地址属于哪一类 IP 地址?访问环回地址数据包会流向网络吗?
环回地址不属于常见的IP地址(常用的IP地址是A类,B类,C类,都是单播地址,一对一通信),属于特殊IP地址。
在IPv4里面,它不是一个地址,而是一类地址(127.0.0.1 ----------------------->127.255.255.254(去掉0和255) 的范围都是本地回环地址),默认是127.0.0.1。
在IPv6里,它是一个地址,仅指0:0:0:0:0:0:0:1(也可缩写成::1)
访问环回地址,数据包不会流向网络
1.访问网址
2.访问环回地址
访问环回地址时,往返时间都是0,但是访问网址时,却不是,说明访问环回地址数据包不会流向网络
127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。
HTTP 中有哪些常见的请求方法?响应状态码又分为哪几类?
HTTP请求方法
一、GET
GET方法用于获取请求页面的指定信息。
二、HEAD
除了服务器不能在响应里返回消息主体外,其他都与GET方法相同,常用于测试链接有效性。
三、 POST
与GET类似,但是有请求内容,比GET来说,相对安全。
四、PUT
在服务器建立文件,相对危险,一般关闭。
五、DELETE
删除服务器资源,相对危险,一般关闭。
六、TRACE
较为少见。可回显服务器收到的请求。
七、CONNECT
为了用于能动态切换到隧道的代理。
八、OPTIONS
返回可用的请求方法,了解服务器性能。
常见状态码
200:客户端请求成功。
302:重定向。
404:请求资源不存在。
400:客户端请求有语法错误,不能被服务器解析。
401:请求未经授权。
403:服务器收到请求,但是拒绝服务。
500:服务器内部错误,是最常见的状态。
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
HTTP消息
一、请求头
Host:主要用于被请求的Intenet主机和端口号.
User-Agent:显示客户端的浏览器,系统信息。
Referer:包含一个URL,这个URL是用户来的地方。
Cookie:非常重要,表示请求者的身份。
Range:可以请求实体的部分内容,多线程下载会用到。
X-Forward-For:代表请求端的IP,可以有多个,用逗号隔开。
Accept:指定客户端接收哪些MIME类型的信息。
Accept-Charset:指定客户端接收的字符,如果没有设置,则可以接收任何字符。
二、响应头
Server:服务器所使用的Web服务器的名称。建议在服务端修改此头。
Set-Cookie:向客户端设置Cookie。
Last-Modified:资源的最后修改时间。
Location:告诉浏览器去访问哪个页面,通常配合302状态码使用。
Refresh:告诉浏览器定时刷新浏览器。
FORM 表单中的 enctype 属性都包含哪些值?这些都分别有什么用?
enctype就是encodetype就是编码类型的意思。
multipart/form-data是指表单数据中由多部分构成,既有文本数据,又有文件等二进制数据
需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。
application/x-www-form-urlencoded不是不能上传文件,是只能上传文本格式的文件,multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传。
例如:
<form action="form_action.asp" enctype="text/plain">
<p>Firstname:<input type="text" name="fname" / ></p>
<p>Lastname:<input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
关于HTML标签enctype属性
-
application/x-www-form-urlencoded:在发送前编码所有字符(默认) -
multipart/form-data:不对字符编码,但在使用包含文件上传控件的表单,必须使用此值 -
text/plain:空格转换为"+"号,但部队特殊字符编码。 -
enctype:规定了form表单在发送到服务器时候编码方式,有如下的三个值。 -
application/x-www-form-urlencoded:默认的编码方式。但在用文本的传输和MP3等大型文件的时候,使用这种编码就显得效率低下。 -
multipart/form-data:指定传输数据为二进制类型,比如图片,mp3,文件 -
text/plain:纯文本的传输。空格转换为"+"号,但不对特殊字符编码。
SSL 的基本运行过程分为哪几步?SSL 和 TLS 的对应关系是怎样的?
1.SSL客户端在TCP连接建立后,发出一消息,该消息中包含了SSL可实现的算法列表和其他一些必要的消息;
2.SSL的服务器端将回应一个消息,其中确定了该次通信所要用的算法,然后发出服务器端的证书;
3.客户端在收到该消息后会生成一个秘密消息,并用SSL服务器的公钥加密后传回服务器;
4.服务器用自己的私钥解密后,会话密钥协商成功;
5.双方用同一份会话密钥通信。
详解:
(1) 客户端发送列出客户端密码能力的客户端“您好”消息(以客户端首选项顺序排序),如 SSL 的版本、客户端支持的密码对(加密套件)和客户端支持的数据压缩方法(哈希函数)。消息也包含 28 字节的随机数。
(2) 服务器以服务器“您好”消息响应,此消息包含密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。
注意:客户端和服务器至少必须支持一个公共密码对,否则握手失败。服务器一般选择最大的公共密码对。
(3) 服务器发送其SSL数字证书。(服务器使用带有 SSL 的 X.509 V3 数字证书。)
如果服务器使用 SSL V3,而服务器应用程序(如 Web 服务器)需要数字证书进行客户端认证,则客户端会发出“数字证书请求”消息。在 “数字证书请求”消息中,服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称。
(4) 服务器发出服务器“您好完成”消息并等待客户端响应。
(5) 一接到服务器“您好完成”消息,客户端( Web 浏览器)将验证服务器的SSL数字证书的有效性并检查服务器的“你好”消息参数是否可以接受。
如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书是可用的,客户端将发送“没有数字证书”警告。此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。
(6) 客户端发送“客户端密钥交换”消息。此消息包含 pre-master secret(一个用在对称加密密钥生成中的 46 字节的随机数字),和 消息认证代码( MAC )密钥(用服务器的公用密钥加密的)。
如果客户端发送客户端数字证书给服务器,客户端将发出签有客户端的专用密钥的“数字证书验证”消息。通过验证此消息的签名,服务器可以显示验证客户端数字证书的所有权。
注意: 如果服务器没有属于数字证书的专用密钥,它将无法解密 pre-master 密码,也无法创建对称加密算法的正确密钥,且握手将失败。
(7) 客户端使用一系列加密运算将 pre-master secret 转化为 master secret,其中将派生出所有用于加密和消息认证的密钥。然后,客户端发出“更改密码规范” 消息将服务器转换为新协商的密码对。客户端发出的下一个消息(“未完成”的消息)为用此密码方法和密钥加密的第一条消息。
(8) 服务器以自己的“更改密码规范”和“已完成”消息响应。
(9) SSL 握手结束,且可以发送加密的应用程序数据。
OpenSSL 有哪几类命令?都分别是干什么用的?
x509证书一般会用到三类文,key,csr,crt。 Key 是私用密钥openssl格,通常是rsa算法。 Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。 crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。
1.key的生成
openssl genrsa -des3 -out server.key 2048
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:
openssl rsa -in server.key -out server.key
server.key就是没有密码的版本了。
--openssl genrsa -des3 -out MYER_PRA.key 2048
--123456
2. 生成CA的crt
openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的ca.crt文件是用来签署下面的server.csr文件。
--openssl req -new -x509 -key MYER_PRA.key -out MYER_CA.crt -days 3650
3. csr的生成方法
openssl req -new -key server.key -out server.csr
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。
4. crt生成方法
--openssl req -new -key MYER_PRA.key -out MYER_CA.csr
CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。 最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt 证书合并:
cat server.key server.crt > server.pem
--openssl x509 -req -days 3650 -in MYER_CA.csr -CA MYER_CA.crt -CAkey MYER_PRA.key -CAcreateserial -out MYER_PUBLIC_VEN.crt
--openssl x509 -in MYER_PUBLIC_VEN.crt -out MYER_PUBLIC_VEN.der -outform DER
------------------------------------------------------------------------------------补充几个常用的Openssl的命令:
生成采用des3算法保护的私钥,cmd:openssl genrsa -des3 -out private-rsa.key 2048
去除密码:openssl rsa -in private-rsa.key -out private-rsa.key
生成公钥,cmd:openssl req -new -x509 -key private-rsa.key -days 3650 -out public-rsa.cer
在生成公钥的过程中需要输入刚刚生成私钥时的密码,其他步骤都可直接回城忽略,不影响正常使用。
--test-alias 可以自命名
生成PKCS12 格式Keystore,cmd:openssl pkcs12 -export -name test-alias -in public-rsa.cer -inkey private-rsa.key -out user-rsa.pfx
分割线·································································································
分割线·································································································
分割线·································································································
分割线…考试前复习一下Linux系统,就使用配置halo的方式来复习吧:
官网:https://halo.run/
最后也是配置成功了说一下配置过程的一些小复习:
箭头地方的usermod是我没有见过的指令,查阅资料:
usermod
修改用户的信息,包括用户名、密码、家目录、uid等。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法 usermod [选项] [参数]
第二个地方:
可以看到这个~这个符号,之前自己一直没有用过,后来才知道这个 ~代表的意思是该用户的home目录1也就是根目录,然后讲解一下Linux系统的其余符号意义:
#井号 表示符号后面的是注解文字,不会被执行。
~ 帐户的 home 目录
; 分号 在命令与命令中间利用分号(;)来隔开
. 点号一个 .代表当前目录,两个 ..代表上层目录
‘’””单 双引号 将被视为单一字串
/ 斜线 在路径表示时,代表目录。
\ 倒斜线 在指令前,有取消 aliases的作用;放在特殊符号前,则该特殊符号的作用消失;放在指令的最末端,表示指令连接下一行。
| 管道 (pipeline)是 UNIX 系统,基础且重要的观念。连结上个指令的标准输出,做为下个指令的标准输入。
! 惊叹号(negate or reverse) 逻辑运算意义上的非(not)的意思
* 星号 在正则表达式中,*代表重复零个到无穷多个的前一个字符.在运算时,它则代表 "乘法"。
输出/输入重导向 > >> < << :> &> 2&> 2<>>& >&2
第三个:wget,自己之前也是没有接触过这个指令
0.安装wget
yum install wget
Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电脑磁盘,然后再用ftp工具上传到服务器。这样既浪费时间又浪费精力,那不没办法的事。而到了Linux VPS,它则可以直接下载到服务器而不用经过上传这一步。wget工具体积小但功能完善,它支持断点下载功能,同时支持FTP和HTTP下载方式,支持代理服务器和设置起来方便简单。下面我们以实例的形式说明怎么使用wget。
使用wget -c断点续传
**使用wget -c重新启动下载中断的文件: **
wget -c http:
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。
中途遇到的其他小知识点:关闭端口号(常用)
第一步:查看指定端口号
netstat -anp |grep 8007
第二步:杀死正在运行的进程
# 语法:kill -9 进程id
kill -9 4634
杀死进程(常用)
第一步:查看指定进程
# 查询指定进程语法:ps -ef|grep 进程名
ps -ef|grep tomcat
第二步:杀死进程
# 语法:kill -9 进程id
kill -9 1924
扩展
Linux常用端口操作
查看所有端口号
netstat -nultp
查看指定端口号情况
命令
# netstat -anp |grep 端口号
netstat -anp |grep 21
Linux常用进程操作
查询指定进程
查询指定进程语法:ps -ef|grep 进程名
ps -ef|grep tomcat
杀死进程
## 语法:kill -9 进程id
kill -9 1924
防火墙的开启与关闭:
下面是red hat/CentOs7关闭防火墙的命令!
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on
|