栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

http与https、UDP与tcp、linux服务器、ssh连接服务器

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

http与https、UDP与tcp、linux服务器、ssh连接服务器

1.HTTP与HTTPS的区别

1.HTTPS协议需要到CA申请证书,一般需要一定的费用,免费的证书较少。

2.HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL加密传输协议。

3.HTTP和HTTPS使用的是完全不同的连接方式,用得端口也不一样,前者是80,后者是443.

4.HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

2.udp与tcp的特点及区别 udp的特点

数据报最大长度64K(包含UDP首部),如果数据长度超过64K就需要在应用层手动分包,UDP无法保证包序,需要在应用层进行编号。

无连接:知道对端的IP和端口号就直接进行传输, 不需要建立连接。
不可靠:没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息。
面向数据报:不能够灵活的控制读写数据的次数和数量,应用层交给UDP多长的报文, UDP原样发送, 既不会拆分, 也不会合并。
数据收不够灵活,但是能够明确区分两个数据包,避免粘包问题。


tcp的特点

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP 为了保证数据包传输的可靠行,会给每个包一个序号,同时此序号也保证了发送到接收端主机能够按序接收。然后接收端主机对成功接收到的数据包发回一个相应的确认字符(ACK,Acknowledgement),如果发送端主机在合理的往返时延(RTT)内未收到确认字符ACK,那么对应的数据包就被认为丢失并将被重传。


tcp建立连接(3次握手)

 

当一个基于TCP传输层协议的连接被建立时,发送端和接收端总共发送3个包,称为建立连接时的3次握手。

当发送端发出SYN连接请求(SYN:同步序列编号Sychronize Sequence Numbers)后,等待接收端回复 SYN 和 ACK 信号,收到回复的确认信号后,发送端对对方的 SYN 再执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP 使用的流量控制协议是可变大小的滑动窗口协议。
第一次握手:客户端发送一个TCP的SYN标志位置1的包指明客户打算连接的服务器的端口,以及初始序号Seq=X,保存在包头的序列号(Sequence Number)字段里。进入 SYN_SEND 状态。
第二次握手:服务器发回确认包(SYN+ACK)应答,即SYN标志位和ACK标志位均为1。同时将确认序号ACK设置为客户端的Seq加1,即X+1,此时确认包由SYN(Seq=Y)和ACK((ACK=X+1)组成。进入 SYN_RECV 状态。
第三次握手:客户端收到SYN+ACK后,再次回应确认包ACK(SYN标志位为0,ACK标志位为1),并且把服务器发来Seq字段+1(即ACK = Y + 1)放在确认字段中发送给服务端。进入 Established 状态。
三次握手完成,TCP客户端和服务器端成功建立连接,可以开始传输数据了。


终止tcp连接(4次挥手)

 

TCP连接的终止需要发送四个包,因此称为四次挥手(four-way handshake),这是由于TCP的半关闭(half-close)造成的。在一个TCP连接下,客户端或服务器均可主动发起挥手动作。在socket编程中,任何一端调用close()方法即可产生挥手操作。

第一次挥手,某个应用进程首先调用 close(),称该端执行“主动关闭”(active close)。该主动端的 TCP 于是发送一个 FIN 分节,表示数据发送完毕。其序列号Seq=X(等于前面已经传过来的数据的最后一个字节的序号加1),此时被动端进入FIN-WAIT-1(终止等待1)状态。
第二次挥手,被动端收到主动端发来的连接终止报文,发回确认报文ACK=X+1,并且带上自己的序列号Seq=Z,此时,被动端就进入了CLOSE-WAIT(关闭等待)状态。#注:此时TCP服务器通知应用层的应用进程主动端向被动端的方向释放了,这时候处于半关闭状态,即主动端已经没有数据要发送了,但是被动端若再发送数据,主动端依然接收。这个半关闭状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
第三次挥手,主动端收到被动端发回的确认字段后,此时,主动端就进入FIN-WAIT-2(终止等待2)状态,等待被动端发送连接终止报文(在这之前主动端还需接受被动端发送的最后的数据)。待被动端将最后的数据发送完毕后,就向主动端发送连接终止报文,FIN=1,ACK=X,由于先前在半关闭状态时服务器很可能又发送了一些数据,因此假定此时的序列号为Seq=Y。此时,被动端就进入了LAST-ACK(最后确认)状态,等待主动端的确认。
第四次挥手,主动端收到被动端的连接终止报文后,必须发出确认,ACK=Y,而自己的序列号是Seq=X(此时主动端进入TIME-WAIT(时间等待)状态。注意此时TCP连接还没有终止,必须经过2∗MSL(最长报文段寿命)的时间后,才进入CLOSED状态)。而被动端只要收到了主动端发出的确认,立即进入CLOSED状态。可以看到,被动端结束TCP连接的时间要比主动端早一些。

3.如何将文件上传至linux 常用的方法有,scp命令、xshell软件里的xftp程序、U盘挂载、服务器自带的lrzsz程序

4.如何使用ssh连接服务器

1.生成秘钥对

在本机终端运行ssh-keygen命令, 即可生成一对默认的RSA密钥。管理员可以通过ssh-keygen -t命令自定义密钥类型,具体可以通过man ssh-keygen查看。这里我们用默认的RSA密钥即可。

然后自己输入保存的路径,推荐保存到home目录的.ssh文件夹下。

输入管理密码(不建议为空,并且需记住)。注意,这里的密码是防止别人用你的电脑SSH无密码登陆远程服务器,可以理解成开机密码,可防止别人乱动你的电脑。

2.把公钥内容复制到服务器的认证列表上

服务器认证列表是一个文件,可以理解为<存储用户SSH公钥的地方>,因为SSH是一个验证过程,所以服务器需要事先保存对方的公钥,这样管理员就可以指定哪些用户(准确说是密钥对)可以登录了。

在服务器的配置文件/etc/ssh/sshd_config中记录的着认证列表的目录。

首先, 我们可以先进入服务器(若没有设置SSH登陆只能用密码登陆),然后进入此路径查看。

首先,认证列表文件不一定存在,所以我们要先在远程服务器上执行创建命令, 并设置权限:

然后用nano编辑器打开:

如果没设置过SSH的公钥,里面内容是为空的。如果设置过SSH公钥,则空行添加公钥。

最后把实践步骤1中生成的公钥内容复制粘贴到里面。

运行后复制粘贴到远程服务器的认证列表中退出保存即可:

3.ssh远程连接服务器

  • 1表示ssh连接
  • 2表示连接服务器的用户名
  • 3表示远程主机的host IP(这里是本机)
  • 4表示远程主机端口(默认22,vagrant采用2222, 本文不讨论)
  • 5表示用户私钥

然后输入该密钥对的管理密码即可连接服务器,

4.设置只允许ssh登录,不允许密码登录

最终我们的目的是消除密码登陆这一留给黑客的安全隐患,而只采用用SSH登陆,故我们在服务器配置文件/etc/ssh/sshd_config里小小的设置一下即可。

把其中的PasswordAuthentication中的yes改成no就不可再用密码登陆了。

5.接口测试基础

1.接口

 2.接口类型

 3.接口测试

 4.接口测试原理

 5.接口测试特点

 6.接口测试实现方式

 

7.接口自动化

 6.网络协议

1.http协议

 2.URL

 3.请求与响应

 

 

 4.http响应

 

 

 

 5.restful风格规范

(1)定义

restful是一种软件架构风格、设计风格。而不是标准,只是提供一组设计原则和约束条件。

 (2)restful架构特点

 6.接口测试流程

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/296733.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号