linux第四周作业

1、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。
(1)安装expect

(2)Expect脚本

(3)Shell脚本

2、生成10个随机数保存于数组中,并找出其最大值和最小值

3、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

4、总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来)

top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下:
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的

5、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

for实现测试:

while实现测试:

6、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

7、描述密钥交换的过程
(1)网站服务器先基于“非对称加密算法”,随机生成一个“密钥对”(为叙述方便,称之为“k1 和 k2”)。因为是随机生成的,目前为止,只有网站服务器才知道 k1 和 k2。
(2)网站把 k1 (私钥)保留在自己手中,把k2(公钥) 用(明文)的方式发送给访问者的浏览器。因为 k2 是明文发送的,自然有可能被偷窥。不过不要紧。即使偷窥者拿到 k2,也(很难)根据 k2 推算出 k1(这一点是由“非对称加密算法”从数学上保证的)。
(3)浏览器拿到 k2 之后,先(随机生成)第三个对称加密的密钥(简称 k)。然后用 k2 加密 k,得到 k'(pre-master key)(k' 是 k 的加密结果)浏览器把 k' 发送给网站服务器。由于 k1 和 k2 是成对的,所以只有 k1 才能解密 k2 的加密结果。因此这个过程中,即使被第三方偷窥,第三方也(无法)从 k' 解密得到 k
(4)网站服务器拿到 k' 之后,用 k1 进行解密,得到 k。至此,浏览器和网站服务器就完成了密钥交换,双方都知道 k,而且(貌似)第三方无法拿到 k,然后,双方就可以用 k 来进行数据双向传输的加密。

8、https的通信过程
(1) 客户端发送报文给服务器开始进行SSL通信。报文中包含客户端支持的SSL指定版本、客户端生成的随机数、加密组件(加密算法以及密钥长度)。
(2)服务器发送响应报文给客户端。和客户端一样,报文中包含SSL版本、服务器生成的随机数、加密组件(从接收到的客户端加密组件内筛选出来的)。
(3)服务器把公钥证书发送给客户端,自己保存着私钥。 服务器把自己的公钥登陆至数字证书认证机构,数字证书认证机构用自己的私钥向服务器的公钥署数字签名并颁发公钥证书。
(4)服务器发送报文告知客户端最初阶段的SSL握手协商部分结束。
(5)客户端用服务器的公钥对生成的随机数加密后发送给服务器。客户端拿到服务器的公钥证书后,使用数字证书认证机构的公钥向数字证书认证机构验证公钥证书的数字签名,以确认服务器的公钥的真实性,然后生成一个新的随机数,用公钥加密这个随机数发送给服务器。
(6)服务器用私钥解密后获得客户端发来的随机数。
(7)客户端和服务器根据约定的加密方法,使用前面三个随机数生成对话密钥,用来加密接下来的通信过程。

9、使用awk以冒号分隔获取/ettc/passwd文件第一列

posted @   学Linux的小新  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示