【网络应用与安全】第一次作业

这篇具有很好参考价值的文章主要介绍了【网络应用与安全】第一次作业。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、熟悉实验室运行环境

1 - 登录

登录账号

登录个人账号,可以通过图形界面和命令两种方式。

  • 图形界面:当前用户 logout,切换用户,如果备选用户中没有自己的用户名,点击 not listed ,之后输入用户名和密码登录即可。
  • 命令:使用 su your_username 方式,回车输入密码即可切换。

修改密码

  • 操作步骤

输入kpasswd命令,之后输入old password,回车后输入两次相同的new password,即可改密成功。

  • 心得体会

Linux中修改密码的其他命令还有 passwd

Kpasswd和passwd的区别:

  1. kpasswd是Kerberos提供的口令,passwd是Linux系统口令。
  2. 使用passwd可以同时更改Linux口令和Kerberos口令(具体取决于 PAM 模块的配置方式),kpasswd只修改Kerberos口令。

2 - 熟悉Linux环境

Linux中提供给用户许多命令,大致可以分为以下几类,我整理了一份思维导图,如下。
【网络应用与安全】第一次作业,网络应用与安全,网络应用

此外,还可以去往菜鸟教程—Linux命令大全查看更多Linux命令!

3 - 远程登录

使用格式 ssh username@ip 可以以 username 远程登录到所在主机上。

如果使用 ssh 连接不上,那么可能的原因有很多,以下是我猜测发生了IP对应主机可能的原因:

  • 无网络(使用 ping 命令可以查看)
  • ssh 服务未在运行
  • ssh 端口(22)未开放

4 - 使用Git

Git是一款分布式版本控制工具,用于敏捷高效的管理项目,协同开发。下面我将介绍一下 Git 的简单使用流程。

.gitignore 文件用于定义哪些文件不需要交给 Git 管理,文件名是固定的,不可修改。

二、网络延迟

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。

  • <1> 发送时延

是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,发送时延 = 数据帧长度(b) / 信道带宽(b/s)

  • <2> 传播时延

是电磁波在信道中传播一定的距离需要花费的时间,传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)

  • <3> 处理时延

主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错或查找适当的路由等等。

  • <4> 排队时延

分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要现在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。

D p r o p = ( 1000 ∗ 8 ) / ( 1 ∗ 1024 ∗ 1024 ) ≈ 0.0076 s = 7.6 m s D_{prop} = (1000*8) /( 1*1024*1024) \approx 0.0076s = 7.6ms Dprop=(10008)/(110241024)0.0076s=7.6ms
D p r o c = 1 m s D_{proc} = 1ms Dproc=1ms
D q u e u e = 5 m s D_{queue} = 5ms Dqueue=5ms
D t r a n s = ( 2000 ∗ 1 0 3 ) / ( 2 ∗ 1 0 8 ) = 0.01 s = 10 m s D_{trans} = (2000*10^3)/(2*10^8) = 0.01s = 10ms Dtrans=(2000103)/(2108)=0.01s=10ms
D n o d a l = 2 ∗ ( D p r o p + D p r o c + D q u e u e + D t r a n s ) = 47.2 m s D_{nodal} = 2*(D_{prop}+D_{proc} +D_{queue}+D_{trans} )=47.2ms Dnodal=2(Dprop+Dproc+Dqueue+Dtrans)=47.2ms

三、网络应用

Web(C / S 模式):edge 浏览器、Chrome 浏览器
聊天软件:QQ、Wechat
视频软件:Tencent Video,iQiYi
游戏:Honor of Kings

四、HTTP

  1. Yes.Response Time: Tue, 07 Mar 2008 12:39:45.
  2. Last-Modified: Sat, 10 Dec2005 18:27:46
  3. Accept-Bytes: 3874B
  4. <!doc
  5. Yes.According to the keyword Connection:Keep-Alive.

五、Network Port

HTTP:80
HTTPS: 443
SSH: 22
TELNET: 23
FTP: 21
DNS: 53

六、TCP Protocol

GBN和SR的主要区别

区别 GBN SR
缓冲区 丢弃了接收端窗口内所有无序的数据包,所以不需要有一个缓冲区来存储接收端窗口内的无序数据包。 由于避免了重传许多不必要的数据包,所以接收端需要对无序的数据包进行缓冲。
实现的复杂性 GBN协议采用累积确认的方法。因为接收方是按顺序接收数据包的,所以任何错误到达的数据包都将被接收方丢弃。 SR协议避免了GBN协议以同时设置发送方窗口和接收方窗口大小相同为代价,重传到达接收方的正确数据包。
网络效率 当窗口大小和带宽的乘积延迟很大,一个数据包在错误可能导致GBN重新发送大量的数据包 许多正确的数据包的顺序在这个过程中不需要重传。

七、实验室系统

1 - LDAP

LDAP(Lightweight Directory Access Protocol 轻量级目录访问协议)是一种定义如何访问目录服务(directory service)的通信协议[5]。

客户端通过 TCP/IP 或其他面向连接的传输服务,连接到服务器并向其提问;服务器提供答案或客户端可以获取更多信息的位置(可以是另一个 LDAP 服务器)的指针。

2 - Kerberos

Kerberos 是由麻省理工(MIT)开发的一套基于加密票据(Ticket)的身份认证系统[6]。它主要由三个部分组成:KDC(Key Distribution Center,钥匙发布中心)、客户端和服务端,其中,KDC 又包括三个部分:数据库、验证服务器(AS:Authentication Server)和票据发放服务器(TGS:Ticket Granting Server)。

3 - Ansible

Ansible 是一款高效的机群管理工具[7]。它采用 ssh 的机制,不必在被控主机上安装任何特殊的软件,只需将控制主机设置好,便能远程对被控机群做统一配置和管理,使用简便,功能强大,易于扩展。

以我个人的理解,Ansible 与分发工具 rsync 有些像,可以实现在多台集群之间分发文件。

八、Linux运行环境和Nginx

1 - 安装Ubuntu22.04.3LTS版本

首先到Ubuntu官网点击我去往Ubuntu官网,下载该版本的 iso 映像文件。

【网络应用与安全】第一次作业,网络应用与安全,网络应用

之后,使用VMware创建使用该镜像的虚拟机。

【网络应用与安全】第一次作业,网络应用与安全,网络应用
安装成功后,需要注意的是设置root用户的初始密码,执行如下命令:

sudo passwd

输入当前用户的密码,之后再输入并确认新密码即可。

2 - 安装Nginx

【网络应用与安全】第一次作业,网络应用与安全,网络应用

Nginx 是是一个开源的,支持高性能、高并发的 Web 服务和代理服务软件。

在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。

nginx特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

下面介绍如何在Ubuntu22.0.4中安装NGINX。

  • 1.官网下载 nginx 并通过XFTP上传到Linux中

这是nginx官网,可以点击这里去下载nginx安装包:nginx官方下载地址,下载成功后得到这样一个压缩包。

【网络应用与安全】第一次作业,网络应用与安全,网络应用

通过xshell加XFTP上压缩包上传到 /opt/software 目录下:

【网络应用与安全】第一次作业,网络应用与安全,网络应用

  • 2.解压

执行解压命令,将nginx解压到 /opt/module 目录下,并将文件重命名为nginx:

tar -xzvf nginx-1.20.2.tar.gz -C /opt/module/
  • 3.安装需要的软件(gcc、openssl等)

因为编译nginx需要使用 gcc 编译器,所以我们需要安装 gcc 和一些其他相关软件,那么到底需要哪些软件?

首先我们进入到刚刚 nginx 解压的目录:

cd /home/jhguo/opt/module/nginx-1.20.2/

之后我们可以通过下面的命令来检测:

./configure

之后安装下面所需要的依赖:

sudo apt-get install gcc  -y
sudo apt-get install libpcre3-dev -y
sudo apt-get install zlib1g zlib1g-dev -y
sudo apt-get install openssl libssl-dev -y
  • 4.安装nginx

进入到nginx安装目录下,并执行编译和安装命令

cd /opt/module/nginx
./configure # Check needed module again.
make
make install

至此,我们的nginx就安装好了,注意,安装成功后,我们的nginx并不是在解压后的目录,而是默认在 /usr/local/nginx 目录下,接下来就是启动和停止nginx服务器。

3 - 访问nginx默认页面

进入到nginx目录:

cd /usr/local/nginx/

启动nginx:

sudo sbin/nginx

nginx默认端口是80,因此要将这个端口开放。

访问IP来查看 nginx 是否启动成功。
【网络应用与安全】第一次作业,网络应用与安全,网络应用
在 Windows 访问成功!

停止nginx:

sudo sbin/nginx -s stop

4 - 挂载个人主页

  • 1.上传dist目录

上传个人主页文件 index.html(已在写文章前编写),上传到Linux系统中的一个目录即可,这里我是放在了 /home/jhguo/opt/files/network_app_sec/hw/hw1 目录下:
【网络应用与安全】第一次作业,网络应用与安全,网络应用

  • 2.修改nginx的配置文件 nginx.conf

首先还是进入到nginx目录下的conf目录:

cd /usr/local/nginx/conf/

编辑nginx.conf文件,将dist目录路径放在root后面即可:

sudo vim nginx.conf

【网络应用与安全】第一次作业,网络应用与安全,网络应用
因为监听 1024 以下的端口需要 root 权限,因此我后面将80改为了8080.

启动nginx:

sudo /usr/local/nginx/sbin/nginx

现在,我们就可以通过 主机ip+nginx端口访问我们的个人主页了!

【网络应用与安全】第一次作业,网络应用与安全,网络应用文章来源地址https://www.toymoban.com/news/detail-732640.html

到了这里,关于【网络应用与安全】第一次作业的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • shell第一次作业

    1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查次磁盘剩余空间。 2、判断web服务是否运行    1、查看进程的方式判断该程序是否运行,    2、通过查看端口的方式判断该程序是否运行,如果没有运行,则启动该服务并配置防火墙规

    2024年02月09日
    浏览(46)
  • python 第一次作业

    因为笔者有一些 c/c++ 语言的基础,所以应该学 python 会稍微简单一些 输入的时候所有的输入都是字符串类型,我们需要进行类型转换 参见资源里面的第三题和第四题,为了方便起见,直接把代码贴在下面

    2024年03月25日
    浏览(55)
  • 第一次博客作业

    这学期才开始接触Java,之前只学了C语言,所以一开始写题目的代码的时候对Java的众多函数和语法不是太熟悉,一开始就上手写代码有点不适应。 ​  关于类: 1、类似C中的struct,构造函数、内置方法(函数 )都比较相似 2、尽量避免代码的重复,把private和public的方法搞清晰。

    2024年02月08日
    浏览(62)
  • java第一次作业(一)

    知识点: 考查java的输入格式以及for循环 java格式 注意Main与main 代码: 知识点: for循环 数组 /输入数组 /数组比大小 代码: 知识点: println与print区别:println是输完之后转行 重点: 多重for循环 代码: 知识点: 调用函数 booean函数 重点: Scanner输入 代码: 知识点: 最后又有

    2024年03月25日
    浏览(63)
  • java第一次作业(二)

     思路: 运用expression的字符串输出 重点: expression输出 代码: 知识点: expression输出 思路: 充分运用两个for循环,一个掌控行数,一个掌控输出的数字 代码: 知识点: 输入 数字所占空格 换行 思路: 这种复杂的配凑问题,不要去想枚举去解,充分利用for循环语句 像这题

    2024年04月11日
    浏览(76)
  • web集群第一次作业

     目录 一. 简述静态网页和动态网页的区别 二. 简述 Web1.0 和 Web2.0 的区别 三. 安装tomcat8,配置服务启动脚本,部署jpress应用。 1. 首先,两者的 页面资源特征 不同: 静态网页处理文件类型有.html、.jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等,而动态网页后缀常见为.asp、.aspx、.php、

    2024年02月04日
    浏览(38)
  • oop第一次博客作业

    前言 这学期刚刚接触面向对象程序设计,使用的是java语言。在此之前只接触过c语言。以我目前的学习进程来看二者的差别更多体现在面向对象的其中一个基本特性上,即封装性。在c语言中几乎所有内容都是公开的,java可以有效得规避这点。 学习的知识点 1.知道了类间关系

    2024年04月22日
    浏览(38)
  • 数据库第一次作业

    1.创建一个英雄表 create table t_hero (      id int primary key auto_increment,      name varchar(10) unique not null,      gender char(5) check (gender in (\\\'男\\\',\\\'女\\\')),      grade char(5) default \\\'5星\\\',      `groups` char(5) check (`groups` in (\\\'毁灭\\\',\\\'巡猎\\\',\\\'智识\\\',\\\'存护\\\',\\\'虚无\\\',\\\'丰饶\\\')),      tel char(11)   default \\\'

    2024年01月18日
    浏览(56)
  • Python第一次作业练习

     输入:101 -成绩不及格/输入错误(超过100)​ 输入:87 -成绩良好      

    2024年02月09日
    浏览(38)
  • 记第一次大作业:校园导航系统

    大二迎来了人生中的第一次大作业,因为上个学期转专业过来,学C的基础不扎实,凑巧这学期又初识了Java,可以算是我第一门系统学习的语言,本来是想用Java进行设计的,没想到我们的数据结构老师十分的坚持,一定要用C语言进行实现,那就没办法啦,就借着这个机会对

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包